Pular para o conteúdo principal

Desconto

A instrução de desconto serve para aplicar descontos com diversas possibilidades de regras de cálculo. Caso já existam descontos para o boleto em questão, e seja aceita uma instrução de desconto, os descontos existentes previamente serão sobrescritos.

Atenção!

Caso exista algum pedido de acréscimo de desconto pendente de confirmação, não é permitida a criação de um novo pedido.

Request

ENDPOINT
/account/ACCOUNT_KEY/requester_profile/REQUESTER_PROFILE_KEY/bank_slip/BANK_SLIP_KEY/discount
MÉTODO
POST

Path parameters

CampoTipoDescriçãoCaracteres
account_keyuuidv4Chave única de identificação da conta, no formato uuid v436
requester_profile_keyuuidv4Chave única de identificação da carteira, no formato uuid v436
bank_slip_keyuuidv4Chave única de identificação do boleto, no formato uuid v436
Request Body
{
"request_control_key": "2e2f0053-a988-40c7-ad17-41c4c4da861e",
"discounts_data": [
{
"discount_type": "anticipation_workdays_daily_percentage",
"discount_percentage": 2,
"discount_number": 1,
"discount_limit_date": "2024-12-01"
},
{
"discount_type": "anticipation_workdays_daily_percentage",
"discount_percentage": 1,
"discount_number": 2,
"discount_limit_date": "2025-01-02"
}
]
}

Request Body Params

CampoTipoDescriçãoCaracteres
request_control_key *uuidv4Chave única de identificação da request utilizada pelo cliente no formato uuid v436
discounts_dataobject arrayDescontosObjeto discount

Objeto discount

Opção 1: descontos utilizando valores absolutos (discount_type in ["absolute", "anticipation_calendar_days_daily_amount", "anticipation_workdays_daily_amount"])
CampoTipoDescriçãoCaracteres
discount_amount *floatValor absoluto de desconto por unidade de tempo-
discount_number *integerNúmero do desconto-
discount_type *stringConfiguração do desconto em valores absolutosEnumerador discount_type
discount_limit_date *stringData limite para aplicação do desconto10
Opção 2: descontos utilizando valores percentuais (discount_type in ["percentage", "anticipation_calendar_days_daily_percentage", "anticipation_workdays_daily_percentage"])
CampoTipoDescriçãoCaracteres
discount_percentage *floatValor percentual de desconto por unidade de tempo-
discount_number *integerNúmero do desconto-
discount_type *stringConfiguração do desconto em valores percentuaisEnumerador discount_type
discount_limit_date *stringData limite para aplicação do desconto10
Atenção!

O boleto pode ter até três descontos, sendo que os descontos devem ser todos do mesmo tipo, isto é, devem ter o mesmo discount_type. Os descontos devem ser numerados de 1 a 3, de maneira crescente e começando necessariamente em 1. Ou seja, caso sejam enviados dois descontos na requisição, devem necessariamente ser numerados com 1 e 2.

Enumeradores discount_type

EnumeradorDescrição
absoluteValor fixo
anticipation_calendar_days_daily_amountValor diário de desconto de antecipação, sobre dias corridos
anticipation_workdays_daily_amountValor diário de desconto de antecipação, sobre dias úteis
percentagePorcentagem fixa
anticipation_calendar_days_daily_percentagePorcentagem mensal de desconto de antecipação, com base em dias corridos
anticipation_workdays_daily_percentagePorcentagem anual de desconto de antecipação, com base em dias úteis

Response

STATUS
202
Response Body
{
"occurrence_key": "aaf64135-6bd8-4d49-be6f-e8f884b20ee7",
"bank_slip_key": "470cfcae-159b-4de4-ad22-2d3b2dd717f7"
}

Response Body Params

CampoTipoDescriçãoCaracteres
occurrence_key *uuidv4Chave única de identificação da ocorrência (instrução) no formato uuid v436
bank_slip_key *uuidv4Chave única de identificação do boleto no formato uuid v436

Error Response

STATUS
4xx
Response Body: Error
{
"title": "titulo",
"description": "description in English",
"translation": "descrição em portugues",
"code": "codigo",
"extra_fields": {}
}
Código HTTP
status
Código QI
code
Título
title
Descrição (eng)
description
Descrição (pt-br)
translation
400QIT000001Bad RequestSchema ErrorSchema Inválido
404BKS000006Not FoundThe source account key was not found.A chave da conta de origem não foi encontrada.
400BKS000007Bad RequestIt was not possible to consult the source account at this time. Please try again in a few minutes.Não foi possível consultar a conta de origem neste momento. Por favor, tente novamente em alguns minutos.
400BKS000008Bad RequestThe source account is closed.A conta de origem está fechada.
400BKS000009Bad RequestThe source account is blocked.A conta de origem está bloqueada.
404BKS000013Not FoundRequester profile not foundCarteira não encontrada
409BKS000014ConflictRequest control key already sent or duplicated sent: <request_control_key>Chave de controle da requisição já utilizada ou enviada duplicada: <request_control_key>
400BKS000018Bad RequestThe discount dates must be less than the expiration date and increasing.A data dos descontos devem ser menores que a de expiração e crescentes.
400BKS000022Bad RequestRequester profile is not opened.Carteira não está aberta.
404BKS000029Not FoundBank slip not found for the given key ({bank_slip_key}).Boleto não encontrado para a chave fornecida ({bank_slip_key}).
400BKS000032Bad RequestBank slip must be in 'registered' status.O boleto deve possuir o status 'registered'.
400BKS000043Bad RequestInvalid discount numbering. Discounts must be numbered in ascending order and start on 1.Numeração dos descontos inválida. Os descontos devem ser numerados em ordem crescente e começar em 1.
400BKS000046Bad RequestInvalid discount type. All types in the discount list must be the same.Tipo de desconto inválido. Todos os tipos da lista de descontos devem ser iguais.
409BKS000048ConflictThere is already a pending discount occurrence for this bank slip. Please, wait for the confirmation of this occurrence before sending another one.Já existe uma ocorrência de desconto pendente para este boleto. Por favor, aguarde a confirmação dessa ocorrência antes de enviar outra.