Emissão de segunda via

stable pré pós

Este endpoint permite que o parceiro Bankly ofereça a seus clientes a possibilidade de emitir uma segunda via do cartão físico ou virtual (caso este seja atrelado a um físico) com as mesmas características da primeira via.

Por meio deste endpoint, também é possível realizar a emissão de uma nova via para um cartão que já se encontra cancelado.

Cancelamento

O cancelamento da primeira via (ou via anterior) poderá ser realizado de forma imediata ou tardia. Quando ocorre de forma tardia, o cancelamento se dá no momento da ativação da nova via.

👍

Dica

Para mais informações sobre o cancelamento imediato ou tardio, consulte a tabela Motivos de solicitação de segunda via do cartão.


Requisição (Request)

Requisição HTTP

POST https://api-mtls.sandbox.bankly.com.br/cards/{proxy}/duplicate
--request POST \ 
--url 'https://api-mtls.sandbox.bankly.com.br/cards/{proxy}/duplicate' \ 
--header 'Authorization: Bearer {{Token}}' \ 
--header 'accept: application/json' \ 
--header 'api-version: 1.0' \ 
--header 'content-type: application/json' 
--data '{
      "status": "CardWasStolen",
      "cancellationMode": "Default",
      "documentNumber": "47742663023",  
      "password": "1234",  
      "resetPassword": true,
      "description": "Lorem ipsum",     
      "address": {  
            "zipCode": "68060100",  
            "address": "Rua 6 de Março",  
            "number": "2500",  
            "neighborhood": "Alter do Chão",  
            "complement": "",  
            "city": "Santarém",  
            "state": "PA",  
            "country": "BR"  
      },
      "metadata":{
            "updatedAt": "2022-12-30T01:11:07.4019873Z",
            "versao": "1.0"
      }
}'

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
card.createConcede acesso para emitir um novo cartã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.

Parâmetros da rota (Path)

No path desta requisição, envie os seguintes campos:

NomeTipoDescriçãoEspecificação
proxypathObrigatório. Código identificador do cartão.Insira somente números, sem caracteres especiais.

Corpo da requisição (Body)

No body, envie os seguintes campos em formato JSON:

NomeTipoDescriçãoEspecificação
statusstringObrigatório. Motivo da solicitação de segunda via.
cancellationModestringCampo que indica o momento do cancelamento da primeira via. Importante: caso o campo não seja enviado, será considerado o valor "Default".
documentNumberstringObrigatório. Número do documento do cliente (CPF ou CNPJ).Informe somente números.
passwordstringObrigatório. Senha do cartão atual (primeira via) para realizar transações. Importante: este campo pode ser opcional caso o parâmetro que remove essa obrigatoriedade esteja habilitado no programa.
resetPasswordbooleanIndica se o sistema deve gerar uma nova senha aleatória para o cartão durante a solicitação de segunda via (true) ou se deve manter a senha atual (false). Importante: caso este campo não seja preenchido, será adotado o valor padrão false.
descriptionstringObrigatório. Detalhes do cancelamento com qualquer informação considerada como relevante.
metadataobjectObjeto que deverá conter informações adicionais pertinentes ao contexto, representadas por meio de pares de chave e valor.

📘

Nota

Para que o parceiro possa utilizar o campo resetPassword, é necessário que seja feita uma avaliação pelo time de segurança do Bankly e que o usuário tenha acesso à senha, seja pelo kit enviado, seja pelo endpoint de consulta de senhas.

Caso o cliente não possua um endereço cadastrado, preencha:

NomeTipoDescriçãoEspecificação
addressobjectObjeto que deverá conter informações sobre o endereço do titular do cartão ao qual deve ser realizado a entrega.
address.zipCodestringObrigatório. Código postal do endereço.Informe somente números. O CEP deve ser nacional e conter oito dígitos.
address.addressstringObrigatório. Logradouro (nome da rua, avenida etc.).Máximo de 256 caracteres.
address.numberstringObrigatório. Número do imóvel.
address.neighborhoodstringObrigatório. Nome do bairro.Máximo de 256 caracteres.
address.complementstringComplemento do endereço.
address.citystringObrigatório. Nome da cidade.Máximo de 256 caracteres. Devem-se evitar acentos e outros caracteres especiais.
address.statestringObrigatório. Nome do estado.Formato ISO 3166-2:BR.
address.countrystringObrigatório. Nome do país.Formato ISO 3166-2:BR.

Entretanto, caso o cliente já possua um endereço cadastrado, o preenchimento do campo address é opcional.

❗️

Atenção

Para evitar problemas na entrega devido à desatualização do endereço cadastrado, recomendamos que o campo address seja preenchido mesmo que o cliente já tenha informado um endereço previamente.

{
      "status": "CardWasStolen",
      "cancellationMode": "Default",
      "documentNumber": "47742663023",  
      "password": "1234",  
      "resetPassword": true,
      "description": "Lorem ipsum",     
      "address": {  
            "zipCode": "68060100",  
            "address": "Rua 6 de Março",  
            "number": "2500",  
            "neighborhood": "Alter do Chão",  
            "complement": "",  
            "city": "Santarém",  
            "state": "PA",  
            "country": "BR"  
      },
      "metadata":{
            "updatedAt": "2022-12-30T01:11:07.4019873Z",
            "versao": "1.0"
      }
}

Motivos de solicitação de segunda via do cartão (status)

Após realizar a requisição, o status do cartão antigo será atualizado de acordo com o motivo informado no campo status descrito acima. Os valores correspondentes podem ser visualizados na tabela abaixo:

