A API do SendWork permite integrar envios transacionais de SMS, voz, e-mail e RCS, criar campanhas de apoio, consultar status, validar tokens e acompanhar saldo. Ela foi projetada para integrações servidor a servidor usando chave de API e identificador do usuário da API.
Coleção Postman/Insomnia
Copie o JSON abaixo e importe no Postman ou Insomnia. Depois, preencha as variáveis da coleção com suas credenciais.
{
"info": {
"name": "SendWork API - Requests",
"description": "Colecao com os exemplos de request da documentacao SendWork API. Preencha as variaveis da colecao antes de enviar.",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"variable": [
{
"key": "baseUrl",
"value": "https://api.sendwork.com.br"
},
{
"key": "mailBaseUrl",
"value": "https://apimail.sendwork.com.br"
},
{
"key": "webhookUrl",
"value": "https://sua-url.com.br/webhook"
},
{
"key": "API_KEY",
"value": "{sua API_KEY}"
},
{
"key": "IdAPIUsuario",
"value": "{seu IdAPIUsuario}"
},
{
"key": "GuidCampanha",
"value": "{sua GuidCampanha}"
},
{
"key": "GuidCampanhaToken",
"value": "{sua GuidCampanhaToken}"
},
{
"key": "Identificacao",
"value": "{sua Identificacao}"
},
{
"key": "IdRetorno",
"value": "{seu IdRetorno}"
},
{
"key": "codigoUrl",
"value": "minha-url"
}
],
"item": [
{
"name": "Webhooks de DLR",
"item": [
{
"name": "Payload Padrao",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{webhookUrl}}",
"body": {
"mode": "raw",
"raw": "{\n \"Status\": \"Entregue\",\n \"Descricao\": \"Entregue\",\n \"IdRetorno\": \"{{IdRetorno}}\",\n \"StatusId\": 3,\n \"TipoEnvio\": \"SMS\",\n \"IdCliente\": 123\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Status SMS",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{webhookUrl}}",
"body": {
"mode": "raw",
"raw": "{\n \"Status\": \"Entregue\",\n \"Descricao\": \"Entregue\",\n \"IdRetorno\": \"{{IdRetorno}}\",\n \"StatusId\": 3,\n \"TipoEnvio\": \"SMS\",\n \"IdCliente\": 123\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Status RCS",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{webhookUrl}}",
"body": {
"mode": "raw",
"raw": "{\n \"Status\": \"Lido\",\n \"Descricao\": \"Lido\",\n \"IdRetorno\": \"{{IdRetorno}}\",\n \"StatusId\": 12,\n \"TipoEnvio\": \"RCS\",\n \"IdCliente\": 123\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Status VOZ",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{webhookUrl}}",
"body": {
"mode": "raw",
"raw": "{\n \"Status\": \"Completada\",\n \"Descricao\": \"Completada\",\n \"IdRetorno\": \"{{IdRetorno}}\",\n \"StatusId\": 2,\n \"TipoEnvio\": \"VOZ\",\n \"IdCliente\": 123\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Status EMAIL",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{webhookUrl}}",
"body": {
"mode": "raw",
"raw": "{\n \"Status\": \"entregue\",\n \"Descricao\": \"entregue\",\n \"IdRetorno\": \"{{IdRetorno}}\",\n \"StatusId\": 10,\n \"TipoEnvio\": \"EMAIL\",\n \"IdCliente\": 123\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
}
]
},
{
"name": "Metodos de Envio - SMS",
"item": [
{
"name": "Enviar Mensagem (v1)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/send",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"GuidCampanha\": \"{{GuidCampanha}}\",\n \"Telefone\": \"5511987654321\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Enviar Mensagem (v2)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v2/send",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"GuidCampanha\": \"{{GuidCampanha}}\",\n \"Telefone\": \"552199999999\",\n \"MsgTexto\": \"Teste\",\n \"TipoEnvio\": \"SMS\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Enviar Mensagem (v3)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v3/Send",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"TipoEnvio\": \"SMS\",\n \"Mensagens\": [\n {\n \"Telefone\": \"5521999999999\",\n \"MsgTexto\": \"Teste de envio\"\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
}
]
},
{
"name": "Metodos de Envio - Voz",
"item": [
{
"name": "Criar Campanha de Voz a partir de Base64",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v2/VoiceCampaign/createFromBase64",
"body": {
"mode": "raw",
"raw": "{\n \"Base64Audio\": \"{BASE64_AUDIO_MP3}\",\n \"NomeCampanha\": \"Campanha Teste Voz\",\n \"APIKEY\": \"{{API_KEY}}\",\n \"IdUsuarioAPI\": \"{{IdAPIUsuario}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Criar Campanha de Voz a partir de Arquivo",
"request": {
"method": "POST",
"header": [],
"url": "{{baseUrl}}/api/v2/VoiceCampaign/createFromFile",
"body": {
"mode": "formdata",
"formdata": [
{
"key": "File",
"type": "file",
"src": "/path/to/your/audio.mp3"
},
{
"key": "NomeCampanha",
"type": "text",
"value": "Campanha Teste Voz"
},
{
"key": "APIKEY",
"type": "text",
"value": "{{API_KEY}}"
},
{
"key": "IdUsuarioAPI",
"type": "text",
"value": "{{IdAPIUsuario}}"
}
]
}
}
}
]
},
{
"name": "Metodos de Envio - RCS",
"item": [
{
"name": "Enviar RCS (v2)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v2/SendRcs",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"GuidCampanha\": \"{{GuidCampanha}}\",\n \"Telefone\": \"5521999999999\",\n \"Titulo\": \"Novo Titulo\",\n \"Descricao\": \"Nova Descricao\",\n \"NomeBotao\": \"Clique Aqui\",\n \"LinkBotao\": \"https://link-personalizado.com\",\n \"Mensagem\": \"Mensagem personalizada para este envio\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Enviar RCS Individual (v4)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v4/sendrcs",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"GuidCampanha\": \"{{GuidCampanha}}\",\n \"TipoEnvio\": \"RCS\",\n \"Mensagens\": [\n {\n \"Telefone\": \"11999999999\",\n \"json\": {\n \"Mensagem\": \"Mensagem RCS\",\n \"Titulo\": \"Titulo do card\",\n \"Imagem\": \"https://sendwork.com.br/imagem.png\",\n \"Size\": \"TALL\",\n \"Botoes\": [\n {\n \"label\": \"Abrir\",\n \"textoBotao\": \"Abrir\",\n \"url\": \"https://sendwork.com.br\"\n }\n ],\n \"Variaveis\": []\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Enviar RCS em Lote (v4)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v4/sendrcs",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"GuidCampanha\": \"{{GuidCampanha}}\",\n \"TipoEnvio\": \"RCS\",\n \"Mensagens\": [\n {\n \"Telefone\": \"11999999999\",\n \"json\": {\n \"Mensagem\": \"Mensagem RCS\",\n \"Titulo\": \"Titulo do card\",\n \"Imagem\": \"https://sendwork.com.br/imagem.png\",\n \"Size\": \"TALL\",\n \"Botoes\": [\n {\n \"label\": \"Abrir\",\n \"textoBotao\": \"Abrir\",\n \"url\": \"https://sendwork.com.br\"\n }\n ],\n \"Variaveis\": []\n }\n },\n {\n \"Telefone\": \"11999999998\",\n \"json\": {\n \"Mensagem\": \"Segunda mensagem RCS\",\n \"Titulo\": \"Titulo do card\",\n \"Imagem\": \"https://sendwork.com.br/imagem.png\",\n \"Size\": \"TALL\",\n \"Botoes\": [],\n \"Variaveis\": []\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Enviar RCS com JSON por Destinatario",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/RCS",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"Mensagens\": [\n {\n \"Telefone\": \"11999999999\",\n \"json\": {\n \"Mensagem\": \"Mensagem RCS\",\n \"Titulo\": \"Titulo do card\",\n \"Imagem\": \"https://sendwork.com.br/imagem.png\",\n \"Size\": \"TALL\",\n \"Botoes\": [\n {\n \"label\": \"Abrir\",\n \"textoBotao\": \"Abrir\",\n \"url\": \"https://sendwork.com.br\"\n }\n ],\n \"Variaveis\": []\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
}
]
},
{
"name": "Metodos de Envio - E-mail",
"item": [
{
"name": "Enviar E-mail HTML (v3)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{mailBaseUrl}}/api/v3/sendemailhtml",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"Assunto\": \"Campanha Especial\",\n \"HTML\": \"<html><body><h1>Ola!</h1><p>Confira nossa oferta.</p></body></html>\",\n \"Mensagens\": [\n {\n \"Email\": \"cliente@exemplo.com\"\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Enviar E-mail (v3)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v3/sendemail",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"GuidCampanha\": \"{{GuidCampanha}}\",\n \"Mensagens\": [\n {\n \"Email\": \"cliente@exemplo.com\",\n \"MsgTexto\": \"Mensagem opcional para personalizacao\"\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Criar Campanha de E-mail (v3)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{mailBaseUrl}}/api/v3/email/campaigns/create",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"Nome\": \"Minha Campanha de E-mail\",\n \"Html\": \"<html><body><h1>Ola!</h1><p>Este e um teste.</p></body></html>\",\n \"Assunto\": \"Assunto do E-mail\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
}
]
},
{
"name": "Consultas e Outros",
"item": [
{
"name": "Consultar Ultima Mensagem por Telefone",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/LbbrResponse",
"body": {
"mode": "raw",
"raw": "{\n \"Telefone\": \"11999999999\",\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Resposta de Status dos Envios",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/ResponseStatus",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdUsuario\": \"{{IdAPIUsuario}}\",\n \"IdRetorno\": \"{{IdRetorno}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Consulta de Saldo (v3)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/v3/balance",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
}
]
},
{
"name": "TokenAuth",
"item": [
{
"name": "Cria uma nova campanha de token",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v2/TokenAuth/CriarCampanhaDeToken",
"body": {
"mode": "raw",
"raw": "{\n \"MsgTexto\": \"Seu codigo e {token}\",\n \"ApiKey\": \"{{API_KEY}}\",\n \"IdApiUsuario\": \"{{IdAPIUsuario}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Solicita o envio de um token via SMS",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Authorization",
"value": "Bearer {{API_KEY}}"
}
],
"url": "{{baseUrl}}/api/v2/TokenAuth/SolicitarToken",
"body": {
"mode": "raw",
"raw": "{\n \"Telefone\": \"11999999999\",\n \"GuidCampanha\": \"{{GuidCampanhaToken}}\",\n \"Tipo\": \"N\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Valida o token informado",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Authorization",
"value": "Bearer {{API_KEY}}"
}
],
"url": "{{baseUrl}}/api/v2/TokenAuth/ValidarToken",
"body": {
"mode": "raw",
"raw": "{\n \"Token\": \"123456\",\n \"Identificacao\": \"{{Identificacao}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
}
]
},
{
"name": "Encurtador de URL",
"item": [
{
"name": "Encurtar URL",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v2/UrlShortener/encurtar",
"body": {
"mode": "raw",
"raw": "{\n \"API_KEY\": \"{{API_KEY}}\",\n \"IdAPIUsuario\": \"{{IdAPIUsuario}}\",\n \"UrlOriginal\": \"https://sendwork.com.br\",\n \"UrlPersonalizada\": \"{{codigoUrl}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Listar URLs",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v2/UrlShortener/listar?API_KEY={{API_KEY}}&IdAPIUsuario={{IdAPIUsuario}}"
}
},
{
"name": "Deletar URL",
"request": {
"method": "DELETE",
"header": [],
"url": "{{baseUrl}}/api/v2/UrlShortener/deletar/{{codigoUrl}}?API_KEY={{API_KEY}}&IdAPIUsuario={{IdAPIUsuario}}"
}
},
{
"name": "Redirecionar URL",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/{{codigoUrl}}"
}
}
]
}
]
}Autenticação
Para acessar a API do SendWork, os usuários devem possuir uma API_KEY ativa e um IdAPIUsuario válido. Para solicitar ou revisar essas credenciais, entre em contato com nosso suporte através do email suporte@sendwork.com. Nossa equipe fornecerá as informações necessárias para que você possa começar a utilizar a API.
Webhooks de DLR
O sistema permite receber atualizações de status de envio (DLRs) em tempo real configurando uma URL HTTPS para receber webhooks. Para configurar a URL, acesse o link https://app.sendwork.com.br/ e vá no Menu > Integração. Lá é possível informar a URL desejada para receber os DLRs.
A URL configurada deve aceitar requisições POST com application/json e responder com status 2xx. Quando a resposta não é 2xx, o envio fica registrado como falha no log de webhook.
Payload Padrao
{
"Status": "Entregue",
"Descricao": "Entregue",
"IdRetorno": "identificador-do-envio",
"StatusId": 3,
"TipoEnvio": "SMS",
"IdCliente": 123
}| Campo | Tipo | Descricao |
|---|---|---|
Status | string | Nome do status atual do envio. |
Descricao | string | Descricao do status atual do envio. Hoje recebe o mesmo valor de Status. |
IdRetorno | string | Identificador de retorno do envio. |
StatusId | int | Codigo numerico do status. |
TipoEnvio | string | Tipo do envio: SMS, RCS, VOZ ou EMAIL. |
IdCliente | int | Codigo do cliente. |
Status SMS
| StatusId | Status / Descricao |
|---|---|
| 1 | Aceito |
| 2 | Enviado |
| 3 | Entregue |
| 4 | Desconhecido |
| 5 | Expirado |
| 6 | Nao Entregavel |
| 7 | Lista Negra |
| 8 | Deletado |
| 9 | Rejeitado |
| 10 | Sem Credito |
| 11 | Invalido |
Quando o StatusId nao estiver mapeado, o servico usa RetornoBroker. Se RetornoBroker estiver vazio, usa Status de envio.
Status RCS
| StatusId | Status / Descricao |
|---|---|
| 1 | Aceito |
| 2 | Enviado |
| 3 | Entregue |
| 4 | Desconhecido |
| 5 | Expirado |
| 6 | Nao Entregavel |
| 7 | Lista Negra |
| 8 | Deletado |
| 9 | Rejeitado |
| 10 | Sem Credito |
| 11 | Invalido |
| 12 | Lido |
Quando o StatusId nao estiver mapeado, o servico usa Status de envio.
Status VOZ
| StatusId | Status / Descricao |
|---|---|
| 1 | Abandonado |
| 2 | Completada |
| 3 | Discando |
| 4 | Em andamento |
| 5 | Indisponivel |
| 6 | Mensagem de Operadora |
| 7 | Nao atendida |
| 8 | Nao responde |
| 9 | Numero invalido |
| 10 | Ocupada |
| 11 | Transferida |
| 12 | Transferida para Fila |
| 13 | Fila |
| 14 | Caixa Postal |
| 15 | Sem Credito |
| 16 | Indisponivel |
| 17 | Erro ao processar |
Quando o StatusId nao estiver mapeado, o servico usa RetornoBroker. Se RetornoBroker estiver vazio, usa Status de envio.
Status EMAIL
| StatusId | Status / Descricao |
|---|---|
| 2 | enviado |
| 10 | entregue |
| 5 | rejeitado |
| 6 | devolvido |
| 7 | expirado |
| 8 | adiado |
Quando o StatusId nao estiver mapeado, o servico usa desconhecido.
Enviar Mensagem (v1)
Este método é responsável por enviar a mensagem para a campanha transacional mencionada, processando os dados do usuário conforme necessário. Na implementação atual, erros de validação e negócio retornam HTTP 200 com o campoError no corpo.
Body
requiredapplication/jsonDados do usuário a serem processados
API_KEYstringChave de API do usuário
ExampleIdAPIUsuariostring · uuidIdentificador único do usuário
ExampleGuidCampanhastring · uuidIdentificador único da campanha
ExampleTelefonestringNúmero de telefone para o qual a mensagem será enviada
ExampleResponses
{
"Message": "Ok",
"UserId": "{seu IdAPIUsuario}",
"IdRetorno": "{IdRetorno}"
}/api/v1/sendEnviar Mensagem (v2)
Este método é responsável por enviar mensagens, incluindo novos parâmetros no corpo da requisição, como msgTexto e tipoEnvio. Ele processa e envia as mensagens com base nos dados fornecidos. Na implementação atual, erros de validação e negócio retornam HTTP 200 com o campoError no corpo.
Body
requiredapplication/jsonDados do usuário a serem processados
API_KEYstringChave de API do usuário
ExampleIdAPIUsuariostring · uuidIdentificador único do usuário
ExampleGuidCampanhastring · uuidIdentificador único da campanha
-1, o sistema buscará a última campanha transacional ativa ou criará uma nova automaticamente.TelefonestringNúmero de telefone para o qual a mensagem será enviada
ExampleMsgTextostringTexto da mensagem que será enviada
ExampleTipoEnviostring · enumDefine o tipo de envio, podendo ser SMS ou VOZ
ExampleResponses
{
"Message": "Mensagem SMS enviada com sucesso.",
"UserId": "{seu IdAPIUsuario}",
"IdRetorno": "{IdRetorno}"
}/api/v2/sendEnviar Mensagem (v3)
Envia mensagens em lote para SMS ou Voz. Suporta até 500 destinatários por requisição. Na implementação atual, erros de validação e negócio retornam HTTP 200 com o campo Error no corpo.
Body
requiredapplication/jsonAPI_KEYstringChave de API do usuário
IdAPIUsuariostring · uuidIdentificador único do usuário da API
TipoEnviostringTipo de envio: SMS ou VOZ
GuidCampanhastring · optionalGuid da campanha para vincular o envio
MensagensarrayLista de objetos contendo Telefone e mensagem opcional
Telefonestring (13 dígitos)MsgTextostring · opcional para SMSResponses
{
"Message": "Mensagens SMS enviadas com sucesso.",
"UserId": "{seu IdAPIUsuario}",
"TotalEnviados": 1,
"Mensagens": [
{
"Telefone": "5521999999999",
"MsgTexto": "Teste de envio"
}
],
"IdRetornos": ["3a1b2c3d..."]
}/api/v3/SendCriar Campanha de Voz a partir de Base64
Cria uma nova campanha de voz utilizando um arquivo de áudio MP3 completo enviado em Base64.
Body
requiredapplication/jsonDados necessários para criação da campanha de voz
Base64AudiostringÁudio codificado em Base64
ExampleNomeCampanhastringNome da campanha de voz
ExampleAPIKEYstringChave de API do usuário
ExampleIdUsuarioAPIstring · uuidIdentificador único do usuário da API
ExampleResponses
{
"message": "Campanha de voz criada com sucesso.",
"GuidCampanha": "{sua GuidCampanha}"
}/api/v2/VoiceCampaign/createFromBase64Criar Campanha de Voz a partir de Arquivo
Cria uma nova campanha de voz utilizando um arquivo de áudio enviado via formulário multipart/form-data.
Body
requiredmultipart/form-dataCampos do formulário para criação da campanha de voz
Filestring · binaryArquivo de áudio (formato mp3)
ExampleNomeCampanhastringNome da campanha de voz
ExampleAPIKEYstringChave de API do usuário
ExampleIdUsuarioAPIstring · uuidIdentificador único do usuário da API
ExampleResponses
{
"message": "Campanha de voz criada com sucesso.",
"GuidCampanha": "{sua GuidCampanha}"
}/api/v2/VoiceCampaign/createFromFileEnviar RCS (v2)
Envia uma mensagem RCS individual. Este método permite utilizar uma campanha base e substituir seus valores originais por dados personalizados para este envio específico. Na implementação atual, erros de validação e negócio retornam HTTP 200 com o campo Error no corpo.
A mesma assinatura também está disponível em /api/v3/SendRcs.
Nota de Personalização: Os campos abaixo (Titulo, Descricao, etc) são opcionais. Se enviados, eles irão sobrescrever a configuração original da GuidCampanha informada.
Body
API_KEYChave de API
IdAPIUsuarioID do usuário
GuidCampanhaGuid da campanha RCS base
-1, o sistema tentará vincular o envio à última campanha transacional ativa criada no dia.TelefoneTelefone (13 dígitos)
TituloSubstitui o título da campanha
DescricaoSubstitui a descrição da campanha
NomeBotaoSubstitui o texto do botão
LinkBotaoSubstitui a URL do botão
MensagemSubstitui o texto da mensagem
Responses
{ "Message": "Mensagem RCS enviada com sucesso.", "UserId": "2e989...", "IdRetorno": "3a1b..." }/api/v2/SendRcsEnviar RCS Individual (v4)
Envia uma mensagem RCS v4 usando uma campanha existente. Na API publicada, este endpoint exige GuidCampanha, TipoEnvio e Mensagens[]. Erros de validação também retornam HTTP 200 com o campo Error.
Body
requiredapplication/jsonCredenciais, campanha e lista com um destinatário RCS
API_KEYstring · requiredChave de API do usuário
IdAPIUsuariostring · uuid · requiredIdentificador do usuário da API
GuidCampanhastring · uuid · requiredCampanha RCS existente
TipoEnviostring · requiredTipo do envio. Use RCS
Mensagensarray · requiredLista de destinatários. Para envio individual, envie um item
Telefonestring · requiredTelefone do destinatário
jsonobject · requiredConteúdo do card RCS
Mensagemstring · requiredTexto principal do card
Titulostring · requiredTítulo do card
Imagemstring · urlURL da imagem do card
SizestringAltura do card. Exemplo: TALL
BotoesarrayBotões do card
VariaveisarrayVariáveis adicionais
Responses
{
"Message": "Mensagens RCS enviadas com sucesso.",
"UserId": "{IdAPIUsuario}",
"TotalEnviados": 1,
"TotalInvalidos": 0,
"TelefonesInvalidos": [],
"IdRetornos": ["{IdRetorno}"]
}/api/v4/sendrcsEnviar RCS em Lote (v4)
Processa múltiplos envios RCS no array Mensagens do endpoint /api/v4/sendrcs. A API publicada não expõe /api/v4/sendrcs/batch.
Body
requiredapplication/jsonCredenciais, campanha e lista de destinatários RCS
API_KEYstring · requiredChave de API do usuário
IdAPIUsuariostring · uuid · requiredIdentificador do usuário da API
GuidCampanhastring · uuid · requiredCampanha RCS existente
TipoEnviostring · requiredTipo do envio. Use RCS
Mensagensarray · requiredLista de destinatários RCS
Telefonestring · requiredTelefone do destinatário
jsonobject · requiredConteúdo do card RCS
Mensagemstring · requiredTexto principal do card
Titulostring · requiredTítulo do card
Imagemstring · urlURL da imagem do card
SizestringAltura do card. Exemplo: TALL
BotoesarrayBotões do card
VariaveisarrayVariáveis adicionais
Responses
{
"Message": "Mensagens RCS enviadas com sucesso.",
"UserId": "{IdAPIUsuario}",
"TotalEnviados": 2,
"TotalInvalidos": 0,
"TelefonesInvalidos": [],
"IdRetornos": [
"{IdRetorno1}",
"{IdRetorno2}"
]
}/api/v4/sendrcsEnviar RCS com JSON por Destinatário
Endpoint absoluto /RCS. Recebe uma lista de mensagens, cada uma com telefone e objeto json do card RCS. Na implementação atual, erros retornam HTTP 200 com o campo Error.
Body
requiredapplication/jsonCredenciais e lista de mensagens RCS
API_KEYstring · requiredChave de API do usuário
IdAPIUsuariostring · uuid · requiredIdentificador do usuário da API
GuidCampanhastring · uuidCampanha RCS existente. Se omitida, a API cria campanha RCS diária
Mensagensarray · requiredLista com até 500 destinatários
Telefonestring · requiredTelefone do destinatário
jsonobject · requiredObjeto com Mensagem, Titulo, Imagem, Size, Botoes e Variaveis
Responses
{
"Message": "Mensagens RCS enviadas com sucesso.",
"UserId": "{IdAPIUsuario}",
"TotalEnviados": 1,
"TotalInvalidos": 0,
"TelefonesInvalidos": [],
"IdRetornos": ["{IdRetorno}"]
}/RCSEnviar E-mail HTML (v3)
Envia e-mails com conteúdo HTML personalizado para uma lista de destinatários. Suporta até 500 e-mails por requisição. Este endpoint fica no host apimail.sendwork.com.br e exige Assunto.
Body
requiredapplication/jsonAPI_KEYstringChave de API do usuário
IdAPIUsuariostring · uuidIdentificador único do usuário
HTMLstringConteúdo HTML do e-mail
Assuntostring · requiredAssunto do e-mail
MensagensarrayLista de destinatários
Responses
{
"Mensagem": "Envio processado",
"Status": "OK",
"GuidCampanha": "3a1b2c3d...",
"IdRetornos": [
{ "Email": "cliente@exemplo.com", "IdRetorno": "12345" }
]
}/api/v3/sendemailhtmlEnviar E-mail (v3)
Envia e-mails em lote utilizando uma campanha base. Use MsgTexto para enviar uma mensagem opcional associada ao destinatário. A mesma assinatura também está disponível em /api/v3/SendMail. Na implementação atual, erros de validação e negócio retornam HTTP 200 com o campo Error no corpo.
Body
API_KEYstring · requiredChave de API do usuário
IdAPIUsuariostring · requiredID do usuário da API (UUID)
GuidCampanhastring · requiredGuid da campanha de e-mail base
Mensagensarray · requiredLista de destinatários (Máx 500)
EmailobrigatórioE-mail do destinatário
MsgTextoopcionalMensagem opcional associada ao destinatário
Responses
{
"Message": "Envio processado",
"Status": "OK",
"IdRetornos": [
{ "Email": "cliente@exemplo.com", "IdRetorno": "7a8b..." }
]
}/api/v3/sendemailCriar Campanha de E-mail (v3)
Cria uma nova campanha de e-mail marketing fornecendo o conteúdo HTML, nome da campanha e assunto. Este endpoint fica no host apimail.sendwork.com.br.
Body
requiredapplication/jsonDados da campanha de e-mail
API_KEYstringChave de API do usuário
IdAPIUsuariostring · uuidIdentificador único do usuário da API
NomestringNome da campanha
HtmlstringConteúdo HTML do e-mail
AssuntostringAssunto do e-mail
Responses
{
"guidCampanha": "{sua GuidCampanha}",
"mensagem": "Campanha criada com sucesso"
}/api/v3/email/campaigns/createConsultar Última Mensagem por Telefone
Consulta a última mensagem SMS enviada para um telefone do cliente autenticado. A API normaliza o telefone para 55 + DDD + 9 + número.
Body
requiredapplication/jsonCredenciais e telefone usados para localizar a última mensagem SMS
Telefonestring · requiredTelefone consultado
API_KEYstring · requiredChave de API do usuário
IdAPIUsuariostring · uuid · requiredIdentificador do usuário da API
Responses
{
"telefone": "5511999999999",
"mensagem": "Texto enviado",
"dataEnvio": "2026-06-24 15:00:00"
}/api/v1/LbbrResponseResposta de Status dos Envios
Consulta o status de um envio usando o IdRetorno retornado pelos métodos de envio.
Body
requiredapplication/jsonAPI_KEYstringChave de API do usuário
IdUsuariostring · uuidIdentificador do usuário da API
IdRetornostring · uuidIdentificador retornado no envio
Responses
{
"message": "Status recebido e processado com sucesso..",
"status": "Entregue"
}/api/v1/ResponseStatusConsulta de Saldo (v3)
Consulta o saldo disponível para SMS, Voz, E-mail e RCS utilizando as credenciais da API.
Body
requiredapplication/jsonCredenciais para consulta de saldo
API_KEYstringChave de API do usuário
ExampleIdAPIUsuariostring · uuidIdentificador único do usuário da API
ExampleResponses
{
"SaldoSMS": 1500.50,
"SaldoVOZ": 250.75,
"SaldoEmail": 5000,
"SaldoRCS": 100.00
}/v3/balanceCria uma nova campanha de token
Cria uma campanha de SMS para autenticação por token. O texto da mensagem deve conter {token} para substituição automática.
Body
requiredapplication/jsonDados necessários para criar a campanha base de token
MsgTextostring · requiredTemplate da mensagem contendo {token}
ApiKeystring · requiredChave de API do usuário
IdApiUsuariostring · uuid · requiredIdentificador do usuário da API
Responses
{
"GuidCampanha": "{GuidCampanha}"
}/api/v2/TokenAuth/CriarCampanhaDeTokenSolicita o envio de um token via SMS
Gera um token, envia por SMS e retorna a identificação usada na validação.
Headers / Body
requiredapplication/jsonUse Authorization: Bearer {API_KEY} e informe a campanha de token criada anteriormente
Authorizationheader · requiredBearer {API_KEY}
Telefonestring · requiredTelefone que receberá o token
GuidCampanhastring · uuid · requiredCampanha criada para token
TipostringUse N para token numérico; outro valor gera token alfanumérico
Responses
{
"identificador": "{Identificacao}"
}/api/v2/TokenAuth/SolicitarTokenValida o token informado
Valida o token pela identificação retornada no envio e desativa o token após uso.
Headers / Body
requiredapplication/jsonUse a mesma API Key vinculada à identificação do token
Authorizationheader · requiredBearer {API_KEY}
Tokenstring · requiredToken recebido pelo destinatário
Identificacaostring · uuid · requiredIdentificação retornada por SolicitarToken
Responses
{
"valid": true
}/api/v2/TokenAuth/ValidarTokenEncurtar URL
Cria uma URL curta para uma URL http/https. Também aceita um código personalizado opcional.
Body
requiredapplication/jsonA URL original deve começar com http:// ou https://
API_KEYstring · requiredChave de API do usuário
IdAPIUsuariostring · uuid · requiredIdentificador do usuário da API
UrlOriginalstring · url · requiredURL completa que será encurtada
UrlPersonalizadastringCódigo personalizado opcional para a URL curta
Responses
{
"UrlOriginal": "https://sendwork.com.br",
"UrlEncurtada": "https://api.sendwork.com.br/minha-url",
"CodigoUrl": "minha-url",
"DataCriacao": "2026-06-24T15:00:00",
"TotalCliques": 0
}/api/v2/UrlShortener/encurtarListar URLs
Lista as URLs encurtadas ativas do cliente.
Query Params
requiredquery stringCredenciais enviadas pela query string
API_KEYstring · requiredChave de API do usuário
IdAPIUsuariostring · uuid · requiredIdentificador do usuário da API
Responses
{
"urls": [
{
"CodigoUrl": "minha-url",
"UrlOriginal": "https://sendwork.com.br",
"UrlEncurtada": "https://api.sendwork.com.br/minha-url",
"DataCriacao": "2026-06-24T15:00:00",
"TotalCliques": 0
}
],
"total": 1
}/api/v2/UrlShortener/listarDeletar URL
Desativa uma URL encurtada pelo código informado. Na API publicada atual, esta rota retorna 405 Method Not Allowed.
Path / Query Params
requiredpath / query stringInforme o código da URL no path e as credenciais na query string
codigoUrlstring · requiredCódigo da URL encurtada
API_KEYstring · requiredChave de API do usuário
IdAPIUsuariostring · uuid · requiredIdentificador do usuário da API
Responses
{
"message": "URL deletada com sucesso."
}/api/v2/UrlShortener/deletar/{codigoUrl}Redirecionar URL
Redireciona para a URL original e registra o clique.
Path Params
requiredpathEndpoint público usado pelo link encurtado gerado em UrlEncurtada
codigoUrlstring · requiredCódigo da URL encurtada
Responses
{
"Location": "https://sendwork.com.br"
}/{codigoUrl}