Cancelamento de um pedido de reivindicação

stable

O endpoint de cancelamento de pedido de reivindicação pode ser utilizado tanto pelo doador quanto pelo reivindicador da chave quando houver intenção de cancelar um pedido de reivindicação de posse ou de portabilidade.

Pré-requisito

Para que seja possível utilizar este endpoint, é necessário que:

  • O pedido de reivindicação apresente o status WAITING_RESOLUTION;
  • O parceiro possua o hash gerado na criação do código TOTP (em caso de cancelamento de pedido reivindicação de chaves do tipo e-mail e telefone por parte do doador).

Requisição

Requisição HTTP

PATCH https://api-mtls.sandbox.bankly.com.br/pix/claims/{CLAIMID}/cancel
--curl--request PATCH \ 
--url 'https://api-mtls.sandbox.bankly.com.br/pix/claims/{{CLAIMID}}/cancel' \ 
--header 'api-version: 1.0' \ 
--header 'x-bkly-pix-user-id: {{DOCUMENT_NUMBER}}' \ 
--header 'Content-Type: application/json' \ 
--header ' x-bkly-transactional-hash: {{hash}}' \ 
--header 'Accept: application/json' \ 
--header 'Authorization: Bearer {{token}} ' \ 
--data-raw '{ 
  "reason": "DONOR_REQUEST" 
}'

Autorização

Para garantir a segurança nas requisições, todos os endpoints do Bankly utilizam scopes como parte do seu fluxo de autorização.
Esta requisição requer o scope descrito a seguir:

ScopeDescrição
pix.claims.cancelConcede acesso para cancelar um pedido de reivindicação.

Cabeçalhos (Headers)

NomeDescrição
api-versionObrigatório. Versão da API. Atualmente estamos na versão 1.0.
AuthorizationObrigatório. Token de autorização do tipo Bearer.
x-bkly-pix-user-idObrigatório. Número do documento do cliente que está fazendo a requisição. Insira apenas números, sem formatação.
x-bkly-transactional-hashO envio desse campo no header da requisição é obrigatório apenas para reivindicação de chaves do tipo e-mail e telefone. Ele deve ser preenchido com o hash gerado na criação do código TOTP.

Parâmetros da rota (Path)

No path desta requisição envie o seguinte campo:

NomeTipoDescrição
claimIdpathObrigatório. Identificador único do pedido. Esse valor é retornado na criação de pedido de reivindicação, no evento PIX_CLAIM_WAS_CONFIRMED e na consulta dos pedidos de reivindicação.

Corpo da requisição (Body)

No body, envie o seguinte campo em formato JSON:

NomeTipoDescrição
reasonstringObrigatório. Motivo do cancelamento do pedido. Esse campo deve ser preenchido com "DONOR_REQUEST" (solicitação do doador) ou "CLAIMER_REQUEST" (solicitação do reivindicador) para cancelar um pedido de reivindicação de portabilidade. Para pedidos de cancelamento de reivindicação de posse, esse campo deve ser preenchido com "FRAUD".
{ 
  "reason": "DONOR_REQUEST" 
}

Resposta (Response)

O status code 200 indicará que o pedido foi cancelado com sucesso.
Sendo bem-sucedido, o retorno irá trazer os seguintes campos em formato JSON:

