Emissão de cartão adicional

stable pós

Este endpoint permite que o parceiro Bankly ofereça a seus clientes a possibilidade de solicitar um cartão adicional.

📘

Nota

Todo cartão adicional será do tipo pós-pago, mesmo quando vinculado a um cartão titular do tipo Combo.

👍

Dica

As regras específicas relacionadas à ativação, alteração de status e operações não permitidas para cartões adicionais estão documentadas em uma página dedicada. Consulte Gestão de cartão Adicional para mais detalhes.

Pré-requisitos

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

  • O cartão titular seja do tipo pós-pago, incluindo cartão combo com a modalidade pós ativa;
  • O cartão titular seja físico; cartões virtuais não são compatíveis;
  • O programa vinculado ao cartão titular esteja devidamente configurado.
🚧

Importante

Para realizar a configuração do programa do cartão, o parceiro deve procurar o time de Operações da Bankly.

Requisição (Request)

Requisição HTTP

POST https://api-mtls.sandbox.bankly.com.br/cards-pci/{{proxy}}/additional
--request POST \ 
--url 'https://api-mtls.sandbox.bankly.com.br/cards-pci/{{proxy}}/additional' \ 
--header 'accept: application/json' \ 
--header 'content-type: application/json'\
--header 'Authorization: Bearer {{Token}}'\ 
--header 'api-version: 1' \
--header 'x-correlation-id: {{GUID}}' \
--data '{ 
      "cardName": "Marco M Sandbox",
      "alias": "Marco Sandbox",
      "password": "{{senha criptografada}}",
      "additional": {
          "holder": {
              "name": "Marco Minas Sandbox",
              "document": {
                  "value": "{{número do documento}}",
                  "type": "{{tipo do documento}}" //CPF ou CNPJ
              }
          }
      },
      "holder": {
          "document": {
              "value": "{{número do documento}}",
              "type": "{{tipo do documento}}" //CPF ou CNPJ
          },
          "password": "{{senha criptografada}}"
      },
      "address": {
          "zipCode": "03276010",
          "address": "Rua Correia da Camara",
          "number": "452",
          "complement": "Apto 801",
          "neighborhood": "Vila Tolstoi",
          "city": "São Paulo",
          "state": "SP",
          "country": "BR"
      },
      "metadata": {
    			"metadataProp1": "string",
   				"metadataProp2": "string"
      }
}'

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.pci.createConcede acesso para emitir um cartão adicional.

Cabeçalhos (Headers)

NomeDescriçãoEspecificação
api-versionObrigatório. Versão da API. Atualmente estamos na versão 1.0.
AuthorizationObrigatório. Token de autorização.Tipo Bearer.
acceptObrigatório. Tipo de conteúdo de resposta.Utilize sempre application/json.
Content-TypeObrigatório. Tipo de conteúdo de resposta.Utilize sempre application/json.
x-correlation-idInforme um GUID, sendo um novo cada requisição.

Parâmetros da rota (Path)

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

Corpo da requisição (Body)

No body, envie os seguintes campos em formato JSON:

