Pular para o conteúdo principal
A API Carteiro Digital possibilita o envio seguro de documentos e cobranças pelo WhatsApp, exigindo uma validação do destinatário antes do acesso ao arquivo. A integração é indicada para envios financeiros e documentos sensíveis que requerem autenticação.

Autenticação

Antes de realizar chamadas à API do Carteiro Digital, é necessário obter um token de acesso (access_token) utilizando a rota de login. Esse token deve ser enviado no cabeçalho das requisições no formato Authorization: Bearer {access_token}.
⚠️ Importante:
  • O usuário usado para autenticar deve ser do tipo API. Consulte Usuários no Invenio Center.
  • O campo expires_in no response de login define a validade do token; por padrão pode ser considerado válido por longos períodos (ex.: 3333 dias). Se a rota de login for executada novamente, o token anterior será invalidado — armazene o token e solicite novo somente ao receber 401 Unauthorized.

Endpoint de Login

  • Método: POST
  • URL: https://api.robbu.global/v1/login
Body (JSON):
{
  "Company": "NOME_DA_EMPRESA",
  "Username": "USUARIO_API",
  "Password": "SENHAUSUARIO_API"
}
Campos:
  • Company: Nome do ambiente/empresa no Invenio Center.
  • Username: Usuário com permissão de integração (tipo API).
  • Password: Senha do usuário.
Exemplo de response de login:
{
  "access_token": "eyJhbGciOi...",
  "expires_in": 287971200,
  "refresh_token": "",
  "token_type": "bearer"
}

Endpoint de Envio de Documento

  • Método: POST
  • URL: https://api.robbu.global/v2/digitalpostman
O envio deve incluir o cabeçalho Authorization: Bearer {access_token}. Exemplo de request (completo)
POST https://api.robbu.global/v2/digitalpostman
{
  "senderName": "Robbu",
  "contactName": "Robbu Teste",
  "contactId": "11122233344",
  "walletCode": "CarteiraTeste",
  "contactPhoneNumber": "5511999999999",
  "invalidTokenMessage": "Opção inválida!\r\n\r\nAqui estão os nossos canais de atendimento:\r\n📞551199999999",
  "instructionsMessage": "*Tem dúvidas? Fale com a Robbu:😀*\r\n📞551199999999",
  "documentCollection": [
    {
      "documentCode": "1946753214860",
      "documentFileName": "boleto.pdf",
      "documentBase64": "JVBERi0xLjMKJcTl8uXrp..."
    }
  ]
}

Detalhamento dos Campos

CampoDescrição
senderNameNome do remetente exibido ao destinatário.
contactNameNome completo do destinatário.
contactIdCPF/CNPJ do destinatário — usado para validação (3 primeiros dígitos).
walletCodeCódigo da carteira cadastrada no Invenio.
contactPhoneNumberNúmero do destinatário com DDI + DDD (ex.: 5511999999999).
invalidTokenMessageMensagem exibida quando o token informado pelo usuário for inválido.
instructionsMessageMensagem com instruções enviada junto ao documento.
documentCollectionArray com os documentos a serem enviados (veja estrutura abaixo).
⚠️ Importante:
  • Apenas invalidTokenMessage e instructionsMessage podem ser totalmente personalizadas; demais mensagens do fluxo são geradas pelo sistema.
  • As quebras de linha devem usar \r\n e emojis podem ser utilizados normalmente.

Estrutura do campo documentCollection

CampoTipoObrigatórioDescrição
documentCodeStringSimLinha digitável do boleto ou identificador do documento / código Pix.
documentFileNameStringSimNome do arquivo (ex.: boleto.pdf, qrcode.png).
documentBase64StringSimArquivo codificado em Base64.
documentValueStringNão (Pix: Sim)Valor do documento — obrigatório para envios de Pix.
⚠️ Observações:
  • Converta seus arquivos para Base64 antes do envio (use encoders online se necessário).
  • Respeite os limites de tamanho por tipo de mídia definidos pelo canal (consulte a tabela de limites do WhatsApp no Invenio Center).

Responses

CódigoDescrição
200 OKRequisição processada com sucesso; envio iniciado.
400 Bad RequestParâmetros inválidos ou incompletos.
401 UnauthorizedToken ausente, inválido ou expirado.
404 Not FoundURL incorreta.
500 Internal Server ErrorErro interno da API.
A API pode não retornar detalhes de erros de provedores externos (por exemplo Meta/WhatsApp). Para logs e detalhes de entrega, verifique o Invenio Center.

Fluxo de Validação por Token

Ao enviar o documento, o usuário destinatário precisa validar o acesso informando os 3 primeiros dígitos do contactId (CPF/CNPJ). Se a validação for correta, o arquivo é disponibilizado.
⚠️ Observação sobre CPFs iniciados por zero:
  • Para CPFs que começam com 0, aceitamos a digitação dos três dígitos com ou sem o zero inicial. Ex.: 011.222.333-44 aceita 011 ou 112.

Exemplos de uso

  • Envio de documento (boleto) — já mostrado acima.
  • Envio de Pix — neste caso inclua documentValue com o valor do pagamento no objeto do documentCollection.
POST https://api.robbu.global/v2/digitalpostman
{
  "senderName": "Robbu",
  "contactName": "Robbu Teste",
  "contactId": "11122233344",
  "walletCode": "c141",
  "contactPhoneNumber": "5511998037663",
  "invalidTokenMessage": "Opção inválida!\r\n\r\nAqui estão os nossos canais de atendimento:\r\n📞551199999999",
  "instructionsMessage": "*Tem dúvidas? Fale com a Robbu:😀*\r\n📞551199999999",
  "documentCollection": [
    {
      "documentCode": "c9f1a3b4-82d7-4e0e-9a21-55f4d7b98f10",
      "documentValue": "1200.00",
      "documentFileName": "pix-qrcode.png",
      "documentBase64": "..."
    }
  ]
}


⁉️Perguntas Frequentes (FAQ)

Não. Guarde o access_token até expirar ou até a API retornar 401 Unauthorized.
Sim. Adicione múltiplos objetos dentro do array documentCollection.
Utilize qualquer conversor online ou uma biblioteca local para gerar o Base64 do arquivo antes de enviar.
A mensagem definida em invalidTokenMessage será exibida; você pode personalizá-la conforme o fluxo desejado.
Sim. Para Pix, documentValue é obrigatório e deve conter o valor associado ao pagamento.