Autenticação
Antes de realizar o envio de mensagens pela API, é necessário obter um token de acesso (access_token). Esse token é solicitado na rota de login e deve ser utilizado na chamada da API SendMessage como um Bearer Token, funcionando como a autorização para que o disparo seja concluído com sucesso.⚠️ Importante:O usuário utilizado na requisição de login precisa ser do tipo API, garantindo a segurança e o correto funcionamento da integração. Acesse a documentação sobre Usuários
Caso o token não seja informado, ou esteja expirado, a API retornará o erro 401 Unauthorized impedindo o envio da mensagem.
Endpoint de Login
Para realizar a autenticação preencha a requisição conforme o exemplo abaixo: Método:POST
URL: https://api.robbu.global/v1/login
Company ➜ Nome da empresa no Invenio Center
Username ➜ Nome do usuário API
Password ➜ Senha do usuário API
Body:
Endpoint de Envio de Mensagens
Com o token em mãos, basta utilizar a rota de envio para realizar o disparo das mensagens. Método:POST
URL: https://api.robbu.global/v1/sendmessage
O envio deve incluir no cabeçalho a autenticação no formato: Authorization: Bearer {access_token}
Exemplo de request (completo)
POST https://api.robbu.global/v1/sendmessage
Detalhamento dos Campos
Parâmetros da Requisição SendMessage
| Campo | Descrição |
|---|---|
| InvenioPrivateToken | Obtido no ambiente administrativo do Invenio Center em Configurações > Conta. Obrigatório para que a chamada seja aceita. |
| Text | Conteúdo da mensagem em texto livre. Ignorado quando o envio utiliza template HSM. Só pode ser usado em contatos com janela de 24h aberta (saiba mais). |
| EmailSubject | Usado apenas em mensagens enviadas por e-mail, deve ser preenchido com o título do e-mail. |
| Channel | Define o canal de envio: 1 = E-mail, 2 = SMS, 3 = WhatsApp. |
| attendantUserName | Se preenchido, irá definir qual usuário estará fidelizado ao contato. |
| TemplateName | Quando o envio é feito via HSM, deve ser preenchido com o nome do template. |
| TemplateParameters | Personalização dos templates com variáveis dinâmicas. Veja abaixo. |
| Source | Informações da origem da mensagem (linha de disparo). Veja abaixo. |
| Destination | Informações do destinatário da mensagem. Veja abaixo. |
| DiscardSettings | Evita disparos desnecessários quando já houve contato recente ou atendimento ativo. Veja abaixo. |
| Contact | Dados adicionais do contato que podem ser atualizados no disparo. Veja abaixo. |
| WalletClientCode | Código cliente do segmento definido no Invenio, garantindo vínculo com a carteira escolhida. |
| UpdateIfExists | Define se as informações do contato devem ser atualizadas (true ou false). |
| VoiceSettings | Deve ser preenchido com o Call ID de voz nos fluxos do canal de voz. |
| Files | Permite o envio de arquivos anexados. Veja abaixo. |
⚠️ Importante:
O parâmetrotexté responsável pelo envio de mensagens livres aos contatos. Mesmo em cenários em que ele não é utilizado, como no disparo de templates por exemplo, esse campo é obrigatório e não deve ser removido do body da requisição.
Para esses cenários ele deve permanecer presente, ainda que vazio. Caso o parâmetro seja excluído, a API retornará o erro:
“message”: “Object reference not set to an instance of an object.”
TemplateParameters (Parâmetros de template)
| Campo | Descrição |
|---|---|
| ParameterName | Nome da variável conforme definido no template. |
| ParameterValue | Valor que substituirá a variável no envio. |
Source (Origem da Mensagem)
| Campo | Descrição |
|---|---|
| CountryCode | Código do país da linha de origem. |
| PhoneNumber | Número de telefone (com DDD) da linha que realizará o disparo. |
| Prospect | Define a aleatorização das linhas prospect. - false: a mensagem sairá exatamente da linha configurada. - true: pode ser enviada por outra linha prospect elegível. Saiba mais sobre aleatorização. |
Destination (Destino da Mensagem)
| Campo | Descrição |
|---|---|
| CountryCode | Código do país do contato que receberá a mensagem. |
| PhoneNumber | Número de telefone (com DDD) do contato destinatário. |
| Endereço de e-mail do destinatário (quando o canal for e-mail). |
DiscardSettings (Descartes)
| Campo | Descrição |
|---|---|
| RecentContactLastHours | Quantidade de horas a considerar para descartar o envio. |
| InAttendance | true: descarta contatos em atendimento. false: envia mesmo que o contato esteja em atendimento. |
⚠️ Importante:
Os parâmetrosDiscardSettingseattendantUserNamepossuem uma relação direta e devem ser configurados de forma alinhada para evitar bloqueios no envio de mensagens. A condição de descarte definida emDiscardSettings, especificamente o parâmetroInAttendance, atua como uma barreira de envio sempre que o sistema identifica que aquele contato está fidelizado a um operador em um determinado período de tempo.
Por sua vez, o parâmetroattendantUserNameé justamente o responsável por realizar essa fidelização do contato a um operador específico. Ou seja, ao definir um nome de operador emattendantUserName, o contato passa a ser reconhecido como estando em operação/atendimento.
Dessa forma, sempre queattendantUserNamefor utilizado, é necessário garantir que, na configuração deDiscardSettings, o parâmetroInAttendanceseja marcada como false. Caso essa condição permaneça como true, o envio será bloqueado e a API retornará o erro:
message not sent: contact in attendance
Contact (Contato)
| Campo | Descrição |
|---|---|
| Name | Atualiza o nome do contato no Invenio. |
| CustomCode | Código personalizado usado pela empresa para categorizar contatos. |
| Id | Atualiza o CPF/CNPJ do contato. |
| Tag | Categoriza contatos para facilitar a busca (saiba mais). |
| Jokers | Coringas dinâmicos utilizados no disparo. - Joker 1 a 4: até 300 caracteres. - Joker 5: até 3000 caracteres. |
Files (Anexos)
| Campo | Descrição |
|---|---|
| Address | URL da mídia a ser enviada. |
| Base64 | Código em base64 da mídia. |
| Name | Nome do arquivo com extensão (ex.: boleto.pdf). |
ℹ️ Observação:
- Em templates (HSM) só é permitido 1 arquivo por disparo.
- Em mensagens livres, é possível enviar múltiplos arquivos (ex.: ZIP).
- Apesar de permitido, o envio em ZIP pode não ser compatível com todos os modelos de celulares.
Responses API Send Message
Ao realizar uma chamada à API, diferentes códigos de status podem ser retornados, indicando o resultado do disparo. A seguir, listamos os principais responses que podem ser encontrados, juntamente com seu significado, para auxiliar no monitoramento e tratamento de respostas:| Código | Descrição |
|---|---|
| 200 OK | Mensagem enviada corretamente. |
| 400 Bad Request | Preenchimento incorreto ou incompleto de parâmetros. |
| 401 Unauthorized | Token inválido ou expirado. |
| 404 Not Found | URL incorreta. |
| 500 Internal Server Error | Erro interno da API. |
ℹ️ Observação:
É importante observar que a API não retorna mensagens de erro detalhadas em casos de falha de envio nos canais externos (como erros da Meta). Nesses casos, a validação deve ser feita diretamente no Invenio Center, onde estão disponíveis os logs e relatórios de entrega.
Exemplos de Requisições
Preenchimento com parâmetros de templates
Preenchimento com parâmetros de templates
POST https://api.robbu.global/v1/sendmessage