NomeTipoDescriçãoEspecificação
cardNamestringObrigatório. Nome que será impresso no cartão.Não é permitido o uso de números e caracteres especiais. Máximo de 19 caracteres.
aliasstringObrigatório. Apelido do cartão.Não é permitido o uso de caracteres especiais. Máximo de 16 caracteres.
passwordstringObrigatório. Senha do cartão adicional. Importante: dependendo da configuração do programa, o envio deste campo pode ser opcional. Neste caso, a senha é gerada randomicamente.A senha deve possuir quatro dígitos e ser transmitida criptografada em formato base64. Exemplo: "TiCEhKL8h7y88..."
additionalobjectObrigatório. Objeto que contém informações sobre o cartão adicional.
additional.holderobjectObrigatório. Objeto que contém informações sobre o portador do cartão adicional.
additional.holder.namestringObrigatório. Nome do portador do cartão adicional.
additional.holder.documentobjectObrigatório. Objeto que contém informações sobre o documento do portador do cartão adicional.
additional.holder.document.valuestringObrigatório. Número do documento do cliente (11 ou 14 dígitos).
additional.holder.document.typestringObrigatório. Tipo do documento do cliente (CPF ou CNPJ).
holderobjectObrigatório. Objeto que contém informações sobre o titular do cartão.
holder.documentobjectObrigatório. Objeto que contém informações sobre o documento do titular do cartão.
holder.document.valuestringObrigatório. Número do documento do cliente (11 ou 14 dígitos).
holder.document.typestringObrigatório. Tipo do documento do cliente (CPF ou CNPJ).
holder.passwordstringObrigatório. Senha do cartão titular. Importante: dependendo da configuração do programa, o envio deste campo pode ser opcional.A senha deve possuir quatro dígitos e ser transmitida criptografada em formato base64. Exemplo: "AiHJpKM2w4w31..."
metadataobjectObjeto que deverá conter informações adicionais pertinentes ao contexto, representadas por meio de pares de chave e valor.
🚧

Importante

Para que o parceiro possa utilizar a opção de senha randômica, é necessário:

  • Avaliação prévia pelo time de Segurança da Informação da Bankly.
  • Que o usuário tenha acesso à senha, seja pelo kit enviado ou pelo endpoint de consulta de senhas.

O objeto address é opcional.

  • Se não for informado, o endereço de entrega do cartão adicional será o mesmo do titular do cartão.
  • Se informado, é necessário preencher os campos obrigatórios conforme indicado na tabela a seguir:
NomeTipoDescriçãoEspecificação
addressobjectObjeto que contém as informações do endereço de entrega do cartão adicional.
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.

❗️

Atenção

Para evitar problemas de entrega devido ao endereço cadastrado do titular desatualizado, recomendamos que o objeto address seja devidamente preenchido.

{
    "cardName": "Marco M Sandbox",
    "alias": "Marco Sandbox",
    "password": "TiCEhKL8h7y88...",
    "additional": {
        "holder": {
            "name": "Marco Minas Sandbox",
            "document": {
                "value": "00000000000",
                "type": "CPF"
            }
        }
    },
    "holder": {
        "document": {
            "value": "11111111111",
            "type": "CPF"
        },
        "password": "AiHJpKM2w4w31..."
    },
    "address": {
        "zipCode": "03276010",
        "address": "Rua Correia da Camara",
        "number": "452",
        "complement": "Apto 801",
        "neighborhood": "Vila Tolstoi",
        "city": "São Paulo",
        "state": "SP",
        "country": "BR"
    },
    "metadata": {
        "metadataProp1": "2025-10-01T1224:07.4019873Z",
        "metadataProp2": "1.0"
    }
}
🚧

Importante

Além dos campos descritos acima, o parceiro pode enviar o objeto embossing e suas propriedades. Mais detalhes na documentação Embossing.

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
404002Card not found!Cartão titular não encontrado.
409101Program disable!O programa do cartão titular está desabilitado.
409008Card does not belong to this customer!O proxy informado não pertence ao titular informado.
409011Invalid password!A senha informada para o cartão titular está incorreta.
409ADDITIONAL_DISABLED_ON_PROGRAMAdditional card issuing disabled on program.O opção de emissão de cartão titular está desabilitada para o programa do cartão titular informado.
409ANALYSIS_CREDIT_NOTFOUNDCredit analysis not found for document and program informed.O contrato de crédito do cartão titular não está ativo e assinado.
409DUPLICATE_CARD_NAMECard 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 e programa.
409INVALID_CARDInvalid Card For Additional Cards.O proxy informado não é referente a um cartão físico ou é um cartão adicional.
409SAME_DOCUMENT_AS_HOLDERCan´t issue additional cards to same customer as main holder.O documento do cartão adicional informado é o mesmo do que o documento do titular do cartão.

Informamos 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