NomeTipoDescrição
claimIdstringIdentificação única de pedido de portabilidade ou posse. Esse valor deverá ser utilizado todas as vezes que você realizar uma operação referente a essa reivindicação, como consulta, cancelamento etc.
typestringTipo de reivindicação, que pode ser PORTABILITY (portabilidade) ou OWNERSHIP (posse).
addressingKeyobjectObjeto que contém os dados da chave de endereçamento.
addressingKey.typestringTipo de chave, o qual pode ser: CPF, CNPJ, PHONE e EMAIL.
addressingKey.valuestringValor da chave.
claimerobjectObjeto que contém os dados do banco e da conta do reivindicador.
claimer.branchstringNúmero da agência bancária.
claimer.numberstringNúmero da conta.
claimer.bankobjectObjeto que contém os dados do banco do reivindicador.
claimer.bank.ispbstringISPB (Identificador de Sistema de Pagamentos Brasileiro) do banco.
donorobjectObjeto que contém os dados do banco e da conta do doador.
donor.branchstringNúmero da agência bancária.
donor.numberstringNúmero da conta.
donor.bankobjectObjeto que contém os dados do banco do doador.
donor.bank.ispbstringISPB (Identificador de Sistema de Pagamentos Brasileiro) do banco.
statusstringSituação do pedido de reivindicação. Consulte a tabela dos possíveis status do pedido de portabilidade ou posse no final da página.
previousStatusstringStatus que o pedido de reinvindicação apresentava em etapa anterior.
cancelReasonstringMotivo do cancelamento do pedido de reinvindicação.
canceleddBystringAutor do cancelamento do pedido de reinvindicação, que pode ser: DONOR (doador), CLAIMER (reivindicador) ou SYSTEM (apenas em caso de portabilidade, quando o pedido completa sete dias com o status WAITING_RESOLUTION, o sistema realiza o cancelamento).
createdAtstringData de criação do pedido de reivindicação, no formato aaaa-mm-ddTHH:mm:ss.sssZ.
updatedAtstringData de atualização do pedido de reivindicação, no formato aaaa-mm-ddTHH:mm:ss.sssZ.
resolutionLimitDatestringData limite para o doador de portabilidade realizar ações, como concluir ou cancelar o pedido de reivindicação, no formato aaaa-mm-ddTHH:mm:ss.sssZ.
conclusionLimitDatestringData limite para o doador de posse e o reivindicador (tanto de posse como de portabilidade) confirmarem ou cancelarem o pedido, no formato aaaa-mm-ddTHH:mm:ss.sssZ.
canceledAtstringData de cancelamento do pedido de reivindicação, no formato aaaa-mm-ddTHH:mm:ss.sssZ.
{
    "claimId": "10f810aa-0ff2-4d5a-9eb9-96e539dab7dc",
    "type": "OWNERSHIP",
    "addressingKey": {
        "type": "EMAIL",
        "value": "[email protected]"
    },
    "claimer": {
        "branch": "0001",
        "number": "15164",
        "bank": {
            "ispb": "13140088"
        }
    },
    "donor": {
        "branch": "0001",
        "number": "540108",
        "bank": {
            "ispb": "13140088"
        }
    },
    "status": "CANCELED",
    "previousStatus": "WAITING_RESOLUTION",
    "cancelReason": "FRAUD",
    "canceledBy": "DONOR",
    "createdAt": "2023-01-27T17:47:45.261+00:00",
    "updatedAt": "2023-01-27T17:53:30.4030599Z",
    "resolutionLimitDate": "2023-02-03T17:47:45.261+00:00",
    "conclusionLimitDate": "2023-02-10T17:47:45.261+00:00",
    "canceledAt": "2023-01-27T17:53:30.4030598Z"
}

Possíveis status

StatusDescrição
OPENSolicitação aberta pelo reivindicador, mas ainda não recebida pelo doador.
WAITING_RESOLUTIONA reivindicação já foi recebida pelo doador e está aguardando a resolução.
CONFIRMEDO doador confirmou o pedido de reivindicação e vai ceder a chave para a outra instituição. Isso implica a remoção da chave do DICT e da base interna do PSP doador. Está aguardando o reivindicador encerrar o processo.
WAITING_VALIDATIONApós a confirmação, indica-se que o ConclusionLimitDate foi atingido. A partir deste momento, a reivindicação passa a ter o status de WAITING_VALIDATION, permitindo ao reivindicador realizar a validação de posse (TOTP) e concluir a reivindicação. Isso é aplicável apenas para reivindicações de posse (OWNERSHIP).
CANCELEDO doador ou reivindicador cancelou a reivindicação, mantendo o vínculo inalterado (conforme estava antes da reivindicação), tanto no DICT quanto na base interna do PSP.
COMPLETEDO pedido de portabilidade ou posse foi completado com sucesso e que chave foi transferida para o Bankly.

Motivo do cancelamento do pedido de reinvindicação

MotivoDescrição
CLAIMER_REQUESTCancelado pelo reivindicador.
DONOR_REQUESTCancelado pelo doador (somente portabilidade).
ACCOUNT_CLOSUREEsse tipo de cancelamento ocorre caso uma conta seja encerrada e esta possua chaves com pedido de portabilidade em aberto.
FRAUDCancelado pelo doador (somente para posse).
DEFAULT_OPERATIONCancelado pelo sistema. Esse tipo de cancelamento ocorre quando o pedido completa sete dias com o status WAITING_RESOLUTION (somente para portabilidade).

👍

Dica

Para simular uma requisição nesse endpoint, acesse o API Reference.

Erros