Envio de texto livre com dois arquivos
Envio de texto livre com dois arquivos
POST https://api.robbu.global/v1/sendmessage

Envio com preenchimento de coringas
Envio com preenchimento de coringas
POST https://api.robbu.global/v1/sendmessage

Envio para e-mail
Envio para e-mail
POST https://api.robbu.global/v1/sendmessage
⚠️Observação:
O envio será realizado pelo e-mail já configurado emCanaisno Invenio Center.
Acesse e saiba mais: Contas de E-mail - Invenio Center
Envio de Carrossel
Envio de Carrossel
POST https://api.robbu.global/v1/sendmessage
⚠️Observação:
No modelo de carrossel, a nomenclatura atribuída aos parâmetros não interfere no comportamento do componente, podendo ser definida livremente. As imagens serão preenchidas conforme a ordem em que forem inseridas. Já os valores dos parâmetros devem ser adicionados por meio da URL correspondente. Na seção deMídiasno Invenio Center, é possível copiar essa URL, sendo necessário incluir a extensão do arquivo ao final para garantir o correto processamento do recurso. Acesse e saiba mais: Biblioteca de Mídias - Invenio Center

Envio de Template de Autenticação
Envio de Template de Autenticação
POST https://api.robbu.global/v1/sendmessage
⚠️Observação:
Nesse caso, a única exigência é a utilização da variável@Codeno botão, seja em um template de autenticação ou em um template tradicional que utilize a função de copiar e colar. No corpo do texto, é possível utilizar outras variáveis — como coringas, por exemplo — conforme sua preferência, sem impacto no funcionamento.