MotivoDescriçãoStatus que o cartão antigo passará a tercancellationMode padrãocancellationMode possível
"LostMyCard"Perda de cartão.LostOrTheftCanceledImmediatelyDefault ou Immediately
"CardWasStolen"Cartão roubado.LostOrTheftCanceledImmediatelyDefault ou Immediately
"CardWasDamaged"Cartão danificado.CardDamagedCanceledLaterDefault, Later ou Immediately
"CardNotDelivered"Cartão não entregue.StrayedCanceledImmediatelyDefault ou Immediately
"UnrecognizedOnlinePurchase"Cartão não solicitado.UseFraudCanceledImmediatelyDefault ou Immediately
CustomerOrderSolicitação do cliente.CanceledByCustomerLaterDefault, Later ou Immediately
CardWasBrokenCartão quebrado.CardBrokenCanceledLaterDefault, Later ou Immediately
CardHasDefectCartão com defeito.CardWithDefectCanceledLaterDefault, Later ou Immediately
CardWasRobbedCartão roubado.RobbedCanceledImmediatelyDefault ou Immediately

Momento do cancelamento da primeira via (cancellationMode)

MomentoDescrição
DefaultCaso esse valor seja informado, o motivo da solicitação de segunda via (status) será considerado para determinar automaticamente se o momento do cancelamento da via anterior será imediato (“Immediately”) ou posterior (“Later”), de acordo com o indicado na tabela Motivos de solicitação de segunda via.
ImmediatelyIndica que o cancelamento da primeira via deve ocorrer imediatamente após a emissão da nova/segunda via.
LaterValor que indica o cancelamento tardio do cartão. Ou seja, a via anterior será cancelada somente no momento da ativação da nova/segunda via. Consulte a tabela Motivos de solicitação de segunda via do cartão para conhecer os motivos que permitem que um cartão possa ser cancelado tardiamente.
CanceledAlreadyIndica a solicitação de uma nova via para um cartão que já havia sido cancelado.

🚧

Importante

Não é possível enviar os valores “Immediately” e/ou “Later” no campo cancellationMode em caso de emissão de nova via para um cartão que já havia sido cancelado. Nesses casos, deve-se informar “CanceledAlready” ou “Default” (que irá considerar o valor “CanceledAlready” automaticamente).

Resposta (Response)

Os status code 202 indica que a solicitação foi aceita e o cartão está sendo criado.

Sendo bem-sucedido, o retorno irá trazer os seguintes campos em formato JSON:

NomeTipoDescriçãoNúmero máximo de caracteres
proxystringCódigo identificador do cartão.31
activateCodestringCódigo atrelado ao cartão no momento de sua emissão.
{ 
  "proxy": "2370021007715002820", 
  "activateCode": "A0DDDC0951D1" 
} 

👍

Dica

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

Erros

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

Status CodeCódigoMensagemDescrição
400110Program does not have the informed payment dayO dia de pagamento informado é diferente dos possíveis dias de pagamento cadastrados no programa.
400WRONG_PASSWORD_ATTEMPT_LOCKEDWrong Password Attempt LockedTentativa de senha errada bloqueada.
400DUPLICATE_CARD_AWAIT_BUILDINGDuplicate Card Await BuildingA segunda via do cartão está em construção.
400GET_BANKLYTOKEN_ERRORError while getting Bankly's tokenErro ao obter o token do Bankly.
401No authorization to make the requestSem autorização para realizar a solicitação.
406008Card does not belong to this customer!O cartão informado não pertence a este documento.
406011Invalid password!Senha inválida.
406013Delivery address must be informed when requesting the physical cardO cartão físico necessita de um endereço para entrega.
406101Program disable!O programa informado na criação do cartão está desabilitado.
406102Program undefined!O programa não existe para esta companyKey .
406202Account does not belong to the customer!O número de documento (documentNumber) informado na requisição está incorreto.
406203The account is inactive!Conta inativa.
406DUPLICATE_CARD_NAMECard already exists for the given nameJá existe um cartão com o mesmo nome cadastrado. Não é possível ter dois cartões físicos ativos com o mesmo nome para o mesmo CPF.
409012It is not possible to create new cards as it has reached the limit configured for this programO limite configurável no programa para emissões de cartões por documento foi atingido.
409ANALYSIS_CREDIT_NOTFOUNDCredit analysis not found for document and program informedAnálise de crédito não encontrada para o documento e o programa informado.
409025No duplicate for card under constructionNão é possível gerar uma segunda via de um cartão em construção.
409LATE_CANCEL_ERRORIt is not possible to continue with late card cancellation for a card that were never activatedNão é possível realizar o cancelamento tardio de um cartão que nunca foi ativado.
409LATE_CANCEL_ERRORIt is not possible to continue with late card cancellation for this reason!Não é possível realizar o cancelamento tardio, pois o motivo de emissão de segunda via (status) informado exige um cancelamento (cancellationMode) do tipo imediato (Immediately).
409ALREADY_DUPLICATED_ERRORIt is not possible to continue with the card cancellation because a second copy has already been requested!A emissão de uma nova via deve ser realizada sempre pelo cartão mais recente, mesmo que ainda exista uma outra via ativa.
409CANCELLATION_ERRORIt is not possible to continue with card cancellation for a card that is already cancelled.Esse erro ocorre caso o cartão já esteja cancelado e sejam informados os valores “Later” ou “Immediately” no campo cancellationMode.
503302Client is unavailableO cliente não está disponível.

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
CARD_WAS_ISSUEDO cartão foi emitido.

Copyright © 2021 Acesso Soluções de Pagamento S.A - Todos os direitos reservados