import requests
url = "https://pombo.digital/api/integrations/v1/notifications/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://pombo.digital/api/integrations/v1/notifications/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://pombo.digital/api/integrations/v1/notifications/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"notification_id": "PBD_NOT_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"organization_id": "PBD_ORG_01J8A1B2C3D4E5F6G7H8J9K0LM",
"template_id": "PBD_TPL_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"channel": "WHATSAPP",
"recipient_full_name": "Maria Silva",
"recipient_tax_id": "12345678901",
"recipient_tax_id_type": "CPF",
"recipient_phone": "+5511999998888",
"recipient_email": null,
"contact_id": "PBD_CNT_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"line_id": "PBD_WALN_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"message": "Prezada Maria, consta débito de R$ 1.200,00.",
"message_format": "text",
"notification_status": "PENDING",
"notification_delivery_status": "READ",
"sender": {
"name": "Vega Cobranças LTDA",
"tax_id": "12345678000199",
"tax_id_type": "CNPJ"
},
"sender_phone": "5511952134898",
"sender_email": null,
"created_by_user_id": "PBD_APIKEY_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"idempotency_key": "cobranca-2026-08-31-0002",
"created_at": "2026-08-27T14:03:11.482Z",
"attachments": [],
"events": [
{
"event_id": "PBD_EVT_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"event_type": "enqueued",
"occurred_at": "2026-08-27T14:03:11.482Z",
"received_at": "2026-08-27T14:03:11.610Z",
"delivery_decline_reason": null,
"attestation": null
},
{
"event_id": "PBD_EVT_01J9Z2Q8XK3M7WPTV6RB4CYH0P",
"event_type": "sent",
"occurred_at": "2026-08-27T14:03:13.100Z",
"received_at": "2026-08-27T14:03:13.240Z",
"delivery_decline_reason": null,
"attestation": {
"attestation_id": "PBD_ATT_01J9Z2Q8XK3M7WPTV6RB4CYH0P",
"certified_at": "2026-08-27T14:03:13.510Z",
"hash_algorithm": "SHA-256",
"hash_encoding": "hex",
"proof_hash": "7d5e3f1a8c6d2b0e9f7a5c3d1e8f6b4a2c0d9e7f5a3b1c8d6e4f2a0b9c7d5e3f"
}
},
{
"event_id": "PBD_EVT_01J9Z2Q8XK3M7WPTV6RB4CYH0Q",
"event_type": "delivered",
"occurred_at": "2026-08-27T14:03:19.870Z",
"received_at": "2026-08-27T14:03:20.010Z",
"delivery_decline_reason": null,
"attestation": {
"attestation_id": "PBD_ATT_01J9Z2Q8XK3M7WPTV6RB4CYH0Q",
"certified_at": "2026-08-27T14:03:20.330Z",
"hash_algorithm": "SHA-256",
"hash_encoding": "hex",
"proof_hash": "1c8d6e4f2a0b9c7d5e3f1a8c6d2b0e9f7a5c3d1e8f6b4a2c0d9e7f5a3b1c8d6e"
}
},
{
"event_id": "PBD_EVT_01J9Z2Q8XK3M7WPTV6RB4CYH0R",
"event_type": "read",
"occurred_at": "2026-08-27T14:07:42.115Z",
"received_at": "2026-08-27T14:07:42.260Z",
"delivery_decline_reason": null,
"attestation": {
"attestation_id": "PBD_ATT_01J9Z2Q8XK3M7WPTV6RB4CYH0R",
"certified_at": "2026-08-27T14:07:42.580Z",
"hash_algorithm": "SHA-256",
"hash_encoding": "hex",
"proof_hash": "9e7f5a3b1c8d6e4f2a0b9c7d5e3f1a8c6d2b0e9f7a5c3d1e8f6b4a2c0d9e7f5a"
}
}
]
}Consultar uma notificação
Devolve uma notificação com o status de entrega atual, os anexos e o histórico de eventos certificados.
import requests
url = "https://pombo.digital/api/integrations/v1/notifications/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://pombo.digital/api/integrations/v1/notifications/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://pombo.digital/api/integrations/v1/notifications/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"notification_id": "PBD_NOT_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"organization_id": "PBD_ORG_01J8A1B2C3D4E5F6G7H8J9K0LM",
"template_id": "PBD_TPL_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"channel": "WHATSAPP",
"recipient_full_name": "Maria Silva",
"recipient_tax_id": "12345678901",
"recipient_tax_id_type": "CPF",
"recipient_phone": "+5511999998888",
"recipient_email": null,
"contact_id": "PBD_CNT_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"line_id": "PBD_WALN_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"message": "Prezada Maria, consta débito de R$ 1.200,00.",
"message_format": "text",
"notification_status": "PENDING",
"notification_delivery_status": "READ",
"sender": {
"name": "Vega Cobranças LTDA",
"tax_id": "12345678000199",
"tax_id_type": "CNPJ"
},
"sender_phone": "5511952134898",
"sender_email": null,
"created_by_user_id": "PBD_APIKEY_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"idempotency_key": "cobranca-2026-08-31-0002",
"created_at": "2026-08-27T14:03:11.482Z",
"attachments": [],
"events": [
{
"event_id": "PBD_EVT_01J9Z2Q8XK3M7WPTV6RB4CYH0N",
"event_type": "enqueued",
"occurred_at": "2026-08-27T14:03:11.482Z",
"received_at": "2026-08-27T14:03:11.610Z",
"delivery_decline_reason": null,
"attestation": null
},
{
"event_id": "PBD_EVT_01J9Z2Q8XK3M7WPTV6RB4CYH0P",
"event_type": "sent",
"occurred_at": "2026-08-27T14:03:13.100Z",
"received_at": "2026-08-27T14:03:13.240Z",
"delivery_decline_reason": null,
"attestation": {
"attestation_id": "PBD_ATT_01J9Z2Q8XK3M7WPTV6RB4CYH0P",
"certified_at": "2026-08-27T14:03:13.510Z",
"hash_algorithm": "SHA-256",
"hash_encoding": "hex",
"proof_hash": "7d5e3f1a8c6d2b0e9f7a5c3d1e8f6b4a2c0d9e7f5a3b1c8d6e4f2a0b9c7d5e3f"
}
},
{
"event_id": "PBD_EVT_01J9Z2Q8XK3M7WPTV6RB4CYH0Q",
"event_type": "delivered",
"occurred_at": "2026-08-27T14:03:19.870Z",
"received_at": "2026-08-27T14:03:20.010Z",
"delivery_decline_reason": null,
"attestation": {
"attestation_id": "PBD_ATT_01J9Z2Q8XK3M7WPTV6RB4CYH0Q",
"certified_at": "2026-08-27T14:03:20.330Z",
"hash_algorithm": "SHA-256",
"hash_encoding": "hex",
"proof_hash": "1c8d6e4f2a0b9c7d5e3f1a8c6d2b0e9f7a5c3d1e8f6b4a2c0d9e7f5a3b1c8d6e"
}
},
{
"event_id": "PBD_EVT_01J9Z2Q8XK3M7WPTV6RB4CYH0R",
"event_type": "read",
"occurred_at": "2026-08-27T14:07:42.115Z",
"received_at": "2026-08-27T14:07:42.260Z",
"delivery_decline_reason": null,
"attestation": {
"attestation_id": "PBD_ATT_01J9Z2Q8XK3M7WPTV6RB4CYH0R",
"certified_at": "2026-08-27T14:07:42.580Z",
"hash_algorithm": "SHA-256",
"hash_encoding": "hex",
"proof_hash": "9e7f5a3b1c8d6e4f2a0b9c7d5e3f1a8c6d2b0e9f7a5c3d1e8f6b4a2c0d9e7f5a"
}
}
]
}Authorizations
Sua credencial de API no cabeçalho Authorization: Bearer sk_live_.... Crie e revogue credenciais no painel, em Conta → API Keys. O segredo aparece uma única vez, na criação.
A credencial identifica a organização: organization_id não é aceito em nenhuma requisição.
Path Parameters
O identificador da notificação.
^PBD_NOT_[0-9A-HJKMNP-TV-Z]{26}$"PBD_NOT_01J9Z2Q8XK3M7WPTV6RB4CYH0N"
Response
A notificação.
A notificação devolvida pela consulta, com anexos e eventos certificados.
A organização dona da conta e do saldo. Não confunda com sender, que é em nome de quem a notificação sai.
WHATSAPP, EMAIL CPF, CNPJ O contato do destinatário no Pombo. Os contatos são unificados pelo tax_id, então o mesmo CPF devolve o mesmo contact_id nos dois canais. É por isso que dados divergentes produzem 409 CONTACT_CONFLICT.
"PBD_CNT_01J9Z2Q8XK3M7WPTV6RB4CYH0N"
A linha de WhatsApp usada no envio. null em EMAIL.
"PBD_WALN_01J9Z2Q8XK3M7WPTV6RB4CYH0N"
O registro do que foi substituído na mensagem: as variáveis que você enviou mais os valores do rodapé do remetente que o Pombo preencheu a partir do sender. É por isso que o registro se descreve sozinho.
Não copie este mapa para um envio novo. Os três valores do rodapé não são seus para enviar, e a chamada é recusada. Reaproveite apenas as chaves que estão em variables do modelo.
{ "{{1}}": "Maria" }
A mensagem já renderizada, com parameters aplicados ao modelo. É o artefato que o carimbo do tempo cobre. Existe só na resposta: não há campo message de envio.
O resumo SHA-256 da mensagem renderizada, em hexadecimal. É a impressão digital do texto que consta no laudo: o equivalente, para a mensagem, do que hash é para o anexo.
"3b1c8d6e4f2a0b9c7d5e3f1a8c6d2b0e9f7a5c3d1e8f6b4a2c0d9e7f5a3b1c8d"
Se message é HTML ou texto simples. Sempre em minúsculas.
html, text O processamento interno no Pombo. Não indica entrega. Uma mensagem já lida foi observada aqui como PENDING. Para saber se a pessoa recebeu, use notification_delivery_status.
DRAFT, PENDING, PROCESSING, COMPLETED, FAILED O campo que responde se a mensagem chegou. Caminho normal: PENDING → ENQUEUED → SENT → DELIVERED → READ.
No envio, um EMAIL foi observado em ENQUEUED e um WHATSAPP em SENT.
Nunca retrocede, e FAILED é terminal. Você pode não observar todos os estados intermediários. Em e-mail não espere READ.
PENDING, ENQUEUED, SENT, DELIVERED, READ, FAILED O remetente como a notificação o devolve. São os dados que identificam a parte no laudo.
Os contatos de resposta não voltam aqui. Eles são declarados no envio e entregues no rodapé da mensagem, e não ficam guardados em nenhuma coluna da notificação.
O número de origem do WhatsApp, resolvido pelo Pombo a partir do pool de linhas. null em EMAIL. É o endereço de onde a mensagem realmente saiu, e é o que vai certificado no laudo. Não é sender.contact_phone, que é para onde o destinatário responde.
"5511952134898"
O endereço de origem do e-mail, resolvido pelo Pombo. null em WHATSAPP. É o endereço de onde a mensagem realmente saiu, e é o que vai certificado no laudo. Não é sender.contact_email, que é para onde o destinatário responde.
Se a sua organização não tem endereço próprio verificado (o caso comum), a mensagem sai do endereço compartilhado do Pombo, e é ele que aparece aqui.
"ola@pombo.digital"
Quem criou a notificação: api_key quando ela veio desta API, user quando alguém a criou pelo painel.
É o campo que qualifica created_by_user_id, e o único jeito correto de saber o que ele traz. Não deduza pelo formato do identificador.
api_key, user O nome engana. Quando created_by_type é api_key, este campo traz o identificador da credencial que fez o envio, PBD_APIKEY_..., e não um identificador de usuário. Com mais de uma credencial, é assim que você sabe qual delas enviou o quê.
Quando created_by_type é user, a notificação foi criada no painel e o campo traz o identificador interno de quem a criou, PBD_USR_.... É opaco de propósito: o nome e o e-mail dessa pessoa não são devolvidos por esta API.
"PBD_APIKEY_01J9Z2Q8XK3M7WPTV6RB4CYH0N"
A chave que você enviou no cabeçalho Idempotency-Key, devolvida aqui para que o registro se descreva sozinho. Só existe na resposta: no envio a chave vai no cabeçalho, nunca no corpo.
O lote a que a notificação pertence, quando veio de um envio em massa.
O item do lote correspondente a esta notificação.
Quando o Pombo entregou a mensagem ao provedor. null até o envio ocorrer.
Quando o provedor confirmou a entrega ao destinatário. null enquanto não houver confirmação.
Quando o envio falhou em definitivo. null quando não houve falha.
Os anexos da notificação, com a impressão digital de cada arquivo. Vazio quando o envio não levou anexo. São os mesmos que o envio já devolveu.
Hide child attributes
Hide child attributes
O identificador do arquivo guardado, opaco: é o mesmo que aparece no laudo, e serve para citar um anexo específico num chamado de suporte. Não há endpoint para resolvê-lo: tudo o que você precisa conferir já está nos campos ao lado.
O nome já normalizado pelo Pombo, e o nome que o destinatário recebeu. Compare com o que você enviou: pode não ser igual.
application/pdf, image/png, image/jpeg A impressão digital do arquivo, a mesma que consta no laudo.
"9f2c1d7a4b6e8f0c2a4d6e8f0b1c3d5e7f9a1b3c5d7e9f1a3b5c7d9e1f3a5b7c"
Literalmente SHA-256, com hífen e em maiúsculas. Compare a string exata.
"SHA-256"
"hex"
O histórico de eventos, em ordem. A cadeia observada é enqueued → sent → delivered → read.
Nem todo evento é certificado. Recebem atestação sent, delivered, read e failed. enqueued não: ele registra que a mensagem entrou na fila, e o laudo também o lista sem carimbo.
Hide child attributes
Hide child attributes
O evento. Cadeia observada: enqueued, sent, delivered, read.
"delivered"
Quando o evento aconteceu.
Quando o Pombo recebeu a notícia do evento.
O motivo da recusa, quando o evento é uma falha.
null enquanto o evento não foi certificado, e sempre null em enqueued, que não é um evento certificável.
A certificação é assíncrona e conclui depois de notification_delivery_status chegar ao estado final. Se você parar de consultar assim que o estado for terminal, pode ler null aqui. Continue consultando até a atestação aparecer, ou baixe o laudo em GET /notifications/{id}/report/download, que só é montado quando está completo.
Hide child attributes
Hide child attributes
"PBD_ATT_01J9Z2Q8XK3M7WPTV6RB4CYH0N"
"SHA-256"
"hex"

