API SMS

Esta API permite enviar mensagens SMS em massa e individualmente.

Guia de Uso da API de Envio de SMS

Abreviações

AbreviaturaDescrição
PARQUETFormato de arquivo projetado para armazenar grandes quantidades de dados de maneira organizada e eficiente.
PDUUnidade de Dados do Protocolo (Protocol Data Unit) que representa a quantidade de fragmentos nos quais um SMS é dividido para o seu envio.
UUIDIdentificador Único Universal (código gerado aleatoriamente) utilizado para msg_id e request_id.

Introdução

A API de Envio de SMS permite realizar envios unitários e em massa de mensagens de texto utilizando os formatos JSON ou Parquet.

Através deste guia você poderá conhecer como se autenticar, quais serviços estão disponíveis e quais estruturas devem ser utilizadas para realizar os envios corretamente, quais métodos estão disponíveis e quais formatos devem ser usados para realizar as solicitações.

1. Autenticação e Segurança

Antes de usar a API de Envios em Massa, é necessário contar com uma chave de acesso segura ("api key"). Essa chave é entregue diretamente pela equipe da Saem Colombia e deve ser incluída em cada solicitação dentro do cabeçalho x-auth.

Sem essa autenticação, o sistema rejeitará a requisição.

Além da api key, deve-se incluir o cabeçalho x-prefix indicando o código do país em todas as solicitações.

Exemplo de aplicação (headers):

KeyValue
x-authapi-key-00000000000000000000000000000000000000
x-prefix57

Serviços Disponíveis na API SMS

Parâmetros de Entrada

Quote

CampoDescrição
fromIdentificador do remetente autorizado a enviar mensagens.
numbersLista de mensagens a enviar. Cada objeto deve incluir to, content e, opcionalmente, msg_id.
msg_idID único da mensagem. Se não for enviado, é gerado automaticamente.
toNúmero de celular do destinatário.
contentTexto da mensagem incluindo o shortname.
flashDefine se o SMS será exibido imediatamente em uma janela pop-up (yes ou no). Este campo é obrigatório para todos os serviços.
unique-numbersSe necessário, utilize este parâmetro para validar e rejeitar números duplicados no envio. Aceita yes ou no. Caso contrário, não é necessário incluí-lo.
x-prefixCódigo do país, deve ser enviado como header.
x-authToken de autenticação, deve ser enviado como header.

2. Envio Unitário

  • URL: https://apisms.saem.tel/v3/send
  • Método: GET
  • Headers: x-auth: api-key-XXX000X00000, x-prefix: 57 Exemplo de Params (query string):
KeyValue
to573999999999
contentPrueba oficial SMS API V3 claro
fromsaemcolombia
flashno

Exemplo de solicitação completa:

GET https://apisms.saem.tel/v3/send?to=573999999999&content=Prueba oficial SMS API V3 claro&from=saemcolombia&flash=no

💡 IMPORTANTE Para todos os nossos serviços em formato JSON poderá ser carregado um máximo de 200.000 registros. Se for enviada uma quantidade superior, o sistema rejeitará a solicitação com o erro: SMS_008.

3. Envio em Massa — Formato JSON

  • URL: https://apisms.saem.tel/v3/send
  • Método: POST
  • Headers: x-auth: api-key-XXX000X00000, x-prefix: 57 Exemplo de Body:
{
  "from": "SaemColombia",
  "coding": 0,
  "dlr": "no",
  "dlr-url": "",
  "dlr-level": "",
  "dlr-method": "",
  "flash": "no",
  "unique-numbers": "yes",
  "numbers": [
    { "to": "3000000000", "content": "Hola Saem, este es tu mensaje de prueba oficial" },
    { "to": "3123457891", "content": "Hola Saem, este es tu mensaje de prueba oficial" },
    { "to": "3999999999", "content": "Hola Saem, este es tu mensaje de prueba oficial" },
    { "to": "3999999999", "content": "Hola Saem, este es tu mensaje de prueba oficial" },
    { "to": "3999999999", "content": "Hola Saem, este es tu mensaje de prueba oficial" }
  ]
}

Para o formato a seguir devemos levar em conta que o corpo da solicitação (body) deve ser enviado no formato form-data, incluindo o arquivo .parquet e os demais parâmetros necessários.

💡 Recomendação: Sugere-se utilizar o formato .Parquet em vez de arquivos JSON, já que ele permite um carregamento muito mais rápido, reduz o tamanho do arquivo e melhora o desempenho geral do processo.

Para este formato poderá ser carregado um máximo de 500.000 registros. Se for enviada uma quantidade superior, o sistema rejeitará a solicitação com o erro SMS_008.

4. Envio em Massa — Formato Parquet

  • URL: https://apisms.saem.tel/v3/send/parquet
  • Método: POST
  • Headers: x-auth: api-key-XXX000X00000, x-prefix: 57 Exemplo de Body (form-data):
KeyTipoValue
fileFilesms_prueba.parquet
fromTextsaemcolombia
codingText0
dlrTextno
dlr-urlText(vazio)
dlr-levelText1
dlr-methodTextPOST
flashText(vazio)

5. Erros Comuns e Respostas

CódigoStatusDescrição
USER_NOT_FOUND404O usuário não é válido.
USER_INACTIVE401O usuário está inativo ou não tem permissões para realizar a ação.
AUTH.TOKEN_MISSING400Falta o token de autenticação.
API_KEY_NOT_FOUND400A chave API não foi encontrada ou foi revogada.
COUNTRY_001400Não foi encontrado um país associado ao prefixo.
SMS_002402Créditos insuficientes para usuários com plano pré-pago.
SMS_008400O número de registros enviados excede o limite permitido.
SMS_009400O arquivo Parquet enviado não é válido ou não cumpre o formato esperado.
DUPLICATED_MSG_ID400Um ou mais identificadores msg_id já existem em uma campanha anterior.
FORBIDDEN_TERMS400O conteúdo contém termos não permitidos.
SHORTNAME_INACTIVE400O shortname não se encontra ativo para o usuário.
SHORTNAME_NOT_FOUND400A mensagem não contém o shortname obrigatório.
CONTENT_TOO_LONG400O conteúdo ultrapassa o limite de comprimento permitido para um SMS.

Parâmetros de Saída

CampoDescrição
request_idID único atribuído à campanha em massa.
total_creditsTotal de créditos consumidos pelo envio.
recordsTotal de mensagens processadas da campanha.
total_pdu_countTotal de PDUs gerados entre todas as mensagens.

PARQUET

Formato de arquivo colunar recomendado para cargas massivas de números e parâmetros de campanha.

PDU

Protocol Data Unit. Unidade de dados que representa os fragmentos nos quais um SMS é dividido para envio.

UUID

Identificador único universal utilizado para msg_id e request_id na API.

SUBSERVICE

Tipo de campanha: standard (áudio pré-gravado) ou custom (texto para fala).

AUDIOID

Identificador do recurso multimídia associado a um áudio pré-gravado no modo STANDARD.

VOICE

Voz utilizada em campanhas CUSTOM para converter texto em áudio. Podem ser usadas vozes como "Juan" ou "Maria".

MAILBOX

Indica se uma mensagem é deixada na caixa postal quando o destinatário não atende.

Registrar PQRSF