Template de Webhooks

O produto cel_card faz o gerenciamento das seguintes entidades e webhooks:

EntidadeMensagem
account-createdCadastro da Conta para emissão de cartões
card-createdCartão emitido para uma conta
network-authorizationStatus de uma autorização de transação.
card-in-transitStatus do rastreio de um cartão físico.

Templates

Conta criada:

Quando as informações de um cliente são inseridas no nosso ambiente no processo de onboarding, realizamos todos os processos internos para a emissão de cartões.

Quando uma conta é criada com sucesso disparamos o seguinte webhook na entidade account-created:

{
    	"accountId":78, 
    	"baasAccountId":"300001223332",
      "programId":16,
    	"accountType":"PHYSICAL",
    	"currencyCode":"986",
      "accountStatusId":9,
      "createdAt":"2024-08-07 00:00:00"
}

Significado dos objetos enviados no webhook

ObjetoTipoSignificado do Objeto
accountIdintId único gerado para a conta
baasAccountIdstringNúmero da conta no Baas
programIdintId do programa utilizado para criação desta conta
accountTypestring(10)Tipo da conta: PHYSICAL ou VIRTUAL. Por padrão toda as contas são criadas como PHYSICAL.
currencyCodestring(3)Indica qual moeda vai ser utilizada para transações nesta conta
accountStatusIdintindica em que status a conta se encontra
createdAtdatetimeData e hora da criação da conta

Cartão criado

Quando um cartão é emitido corretamente disparamos o seguinte webhook na entidade card-created:

{
    	"clientRequestId":20,
    	"clientDocument":"33999999999",
    	"cardId":65,
			"cardHash":"CdOhJpw0OFWEpgj1+IZ5FkPCAnvKlPu9nIKmuaJ1ug8bkjb1cAD0s9xe7Ib1w/wgB9cE5ygmOzmiFWEgja47lw==",
    	"operationType":"issue_card"
}

Significado dos objetos enviados no webhook

ObjetoTipoSignificado do Objeto
clientDocumentstringDocumento do cliente (CPF ou CNPJ)
cardIdintId gerado automaticamente para identificação do cartão
cardHashstring (100)Hash de criptografia do cartão
operationTypestring (20)issue_card indica emissão do cartão, reissue_card indica que é a remissão do cartão

Autorização de Transação:

Quando uma autorização for solicitada ao cartão, disparamos o seguinte webhook:

Exemplo de autorização de transação aprovada.

{
  "accountId": 51,
  "cardId": 224,
  "authorizationCode": "ZYD001",
  "amount": "0",
  "currencyCode": "900",
  "merchantCity": "SAO PAULO",
	"merchantName": "UBER SHOPPER STATEMENT",	
  "cardNotPresent": false,
  "type": "COMPRA",
  "status": "APPROVED",
  "internationalAuthorization": false,
  "dateTimeAuthorization": "2024-10-16T15:28:17",
  "binType": "CREDIT",
  "programId": 12,
  "entity": "network-authorization",
  "webhookId": "ab0cae4df54d04b7b8b66ecaa1943477d"
}

Exemplo de autorização de transação negada.

{
      "accountId": 50,
      "cardId": 224,
      "authorizationCode": "ZED001",
      "amount": "0",
      "currencyCode": "986",
      "merchantCity": "SAO PAULO",
      "merchantName": "UBER SHOPPER STATEMENT",
      "cardNotPresent": false,
      "type": "COMPRA",
      "status": "REFUSED",
      "internationalAuthorization": false,
      "dateTimeAuthorization": "2024-10-16T15:28:17",
      "binType": "CREDIT",
      "programId": 12,
      "reason": "INVALID_ACCOUNT",
      "reasonDescription": "Invalid account"
			"webhookId": "ab0cae4df54d04b7b8b66ecaa1943479d"
}

Significado dos objetos enviados no webhook

ObjetoTipoSignificado do Objeto
account_idintIndica o id da conta que houve a autorização.
card_idintindica o id cartão que houve a autorização.
authorizationCodestringCódigo identificador da autorização.
amountintValor total da autorização.
currencyCodestring(3)Moeda na qual a autorização foi realizada.
merchantCitystringCidade em que a autorização foi realizada. - Informação controlada pela bandeira, não sendo obrigatório o envio na autorização.
cardNotPresentbooleanIndica que se a transação foi realizada através do preenchimento dos dados do cartão.
typestringTipo da transação (exemplo: PURCHASE, CANCELLATION, INSTALLMENT WITHOUT INTEREST)
statusstringIndica se a autorização foi aprovada ou negada. Retorna APPROVED ou REFUSED.
internationalAuthorizationbooleanIndica se é autorização de transação internacional.
dateTimeAuthorizationdatetimeData e hora da solicitação da autorização.
entitystringEntidade do webhook.
webhookIdstringCódigo identificador do webhook enviado.

Cartão em fluxo de entrega:

Quando o cartão for entregue ao serviço de courier responsável pela entrega, será enviado o webhook de card-in-transit a cada atualização de rastreamento do cartão.

Exemplo de payload do webhook:

{
  "data": {
    "type": "card-in-transit",
    "tenant_name": "ba_cartoes",
    "body": {
      "programId": "55",
      "accountId": "11914",
      "customerId": "11917",
      "cardId": "17151",
      "customerDocument": "36417635090",
      "cardLastDigits": "0699",
      "cardTrackingCode": "BRL00117151FL",
      "occurrenceDate": "2026-01-15 16:30:00",
      "externalEventId": "1100",
      "eventDescription": "Em arquivo-aguardando Postagem",
      "deliveryStatusId": "1",
      "deliveryStatusDescription": "Arquivo Aguardando Postagem",
      "collectionDate": null,
      "postingDate": "2026-01-15 13:30:00",
      "slaDate": null,
      "dischargeDate": null,
      "entity": "card-in-transit"
    }
  },
  "metadata": {
    "timestamp": "2026-01-29T19:53:02+00:00",
    "messageType": "webhook"
  }
}

ObjetoTipoSignificado do Objeto
programIdintPrograma em que a conta se encontra.
accountIdintConta a qual o cartão pertence.
customer_idintindica o id cartão que houve a autorização.
cardIdintId do cartão.
customerDocumentstringDocumento do titular do cartão.
cardLastDigitsstring4 últimos dígitos do cartão.
cardTrackingCodestringCódigo de rastreio do cartão.
occurrenceDatedateTimeData que o evento aconteceu.
externalEventIdintId dos eventos de rastreio.
eventDescriptionstringDescrição dos eventos de rastreio com base no id.
deliveryStatusIdintId de status de entrega do cartão.
deliveryStatusDescriptionstringDescrição do status.
collectionDatedateTimeData da coleta do cartão pela entregadora.
slaDatedateTimeData prevista de entrega do cartão.
dischargeDatedateTimeData efetiva da entrega do cartão. Em caso de atraso na entrega será diferente do slaDate.