Este endpoint pode retornar erros específicos, conforme a tabela a seguir:

Status codeCódigoMensagemDescrição
400USER_ID_REQUIREDEnsure that the x-bkly-pix-user-id header was provided.Certifique-se de que o header x-bkly-pix-user-id foi informado.
404CLAIM_NOT_FOUNDClaim not found.Pedido de reinvindicação não encontrado.
422INVALID_TRANSACTIONAL_HASHEnsure that the x-bkly-transactional-hash header was provided.Certifique-se de que o header x-bkly-transactional-hash foi informado.
422CLAIM_RESOLUTION_PERIOD_NOT_ENDEDFor claim periods, PSP donor cannot confirm prior to the end of the resolution period. For portability, the PSP donor cannot cancel by the end of the term before the end of the resolution period.Após o período informado no campo resolutionLimitDate, não é possível solicitar o cancelamento do pedido de reivindicação.
422CLAIM_COMPLETION_PERIOD_NOT_ENDEDFor ownership claim, if the PSP claimant attempts to terminate before the termination period ends.Para reivindicação de posse, caso o reclamante do PSP tente encerrar antes do término do período de rescisão.
422CLAIM_STATUS_DOES_NOT_ALLOW_CANCELATIONCurrent claim status does not allow cancelation.O status atual da reivindicação não permite o cancelamento.
422INVALID_CLAIM_CANCEL_REASONClaim cancel reason is invalid.O motivo do cancelamento da reivindicação é inválido.
422CLAIM_ALREADY_CANCELEDClaim already canceled.Pedido de reivindicação já cancelado.
422INVALID_STATUS_TO_CANCEL_PORTABILITY_CLAIMPortability cannot be canceled when status is different than WAITING_RESOLUTION or CONFIRMEDO pedido de reivindicação de portabilidade não pode ser cancelado se o status for diferente de WAITING_RESOLUTION ou CONFIRMED
422INVALID_STATUS_TO_CANCEL_OWNERSHIP_CLAIMOwnership claim cannot be canceled when status is different than WAITING_RESOLUTION, CONFIRMED or WAITING_VALIDATIONO pedido de reivindicação de posse não pode ser cancelado se o status for diferente de WAITING_RESOLUTION, CONFIRMED ou WAITING_VALIDATION.
422CANCELATION_REASON_NOT_INFORMEDCancelation reason not informed.Motivo do cancelamento não informado.
422CANCELATION_REASON_INVALID_TO_PORTABILITY_CLAIMCancelation reason is invalid to portability claim.O motivo do cancelamento é inválido para a reivindicação de portabilidade.
422PORTABILITY_CLAIM_STATUS_DOES_NOT_ALLOW_CANCELATIONCurrent portability claim status does not allow cancelation.O status atual do pedido de reivindicação de portabilidade não permite o cancelamento.
422OWNERSHIP_CLAIM_STATUS_DOES_NOT_ALLOW_CANCELATIONCurrent ownership claim status does not allow cancelation.O status atual da reivindicação de posse não permite o cancelamento.
422CANCELATION_REASON_INVALID_TO_OWNERSHIP_CLAIMCancelation reason is invalid to ownership claim.O motivo do cancelamento é inválido para reivindicação de posse.
422PORTABILITY_CLAIM_RESOLUTION_DATE_NOT_ENDEDPortability claim resolution date not ended to use cancel reason DEFAULT_OPERATION.A data de resolução da reivindicação de portabilidade não terminou para que se possa usar o motivo de cancelamento DEFAULT_OPERATION.
422CLAIM_CAN_ONLY_BE_CANCELED_BY_CLAIMER_OR_DONORPortability claim and ownership claim can only be canceled by claimer or donor.O pedido de reivindicação de portabilidade e o pedido de reivindicação de posse só podem ser cancelados pelo doador.
422REQUEST_NOT_ALLOWED_OUT_OF_BUSINESS_PERIODRequest not allowed out of business period.Serviço indisponível ou em manutenção.

Recordamos que esta API também poderá retornar erros comuns entre todos os endpoints. Portanto, recomendamos a consulta da documentação de erros, onde é possível encontrar as mensagens comuns em inglês que acompanham os erros 400 (se houver).

Eventos

Caso o parceiro deseje receber mensagens referentes aos eventos relacionados a esse endpoint, é preciso configurar o webhook. Os eventos são:

Nome do eventoDescrição
PIX_CLAIM_WAS_CANCELEDO processo de reivindicação foi cancelado.