Current section
Files
Jump to
Current section
Files
lib/qitech/api/debt.ex
defmodule QITech.API.Debt do
@moduledoc """
Provides debt API interfaces.
You can:
- Create a debt
- Retrieve a debt or a list of debts
- Cancel a debt
[QI Tech API reference](https://qitech.com.br/documentacao?file=447)
"""
alias QITech.API.Base
@debt_path "/debt"
@debt_simulation_path "/debt_simulation"
@signed_debt_path "/signed_debt"
@doc """
Retrieve a debt or a list of debts
## Examples
iex> QITech.API.Debt.get()
iex> QITech.API.Debt.get(
[status: "opened", issuer_document_number: "31658725833", issuer_name: "Name Example", profile_document_number: "31658725833", page: 1, page_size: 100]
)
"""
def get(query_params \\ []) do
@debt_path |> Base.encode_url_query_params(query_params) |> Base.get()
end
@doc """
Create a debt.
## Examples
iex> QITech.API.Debt.create(%{})
"""
def create(body) do
Base.post(@debt_path, body)
end
@doc """
Create a signed debt.
## Examples
iex> QITech.API.Debt.create(%{})
"""
def create_signed(body) do
Base.post(@signed_debt_path, body)
end
@doc """
Retrieve a signed debt or a list of signed debts.
## Examples
iex> QITech.API.Debt.get_signed()
iex> QITech.API.Debt.get_signed(
[status: "opened", issuer_document_number: "31658725833", issuer_name: "Name Example", profile_document_number: "31658725833", page: 1, page_size: 100]
)
"""
def get_signed(query_params \\ []) do
@signed_debt_path |> Base.encode_url_query_params(query_params) |> Base.get()
end
@doc """
Simulation a debt.
## Examples
iex> QITech.API.Debt.simulation(%{})
"""
def simulation(body) do
Base.post(@debt_simulation_path, body)
end
@doc """
Cancel a debt.
## Examples
iex> QITech.API.Debt.cancel("8c3c7f72-cd87-4067-9b40-4b3483014d0f")
"""
def cancel(operation_key, body \\ %{}) do
Base.patch("#{@debt_path}/#{operation_key}/cancel", body)
end
end