[BV] Emissão de cartão com dados criptografados
beta
Veja a seguir como emitir cada tipo de cartão por meio de dados criptografados.
Cartão físico
Este endpoint possibilita que o cliente do parceiro Bankly emita um cartão físico por meio de comunicação criptografada.
NotaPara aumentar o nível de segurança da informação, o uso desse serviço é exclusivo para clientes homologados com o time de segurança do Bankly.
Pré-requisito
Para que seja possível utilizar este endpoint, é necessário que:
- O parceiro defina um programa para seus cartões;
- Durante o desenvolvimento do projeto, o parceiro solicite autorização ao time de segurança do Bankly para realizar o processo de homologação técnica;
- Após homologação e alinhamento prévio com o time de cartões e segurança do Bankly, o parceiro Bankly adquira o certificado de criptografia;
- O cliente do parceiro possua uma conta ativa.
Requisição
Requisição HTTP
POST 'https://api-mtls.sandbox.bankly.com.br/cards-pci/physical' \--request POST \
--url 'https://api-mtls.sandbox.bankly.com.br/cards-pci/physical' \
--header 'Authorization: Bearer {{Token}}' \
--header 'accept: application/json' \
--header 'api-version: 1' \
--header 'x-bkly-license: f64197e4-80b3-4820-bfae-1419049b15b5'\
--header 'content-type: application/json' \
--data '{
"Name": "Nísia Floresta",
"alias": "Cartão principal",
"password": "pxrmwJ9FixeygLUSsGRxXbeHEabeHdzdhOwdQ0nEdNhyrnRfj7Vo7...",
"program": {
"id": 95
},
"holder": {
"document": {
"value": "76447798095",
"type": "CPF"
},
"account": {
"branch": "0001",
"number": "15164"
}
},
"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"
},
"paymentDay": 1
}'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:
| Scope | Descrição |
|---|---|
card.create | Concede acesso para emitir um novo cartão de crédito. |
Cabeçalhos (Headers)
| Nome | Descrição |
|---|---|
api-version | Obrigatório. Versão da API. Atualmente estamos na versão 1.0. |
Authorization | Obrigatório. Token de autorização do tipo Bearer. |
x-bkly-license | Identificador da licença bancária utilizada pelo parceiro. Observação: caso esse header não seja enviado, será considerada a licença do Bankly na requisição. |
Parâmetros da rota (Path)
Não é necessário enviar parâmetros no path desta requisição.
Corpo da requisição (Body)
No body, envie os seguintes campos em formato JSON:
| Nome | Tipo | Descrição | Especificação |
|---|---|---|---|
name | string | Obrigatório. Nome que será impresso no cartão. | Não é permitido o uso de números e caracteres especiais. Tamanho máximo: 19 caracteres. |
alias | string | Obrigatório. Apelido do cartão. | Não é permitido o uso de números e caracteres especiais. Tamanho máximo: 16 caracteres. |
password | string | Obrigatório. Senha de uso do cartão. | A senha deve possuir quatro dígitos e ser transmitida criptografada em formato base64. Exemplo: "TiCEhKL8h7y88y1zhfxs2gnivGlB2Fx/pTlXpv0QtP675..." |
program | object | Obrigatório. Objeto que deverá conter informações sobre o programa do cartão previamente definido. | — |
program.id | integer | Obrigatório. Identificador do programa previamente definido. | — |
holder | object | Obrigatório. Objeto que deverá conter informações sobre o titular do cartão. | — |
holder.document | object | Obrigatório. Objeto que deverá conter informações sobre o documento titular do cartão. | — |
holder.document.value | string | Obrigatório. Número do documento do titular do cartão. | — |
holder.document.type | string | Obrigatório. Tipo do documento utilizado (CPF ou CNPJ). | — |
holder.account | object | Objeto que deverá conter informações sobre a conta do titular do cartão. Observação: em caso de cartões do tipo combo, se este objeto não for enviado, apenas a modalidade crédito ficará habilitada (desde que o cliente possua um contrato de crédito aprovado). | — |
holder.account.branch | string | Obrigatório. Número da agência. | — |
holder.account.number | string | Obrigatório. Número da conta. | — |
metadata | object | Objeto que deverá conter informações adicionais pertinentes ao contexto, representadas por meio de pares de chave e valor. | — |
paymentDay | integer | Dia de vencimento da fatura. | — |
Caso o cliente não tenha informado o endereço de entrega no momento do cadastro, preencha:
| Nome | Tipo | Descrição | Especificação |
|---|---|---|---|
address | object | Objeto que deverá conter informações sobre o endereço do titular do cartão ao qual deve ser realizado a entrega. | — |
address.zipCode | string | Obrigatório. Código postal do endereço. | Informe somente números. O CEP deve ser nacional e conter oito dígitos. |
address.address | string | Obrigatório. Logradouro (nome da rua, avenida etc.). | Máximo de 256 caracteres. |
address.number | string | Obrigatório. Número do imóvel. | — |
address.neighborhood | string | Obrigatório. Nome do bairro. | Máximo de 256 caracteres. |
address.complement | string | Complemento do endereço. | — |
address.city | string | Obrigatório. Nome da cidade. | Máximo de 256 caracteres. Devem-se evitar acentos e outros caracteres especiais. |
address.state | string | Obrigatório. Nome do estado. | Formato ISO 3166-2:BR. |
address.country | string | Obrigatório. Nome do país. | Formato ISO 3166-2:BR. |
{
"Name": "Nísia Floresta",
"alias": "Cartão principal",
"password": "pxrmwJ9FixeygLUSsGRxXbeHEabeHdzdhOwdQ0nEdNhyrnRfj7Vo7...",
"program": {
"id": 95
},
"holder": {
"document": {
"value": "76447798095",
"type": "CPF"
},
"account": {
"branch": "0001",
"number": "15164"
}
},
"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"
},
"paymentDay": 1
}Resposta (Response)
O 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:
| Nome | Tipo | Descrição | Número máximo de caracteres |
|---|---|---|---|
proxy | string | Código identificador do cartão. | 31 |
activateCode | string | Código atrelado ao cartão no momento de sua emissão. | — |
{
"proxy": "2370021007715002820",
"activateCode": "A0DDDC0951D1"
}
DicaPara simular uma requisição nesse endpoint, acesse o API Reference.
Erros
Este endpoint pode retornar erros específicos, conforme a tabela a seguir:
| Status Code | Código | Mensagem | Descrição |
|---|---|---|---|
| 400 | 110 | Program does not have the informed payment day. | O dia de pagamento não foi informado no programa. |
| 401 | — | No authorization to make the request. | Sem autorização para realizar a solicitação. |
| 401 | 115 | Program does not belong to lot. | O programa não pertence ao lote. |
| 403 | CERTIFICATE_NOTFOUND | Certificate not found for partner. | Parceiro não possui certificado de criptografia junto a Bankly. |
| 406 | 013 | Delivery address must be informed when requesting the physical card. | O cartão físico necessita de um endereço para entrega. |
| 406 | 101 | Program disable! | Requisição válida, porém, não foi aceita devido a alguma regra de negócio contratada. |
| 406 | 102 | Program undefined! | Nenhum programa definido para a operação. |
| 406 | 202 | Account does not belong to the customer! | A conta não pertence ao cliente. |
| 406 | 203 | The account is inactive! | Conta inativa. |
| 406 | 012 | It is not possible to create new cards as it has reached the limit configured for this program. | A requisição com os dados enviados já foi realizada e está em processamento. |
| 406 | ANALYSIS_CREDIT_NOTFOUND | Credit analysis not found for document and program informed. | Análise de crédito não encontrada para o documento e o programa informado. |
| 406 | DUPLICATE_CARD_NAME | Card already exists for the given name. | Nome já cadastrado para o CPF informado. Não é possível ter dois cartões físicos ativos com o mesmo nome para o mesmo CPF. |
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 evento | Descrição |
|---|---|
CARD_WAS_ISSUED | O cartão foi emitido. |
Cartão virtual
Este endpoint possibilita que o cliente do parceiro Bankly emita um cartão virtual por meio de comunicação criptografada.
NotaPara aumentar o nível de segurança da informação, o uso desse serviço é exclusivo para clientes homologados com o time de segurança do Bankly.
Limite de emissão
Por padrão, o Bankly permite a emissão mensal de até cinco cartões virtuais por documento (CPF/CNPJ).
Caso seja necessário ajustar essa quantidade, o parceiro poderá entrar em contato com o time Bankly para definir um novo limite de emissão de cartões.
Pré-requisito
Para que seja possível utilizar este endpoint, é necessário que:
- O parceiro defina um programa para seus cartões;
- Durante o desenvolvimento do projeto, o parceiro solicite autorização ao time de segurança do Bankly para realizar o processo de homologação técnica;
- Após homologação e alinhamento prévio com o time de cartões e segurança do Bankly, o parceiro Bankly adquira o certificado de criptografia;
- O cliente do parceiro possua uma conta ativa.
Requisição
Requisição HTTP
POST 'https://api-mtls.sandbox.bankly.com.br/cards-pci/virtual' \--request POST \
--url 'https://api-mtls.sandbox.bankly.com.br/cards-pci/virtual' \
--header 'Authorization: Bearer {{Token}}' \
--header 'accept: application/json' \
--header 'api-version: 1' \
--header 'x-bkly-license: f64197e4-80b3-4820-bfae-1419049b15b5'\
--header 'content-type: application/json' \
--data '{
"name": "Nísia Floresta",
"alias": "Cartão principal",
"password": "pxrmwJ9FixeygLUSsGRxXbeHEabeHdzdhOwdQ0nEdNhyrnRfj7Vo743RvEMiWe/zO3",
"program": {
"id": 95
},
"holder": {
"document": {
"value": "76447798095",
"type": "CPF"
},
"account": {
"branch": "0001",
"number": "15164"
}
},
"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"
},
"paymentDay": 1
}'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:
| Scope | Descrição |
|---|---|
card.create | Concede acesso para emitir um novo cartão. |
Cabeçalhos (Headers)
| Nome | Descrição |
|---|---|
api-version | Obrigatório. Versão da API. Atualmente estamos na versão 1.0. |
Authorization | Obrigatório. Token de autorização do tipo Bearer. |
x-bkly-license | Identificador da licença bancária utilizada pelo parceiro. Observação: caso esse header não seja enviado, será considerada a licença do Bankly na requisição. |
Parâmetros da rota (Path)
Não é necessário enviar parâmetros no path desta requisição.
Corpo da requisição (Body)
No body, envie os seguintes campos em formato JSON:
| Nome | Tipo | Descrição | Especificação |
|---|---|---|---|
name | string | Obrigatório. Nome que será impresso no cartão. | Não é permitido o uso de números e caracteres especiais. Tamanho máximo: 19 caracteres. |
alias | string | Obrigatório. Apelido do cartão. | Não é permitido o uso de números e caracteres especiais. Tamanho máximo: 16 caracteres. |
password | string | Obrigatório. Senha de uso do cartão. | A senha deve possuir quatro dígitos e ser transmitida criptografada em formato base64. Exemplo: "TiCEhKL8h7y88y1zhfxs2gnivGlB2Fx/pTlXpv0QtP675..." |
program | object | Obrigatório. Objeto que deverá conter informações sobre o programa do cartão previamente definido. | — |
program.id | integer | Obrigatório. Identificador do programa previamente definido. | — |
holder | object | Obrigatório. Objeto que deverá conter informações sobre o titular do cartão. | — |
holder.document | object | Obrigatório. Objeto que deverá conter informações sobre o documento titular do cartão. | — |
holder.document.value | string | Obrigatório. Número do documento do titular do cartão. | — |
holder.document.type | string | Obrigatório. Tipo do documento utilizado (CPF ou CNPJ). | — |
holder.account | object | Objeto que deverá conter informações sobre a conta do titular do cartão. Observação: em caso de cartões do tipo combo, se este objeto não for enviado, apenas a modalidade crédito ficará habilitada (desde que o cliente possua um contrato de crédito aprovado). | — |
holder.account.branch | string | Obrigatório. Número da agência. | — |
holder.account.number | string | Obrigatório. Número da conta. | — |
metadata | object | Objeto que deverá conter informações adicionais pertinentes ao contexto, representadas por meio de pares de chave e valor. | — |
paymentDay | integer | Dia de vencimento da fatura. | — |
Opcionalmente, preencha:
| Nome | Tipo | Descrição | Especificação |
|---|---|---|---|
address | object | Objeto que deverá conter informações sobre o endereço do titular do cartão ao qual deve ser realizado a entrega. | — |
address.zipCode | string | Obrigatório. Código postal do endereço. | Informe somente números. O CEP deve ser nacional e conter oito dígitos. |
address.address | string | Obrigatório. Logradouro (nome da rua, avenida etc.). | Máximo de 256 caracteres. |
address.number | string | Obrigatório. Número do imóvel. | — |
address.neighborhood | string | Obrigatório. Nome do bairro. | Máximo de 256 caracteres. |
address.complement | string | Complemento do endereço. | — |
address.city | string | Obrigatório. Nome da cidade. | Máximo de 256 caracteres. Devem-se evitar acentos e outros caracteres especiais. |
address.state | string | Obrigatório. Nome do estado. | Formato ISO 3166-2:BR. |
address.country | string | Obrigatório. Nome do país. | Formato ISO 3166-2:BR. |
{
"name": "Nísia Floresta",
"alias": "Cartão principal",
"password": "pxrmwJ9FixeygLUSsGRxXbeHEabeHdzdhOwdQ0nEdNhyrnRfj7Vo743RvEMiWe/zO3",
"program": {
"id": 95
},
"holder": {
"document": {
"value": "76447798095",
"type": "CPF"
},
"account": {
"branch": "0001",
"number": "15164"
}
},
"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"
},
"paymentDay": 1
}| Nome | Tipo | Descrição | Especificação |
|---|---|---|---|
address | object | Objeto que deverá conter informações sobre o endereço do titular do cartão ao qual deve ser realizado a entrega. | — |
address.zipCode | string | Obrigatório. Código postal do endereço. | Informe somente números. O CEP deve ser nacional e conter oito dígitos. |
address.address | string | Obrigatório. Logradouro (nome da rua, avenida etc.). | Máximo de 256 caracteres. |
address.number | string | Obrigatório. Número do imóvel. | — |
address.neighborhood | string | Obrigatório. Nome do bairro. | Máximo de 256 caracteres. |
address.complement | string | Complemento do endereço. | — |
address.city | string | Obrigatório. Nome da cidade. | Máximo de 256 caracteres. Devem-se evitar acentos e outros caracteres especiais. |
address.state | string | Obrigatório. Nome do estado. | Formato ISO 3166-2:BR. |
address.country | string | Obrigatório. Nome do país. | Formato ISO 3166-2:BR. |
Resposta (Response)
O 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:
| Nome | Tipo | Descrição | Número máximo de caracteres |
|---|---|---|---|
proxy | string | Código identificador do cartão. | 31 |
activateCode | string | Código atrelado ao cartão no momento de sua emissão. | — |
{
"proxy": "2370021007715002820",
"activateCode": "A0DDDC0951D1"
}
DicaPara simular uma requisição nesse endpoint, acesse o API Reference.
Erros
Este endpoint pode retornar erros específicos, conforme a tabela a seguir:
| Status Code | Código | Mensagem | Descrição |
|---|---|---|---|
| 400 | 110 | Program does not have the informed payment day | O dia de pagamento não foi informado no programa. |
| 401 | — | No authorization to make the request | Sem autorização para realizar a solicitação. |
| 401 | 115 | Program does not belong to lot | O programa não pertence ao lote. |
| 403 | CERTIFICATE_NOTFOUND | Certificate not found for partner. | Parceiro não possui certificado de criptografia junto a Bankly. |
| 406 | 013 | Delivery address must be informed when requesting the physical card | O cartão físico necessita de um endereço para entrega. |
| 406 | 101 | Program disable! | Requisição válida, porém, não foi aceita devido a alguma regra de negócio contratada. |
| 406 | 102 | Program undefined! | Nenhum programa definido para a operação. |
| 406 | 202 | Account does not belong to the customer! | A conta não pertence ao cliente. |
| 406 | 203 | The account is inactive! | Conta inativa. |
| 409 | 012 | It is not possible to create new cards as it has reached the limit configured for this program | A requisição com os dados enviados já foi realizada e está em processamento. |
| 409 | ANALYSIS_CREDIT_NOTFOUND | Credit analysis not found for document and program informed | Análise de crédito não encontrada para o documento e o programa informado. |
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 evento | Descrição |
|---|---|
CARD_WAS_ISSUED | O cartão foi emitido. |
Segunda via
Este endpoint permite que o parceiro Bankly ofereça a seus clientes a possibilidade de emitir uma segunda via do cartão físico, com as mesmas características da primeira via, por meio de comunicação criptografada.
Pré-requisito
Para que seja possível utilizar este endpoint, é necessário que:
- Durante o desenvolvimento do projeto, o parceiro solicite autorização ao time de segurança do Bankly para realizar o processo de homologação técnica;
- Após homologação e alinhamento prévio com o time de cartões e segurança do Bankly, o parceiro Bankly adquira o certificado de criptografia;
- O cliente do parceiro possua uma conta ativa.
Requisição
Requisição HTTP
POST 'https://api-mtls.sandbox.bankly.com.br/cards-pci/{proxy}/duplicate'
--url 'https://api-mtls.sandbox.bankly.com.br/cards-pci/{proxy}/duplicate' \\
--header 'Authorization: Bearer {{Token}}' \\
--header 'accept: application/json' \\
--header 'api-version: 1.0' \\
--header 'content-type: application/json'
--data '{
"description": "Lorem ipsum",
"status": "CardWasStolen",
"holder": {
"document": {
"value": "47742663023",
"type": "CPF"
}
},
"password": "asjkdkas19821ksnd....",
"resetPassword": false,
"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:
| Scope | Descrição |
|---|---|
card.create | Concede acesso para emitir um novo cartão. |
Cabeçalhos (Headers)
| Nome | Descrição |
|---|---|
api-version | Obrigatório. Versão da API. Atualmente estamos na versão 1.0. |
Authorization | Obrigatório. Token de autorização do tipo Bearer. |
Parâmetros da rota (Path)
No path desta requisição, envie os seguintes campos:
| Nome | Tipo | Descrição |
|---|---|---|
proxy | path | Obrigatório. Código identificador do cartão. |
Corpo da requisição (Body)
No body, envie os seguintes campos em formato JSON:
| Nome | Tipo | Descrição | Especificação |
|---|---|---|---|
description | string | Obrigatório. Detalhes do cancelamento com qualquer informação considerada como relevante. | — |
status | string | Obrigatório. Motivo da solicitação de segunda via. | — |
holder | object | Obrigatório. Objeto que deverá conter informações sobre o titular do cartão. | |
holder.document | object | Obrigatório. Objeto que deverá conter informações sobre o documento titular do cartão. | — |
holder.document.value | string | Obrigatório. Número do documento do titular do cartão. | — |
holder.document.type | string | Obrigatório. Tipo do documento utilizado (CPF ou CNPJ). | — |
password | string | Obrigatório. Senha do cartão atual (primeira via). | A senha deve possuir quatro dígitos e ser transmitida criptografada em formato base64. Exemplo: "TiCEhKL8h7y88y1zhfxs2gnivGlB2Fx/pTlXpv0QtP675..." |
resetPassword | boolean | Indica 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. | — |
metadata | object | Objeto que deverá conter informações adicionais pertinentes ao contexto, representadas por meio de pares de chave e valor. | — |
NotaPara 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 obrigatoriamente:
| Nome | Tipo | Descrição | Especificação |
|---|---|---|---|
address | object | Objeto que deverá conter informações sobre o endereço do titular do cartão ao qual deve ser realizado a entrega. | — |
address.zipCode | string | Obrigatório. Código postal do endereço. | Informe somente números. O CEP deve ser nacional e conter oito dígitos. |
address.address | string | Obrigatório. Logradouro (nome da rua, avenida etc.). | Máximo de 256 caracteres. |
address.number | string | Obrigatório. Número do imóvel. | — |
address.neighborhood | string | Obrigatório. Nome do bairro. | Máximo de 256 caracteres. |
address.complement | string | Complemento do endereço. | — |
address.city | string | Obrigatório. Nome da cidade. | Máximo de 256 caracteres. Devem-se evitar acentos e outros caracteres especiais. |
address.state | string | Obrigatório. Nome do estado. | Formato ISO 3166-2:BR. |
address.country | string | Obrigató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çãoPara evitar problemas na entrega devido à desatualização do endereço cadastrado, recomendamos que o campo
addressseja preenchido mesmo que o cliente já tenha informado um endereço previamente.
{
"description": "Lorem ipsum",
"status": "CardWasStolen",
"holder": {
"document": {
"value": "47742663023",
"type": "CPF"
}
},
"password": "asjkdkas19821ksnd....",
"resetPassword": false,
"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:
| Motivo | Descrição | Status que o cartão antigo passará a ter | cancellationMode padrão | cancellationMode possível |
|---|---|---|---|---|
| "LostMyCard" | Perda de cartão. | LostOrTheftCanceled | Immediately | Default ou Immediately |
| "CardWasStolen" | Cartão roubado. | LostOrTheftCanceled | Immediately | Default ou Immediately |
| "CardWasDamaged" | Cartão danificado. | CardDamagedCanceled | Later | Default, Later ou Immediately |
| "CardNotDelivered" | Cartão não entregue. | StrayedCanceled | Immediately | Default ou Immediately |
| "UnrecognizedOnlinePurchase" | Cartão não solicitado. | UseFraudCanceled | Immediately | Default ou Immediately |
| CustomerOrder | Solicitação do cliente. | CanceledByCustomer | Later | Default, Later ou Immediately |
| CardWasBroken | Cartão quebrado. | CardBrokenCanceled | Later | Default, Later ou Immediately |
| CardHasDefect | Cartão com defeito. | CardWithDefectCanceled | Later | Default, Later ou Immediately |
| CardWasRobbed | Cartão roubado. | RobbedCanceled | Immediately | Default ou Immediately |
Resposta (Response)
Os status 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:
| Nome | Tipo | Descrição | Número máximo de caracteres |
|---|---|---|---|
proxy | string | Código identificador do cartão. | 31 |
activateCode | string | Código atrelado ao cartão no momento de sua emissão. | — |
{
"proxy": "2370021007715002820",
"activateCode": "A0DDDC0951D1"
}
DicaPara 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 Code | Código | Mensagem | Descrição |
|---|---|---|---|
| 400 | 110 | Program does not have the informed payment day | O dia de pagamento informado é diferente dos possíveis dias de pagamento cadastrados no programa. |
| 400 | WRONG_PASSWORD_ATTEMPT_LOCKED | Wrong Password Attempt Locked | Tentativa de senha errada bloqueada. |
| 400 | DUPLICATE_CARD_AWAIT_BUILDING | Duplicate Card Await Building | A segunda via do cartão está em construção. |
| 400 | GET_BANKLYTOKEN_ERROR | Error while getting Bankly's token | Erro ao obter o token do Bankly. |
| 401 | — | No authorization to make the request | Sem autorização para realizar a solicitação. |
| 403 | CERTIFICATE_NOTFOUND | Certificate not found for partner. | Parceiro não possui certificado de criptografia junto a Bankly. |
| 406 | 008 | Card does not belong to this customer! | O cartão informado não pertence a este documento. |
| 406 | 011 | Invalid password! | Senha inválida. |
| 406 | 013 | Delivery address must be informed when requesting the physical card | O cartão físico necessita de um endereço para entrega. |
| 406 | 101 | Program disable! | O programa informado na criação do cartão está desabilitado. |
| 406 | 102 | Program undefined! | O programa não existe para esta companyKey . |
| 406 | 202 | Account does not belong to the customer! | O número de documento (documentNumber) informado na requisição está incorreto. |
| 406 | 203 | The account is inactive! | Conta inativa. |
| 406 | DUPLICATE_CARD_NAME | Card already exists for the given name | Já 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. |
| 409 | 012 | It is not possible to create new cards as it has reached the limit configured for this program | O limite configurável no programa para emissões de cartões por documento foi atingido. |
| 409 | ANALYSIS_CREDIT_NOTFOUND | Credit analysis not found for document and program informed | Análise de crédito não encontrada para o documento e o programa informado. |
| 409 | 024 | No duplicate for canceled card | Não é possível gerar uma segunda via de um cartão cancelado. |
| 409 | 025 | No duplicate for card under construction | Não é possível gerar uma segunda via de um cartão em construção. |
| 503 | 302 | Client is unavailable | O 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 evento | Descrição |
|---|---|
CARD_WAS_ISSUED | O cartão foi emitido. |