Envio de SMS
Envio de SMS
POST https://api.robbu.global/v1/sendmessage
🔗 Links e assuntos relacionados
- Configurações Gerais da Conta
- Usuários no Invenio Center
- Filtros de Busca de Contatos
- Segmentos no Invenio Center
- Templates de E-mail
- Como Criar Templates no WhatsApp
- Canais de Atendimento no Invenio Center
- Sessão de 24h no WhatsApp
- Filtros e Menus de Busca no Invenio Live
- Filtro por Canal no Invenio Live
⁉️ Perguntas Frequentes (FAQ)
A autenticação precisa ser feita em todos os envios?
A autenticação precisa ser feita em todos os envios?
Não. O token obtido na rota de login possui validade definida no campo expires_in. Ele deve ser reutilizado até expirar, solicitando um novo apenas quando houver retorno 401 Unauthorized.
O campo text pode ser usado em qualquer envio?
O campo text pode ser usado em qualquer envio?
Não. Esse campo é ignorado em envios que utilizam template HSM e só pode ser usado para contatos que estejam dentro da janela de 24 horas aberta no WhatsApp.
Quantos arquivos posso enviar em um único disparo?
Quantos arquivos posso enviar em um único disparo?
- Em templates HSM: apenas 1 arquivo é permitido.
- Em mensagens livres: múltiplos arquivos podem ser enviados, incluindo ZIP (com ressalva de compatibilidade em alguns dispositivos).
O que acontece se eu executar novamente a rota de login?
O que acontece se eu executar novamente a rota de login?
O token anterior será automaticamente invalidado. Apenas o último token gerado será válido para as requisições.
Como funciona o parâmetro `discardSettings`?
Como funciona o parâmetro `discardSettings`?
Ele evita envios duplicados ou desnecessários:
recentContactLastHours: define em quantas horas o envio deve ser descartado se já houver interação anterior.InAttendance: quando configurado comotrue, impede disparo para contatos que já estão em atendimento.
É possível atualizar dados do contato durante o envio?
É possível atualizar dados do contato durante o envio?
Sim. O objeto Contact permite atualizar informações como nome, documento, tags e coringas, além de definir se os dados devem ser sobrescritos (
updateIfExists).Onde verificar erros de envio detalhados?
Onde verificar erros de envio detalhados?
A API retorna apenas status gerais (200, 400, 401, etc.).
Para detalhes sobre falhas em canais externos (como a Meta/WhatsApp), é necessário consultar os logs e relatórios de entrega diretamente no Invenio Center.
Para detalhes sobre falhas em canais externos (como a Meta/WhatsApp), é necessário consultar os logs e relatórios de entrega diretamente no Invenio Center.