Documentação API SMS

API REST de SMS IAGENTEsms — envio via JSON com Bearer token

API REST para envio de SMS no Brasil: autenticação por token, envio individual, em lote e para grupos, webhook de entrega, saldo e mensagens recebidas. Exemplos em cURL, PHP, Python e Node.js.

← Documentação das APIs · API WhatsApp e SDR · API SMTP · API Email Marketing
Quickstart

Integre ainda hoje.

A API REST v2 na sua linguagem — Bearer token, JSON e webhooks de entrega.

POST /api/v2/messages
$ curl -X POST https://api.iagentesms.com.br/api/v2/messages \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5551999990000",
    "message": "Seu código: 482913"
  }'
<?php
$ch = curl_init('https://api.iagentesms.com.br/api/v2/messages');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer SEU_TOKEN',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'to' => '5551999990000',
        'message' => 'Seu código: 482913',
    ]),
]);
$resposta = json_decode(curl_exec($ch), true);
// Node.js 18+ (fetch nativo)
const res = await fetch('https://api.iagentesms.com.br/api/v2/messages', {
    method: 'POST',
    headers: {
        'Authorization': 'Bearer SEU_TOKEN',
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({ to: '5551999990000', message: 'Seu código: 482913' }),
});
const data = await res.json();
# pip install requests
import requests

resp = requests.post(
    'https://api.iagentesms.com.br/api/v2/messages',
    headers={'Authorization': 'Bearer SEU_TOKEN'},
    json={'to': '5551999990000', 'message': 'Seu código: 482913'},
)
print(resp.json())
POST /api/v2/messages HTTP/1.1
Host: api.iagentesms.com.br
Authorization: Bearer SEU_TOKEN
Content-Type: application/json

{
  "to": "5551999990000",
  "message": "Seu código: 482913"
}

API REST v2

A API REST v2 é a forma recomendada de integrar o envio de SMS ao seu sistema. Requisições e respostas em JSON, autenticação por Bearer token com escopos e cabeçalho Idempotency-Key para evitar envios duplicados em retries.

Base URL

https://api.iagentesms.com.br/api/v2

Todas as respostas de sucesso retornam um envelope { "data": ... } e os erros, { "error": { "code", "message", "details" } }.

Autenticação e escopos

Envie o token em cada requisição no cabeçalho Authorization:

Authorization: Bearer sk_live_...

Cada token tem escopos (abilities) que limitam o que ele pode fazer. Use o escopo mínimo necessário para a integração:

sms:send sms:read inbound:read credits:read groups:read groups:write contacts:read contacts:write *

Os tokens são gerados no painel de controle, onde você também pode restringir os IPs de origem e definir a validade de cada token.

Endpoints

Cada operação exige o escopo indicado. Tentar usar um endpoint sem o escopo correto retorna 403 insufficient_scope.

MétodoRotaEscopoDescrição
GET/healthpúblicoVerificação de disponibilidade
POST/messagessms:sendEnvia SMS individual
POST/messages/batchsms:sendEnvia SMS em lote
POST/groups/{id}/messagessms:sendEnvia para todos os contatos do grupo
GET/inboundinbound:readMensagens recebidas (MO)
GET/creditscredits:readConsulta saldo
GET/groupsgroups:readLista grupos
POST/groupsgroups:writeCria grupo
PUT/groups/{id}groups:writeAtualiza grupo
POST/groups/{id}/cleargroups:writeEsvazia o grupo
DELETE/groups/{id}groups:writeRemove grupo
GET/groups/{id}/contactscontacts:readLista contatos do grupo
POST/groups/{id}/contactscontacts:writeAdiciona contato
PUT/groups/{id}/contacts/{number}contacts:writeAtualiza contato
DELETE/groups/{id}/contacts/{number}contacts:writeRemove contato

Consulta de Saldo

GET /api/v2/credits Escopo: credits:read

Retorna o saldo e o consumo da conta.

curl https://api.iagentesms.com.br/api/v2/credits \
  -H "Authorization: Bearer sk_live_..."
<?php
$ctx = stream_context_create(['http' => [
    'header' => "Authorization: Bearer sk_live_..."
]]);

$response = file_get_contents('https://api.iagentesms.com.br/api/v2/credits', false, $ctx);
$data = json_decode($response, true);
echo "Saldo: {$data['data']['available']}";
?>
import requests

resp = requests.get(
    "https://api.iagentesms.com.br/api/v2/credits",
    headers={"Authorization": "Bearer sk_live_..."},
)
print("Saldo:", resp.json()["data"]["available"])
const resp = await fetch("https://api.iagentesms.com.br/api/v2/credits", {
  headers: { "Authorization": "Bearer sk_live_..." },
});
const { data } = await resp.json();
console.log("Saldo:", data.available);
Resposta 200
{
  "data": {
    "modalidade": "POS",
    "available": 99998,
    "limite_seguranca": 100000,
    "consumo_mes": 2
  }
}

Envio Individual

POST /api/v2/messages Escopo: sms:send

Envia um SMS para um destinatário. O cabeçalho opcional Idempotency-Key garante que retries da mesma requisição não gerem cobrança ou envio duplicados.

Corpo da requisição

CampoTipoObrigatórioDescrição
tostringSimCelular do destinatário com DDD (ex: 51999998888)
messagestringSimTexto da mensagem (160 caracteres por segmento de SMS)
schedule_atstring (ISO 8601)NãoAgendamento; null ou omitido = envio imediato
client_refstringNãoReferência livre do cliente; enviada como codigosms no webhook de entrega

Exemplos

curl -X POST https://api.iagentesms.com.br/api/v2/messages \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-42" \f
  -d '{
    "to": "5551999998888",
    "message": "Olá! Seu código é 1234.",
    "client_ref": "abc"
  }'
<?php
$ch = curl_init('https://api.iagentesms.com.br/api/v2/messages');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer sk_live_...',
        'Content-Type: application/json',
        'Idempotency-Key: pedido-42',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'to'         => '5551999998888',
        'message'    => 'Olá! Seu código é 1234.',
        'client_ref' => 'abc',
    ]),
]);

$response = curl_exec($ch);
$status   = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$body = json_decode($response, true);
echo $status === 201 ? "Enviado: {$body['data']['id']}" : "Erro: {$body['error']['code']}";
?>
import requests

resp = requests.post(
    "https://api.iagentesms.com.br/api/v2/messages",
    headers={
        "Authorization": "Bearer sk_live_...",
        "Idempotency-Key": "pedido-42",
    },
    json={
        "to": "5551999998888",
        "message": "Olá! Seu código é 1234.",
        "client_ref": "abc",
    },
)

data = resp.json()
if resp.status_code == 201:
    print("Enviado:", data["data"]["id"])
else:
    print("Erro:", data["error"]["code"])
const resp = await fetch("https://api.iagentesms.com.br/api/v2/messages", {
  method: "POST",
  headers: {
    "Authorization": "Bearer sk_live_...",
    "Content-Type": "application/json",
    "Idempotency-Key": "pedido-42",
  },
  body: JSON.stringify({
    to: "5551999998888",
    message: "Olá! Seu código é 1234.",
    client_ref: "abc",
  }),
});

const data = await resp.json();
if (resp.status === 201) {
  console.log("Enviado:", data.data.id);
} else {
  console.error("Erro:", data.error.code);
}
Resposta 201
{
  "data": {
    "id": x8Sju8sff8,
    "status": "queued",
    "accepted": 1,
    "rejected": [],
    "credits_charged": 1,
    "idempotent_replay": false
  }
}

Envio em Lote

POST /api/v2/messages/batch Escopo: sms:send

Envia a mesma mensagem para vários destinatários em uma única requisição.

curl -X POST https://api.iagentesms.com.br/api/v2/messages/batch \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": ["5551999998888", "5551988887777"],
    "message": "Promoção especial só hoje!"
  }'
<?php
$ctx = stream_context_create(['http' => [
    'method'  => 'POST',
    'header'  => "Authorization: Bearer sk_live_...\r\nContent-Type: application/json",
    'content' => json_encode([
        'to'      => ['5551999998888', '5551988887777'],
        'message' => 'Promoção especial só hoje!',
    ]),
]]);

echo file_get_contents('https://api.iagentesms.com.br/api/v2/messages/batch', false, $ctx);
?>
import requests

resp = requests.post(
    "https://api.iagentesms.com.br/api/v2/messages/batch",
    headers={"Authorization": "Bearer sk_live_..."},
    json={
        "to": ["5551999998888", "5551988887777"],
        "message": "Promoção especial só hoje!",
    },
)
print(resp.json())
const resp = await fetch("https://api.iagentesms.com.br/api/v2/messages/batch", {
  method: "POST",
  headers: {
    "Authorization": "Bearer sk_live_...",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    to: ["5551999998888", "5551988887777"],
    message: "Promoção especial só hoje!",
  }),
});
console.log(await resp.json());

Envio para Grupo

POST /api/v2/groups/{id}/messages Escopo: sms:send

Envia uma mensagem para todos os contatos de um grupo.

curl -X POST https://api.iagentesms.com.br/api/v2/groups/42/messages \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "message": "Mensagem para todo o grupo!" }'
<?php
$ctx = stream_context_create(['http' => [
    'method'  => 'POST',
    'header'  => "Authorization: Bearer sk_live_...\r\nContent-Type: application/json",
    'content' => json_encode(['message' => 'Mensagem para todo o grupo!']),
]]);

echo file_get_contents('https://api.iagentesms.com.br/api/v2/groups/42/messages', false, $ctx);
?>
import requests

resp = requests.post(
    "https://api.iagentesms.com.br/api/v2/groups/42/messages",
    headers={"Authorization": "Bearer sk_live_..."},
    json={"message": "Mensagem para todo o grupo!"},
)
print(resp.json())
const resp = await fetch("https://api.iagentesms.com.br/api/v2/groups/42/messages", {
  method: "POST",
  headers: {
    "Authorization": "Bearer sk_live_...",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ message: "Mensagem para todo o grupo!" }),
});
console.log(await resp.json());

Grupos e Contatos

Gerencie listas de contatos para envios segmentados. Operações de leitura exigem groups:read/contacts:read; de escrita, groups:write/contacts:write. Remoções são soft delete.

# Criar grupo
curl -X POST https://api.iagentesms.com.br/api/v2/groups \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "nome": "Clientes VIP" }'

# Adicionar contato ao grupo 42
curl -X POST https://api.iagentesms.com.br/api/v2/groups/42/contacts \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "nome": "João Silva", "celular": "5551999998888" }'

# Listar contatos do grupo
curl https://api.iagentesms.com.br/api/v2/groups/42/contacts \
  -H "Authorization: Bearer sk_live_..."

# Esvaziar o grupo (mantém o grupo, remove os contatos)
curl -X POST https://api.iagentesms.com.br/api/v2/groups/42/clear \
  -H "Authorization: Bearer sk_live_..."
<?php
$base  = 'https://api.iagentesms.com.br/api/v2';
$token = 'sk_live_...';

function api($method, $url, $token, $body = null) {
    $opts = ['http' => [
        'method' => $method,
        'header' => "Authorization: Bearer $token\r\nContent-Type: application/json",
        'ignore_errors' => true,
    ]];
    if ($body !== null) $opts['http']['content'] = json_encode($body);
    return json_decode(file_get_contents($url, false, stream_context_create($opts)), true);
}

// Criar grupo
$grupo = api('POST', "$base/groups", $token, ['nome' => 'Clientes VIP']);

// Adicionar contato ao grupo 42
api('POST', "$base/groups/42/contacts", $token, [
    'nome' => 'João Silva', 'celular' => '5551999998888',
]);

// Listar contatos
$contatos = api('GET', "$base/groups/42/contacts", $token);

// Esvaziar o grupo
api('POST', "$base/groups/42/clear", $token);
?>
import requests

base = "https://api.iagentesms.com.br/api/v2"
headers = {"Authorization": "Bearer sk_live_..."}

# Criar grupo
grupo = requests.post(f"{base}/groups", headers=headers,
                      json={"nome": "Clientes VIP"}).json()

# Adicionar contato ao grupo 42
requests.post(f"{base}/groups/42/contacts", headers=headers,
              json={"nome": "João Silva", "celular": "5551999998888"})

# Listar contatos
contatos = requests.get(f"{base}/groups/42/contacts", headers=headers).json()

# Esvaziar o grupo
requests.post(f"{base}/groups/42/clear", headers=headers)
const base = "https://api.iagentesms.com.br/api/v2";
const headers = {
  "Authorization": "Bearer sk_live_...",
  "Content-Type": "application/json",
};

// Criar grupo
const grupo = await (await fetch(`${base}/groups`, {
  method: "POST", headers, body: JSON.stringify({ nome: "Clientes VIP" }),
})).json();

// Adicionar contato ao grupo 42
await fetch(`${base}/groups/42/contacts`, {
  method: "POST", headers,
  body: JSON.stringify({ nome: "João Silva", celular: "5551999998888" }),
});

// Listar contatos
const contatos = await (await fetch(`${base}/groups/42/contacts`, { headers })).json();

// Esvaziar o grupo
await fetch(`${base}/groups/42/clear`, { method: "POST", headers });

Mensagens Recebidas (MO)

GET /api/v2/inbound Escopo: inbound:read

Lista as mensagens recebidas (Mobile Originated) nos seus números/short codes — útil para SMS interativo e respostas de campanhas. Para recebê-las em tempo real, sem consulta, veja Respostas via Webhook.

curl https://api.iagentesms.com.br/api/v2/inbound \
  -H "Authorization: Bearer sk_live_..."
<?php
$ctx = stream_context_create(['http' => [
    'header' => "Authorization: Bearer sk_live_..."
]]);

echo file_get_contents('https://api.iagentesms.com.br/api/v2/inbound', false, $ctx);
?>
import requests

resp = requests.get(
    "https://api.iagentesms.com.br/api/v2/inbound",
    headers={"Authorization": "Bearer sk_live_..."},
)
print(resp.json())
const resp = await fetch("https://api.iagentesms.com.br/api/v2/inbound", {
  headers: { "Authorization": "Bearer sk_live_..." },
});
console.log(await resp.json());

Erros

Erros usam códigos HTTP padrão e um envelope JSON consistente:

{
  "error": {
    "code": "insufficient_credits",
    "message": "Saldo insuficiente para concluir o envio.",
    "details": { "available": 0 }
  }
}
HTTPcodeDescrição
401unauthenticatedToken ausente ou inválido
402insufficient_creditsSaldo insuficiente
403insufficient_scopeO token não tem o escopo exigido pelo endpoint
403ip_not_allowedIP de origem fora da lista permitida do token
403account_blockedConta bloqueada
404not_foundRecurso inexistente
409not_cancelableEnvio já processado, não pode ser cancelado
409idempotency_conflictIdempotency-Key reusada com conteúdo diferente
422validation_failedCorpo inválido (veja details)
422all_recipients_blockedTodos os destinatários estão bloqueados/optout
422daily_limitLimite diário de envios da conta atingido
422user_monthly_limitLimite mensal do usuário atingido
422empty_groupGrupo sem contatos ativos
429rate_limitedLimite de requisições do token excedido
500Erro interno do servidor

Webhook

O IAGENTEsms pode notificar sua aplicação a cada mudança de status de entrega dos SMS enviados, via uma URL configurada no seu painel. A cada evento o sistema faz uma requisição GET para essa URL com os parâmetros abaixo.

As respostas e keywords enviadas pelos destinatários também chegam nessa URL, com status=Resposta. Esse caso tem seção própria: Respostas via Webhook.

Importante:

  • Os status de entrega só são notificados para mensagens enviadas com client_ref informado (REST v2) ou codigosms (API legada).
  • O sistema realiza até 10 (dez) tentativas aguardando retorno HTTP 200.
  • Os valores chegam com urlencode: espaços viram + e acentos chegam codificados. Use a leitura padrão da sua linguagem ($_GET, request.args, etc.) para decodificar.

Parâmetros recebidos

Parâmetro Tipo Descrição
codigosms string Valor enviado em client_ref (REST v2) ou codigosms (API legada)
celular string Número do destinatário
shortcode string Remetente do SMS (short code ou número)
statusid int Código numérico interno do status
status string Rótulo do status. Veja a tabela abaixo.
mensagem string Texto do SMS enviado
data string Data/hora da mensagem (DD/MM/AAAA HH:MM:SS)
canal string Canal pelo qual a mensagem trafegou

Status possíveis

Trate a lógica da sua aplicação pelo rótulo recebido em status.

status Significado
AguardandoAgendada ou aguardando processamento
EnviadoEnviada à operadora, ainda sem confirmação de entrega
EntregueEntrega confirmada pela operadora
Não suportadaDestino não suportado pela rota
Não entregávelNão foi possível entregar (número inválido, bloqueado ou sem cobertura)
Falha operadoraA operadora falhou ao processar o envio
RecusadaEnvio recusado antes de sair
VisualizadaMensagem visualizada pelo destinatário
Clique em um linkUm link da mensagem foi clicado
RespostaMensagem recebida do destinatário. Veja Respostas via Webhook.

Exemplo de requisição

Entrega confirmada de um SMS enviado com client_ref=pedido-42:

GET https://seusite.com.br/webhook/sms?codigosms=pedido-42&celular=5551999999999&shortcode=27000&statusid=3&status=Entregue&mensagem=Seu+pedido+42+foi+enviado&data=26/03/2026+14:32:10&canal=sms

Recebendo o webhook

# Simule a chamada do IAGENTEsms no seu endpoint
curl "https://seusite.com.br/webhook/sms?codigosms=pedido-42&celular=5551999999999&shortcode=27000&statusid=3&status=Entregue&mensagem=Seu+pedido+42+foi+enviado&data=26/03/2026+14:32:10&canal=sms"
<?php
// webhook.php — configure esta URL no painel do IAGENTEsms

$clientRef = $_GET['codigosms'] ?? '';
$celular   = $_GET['celular'] ?? '';
$shortcode = $_GET['shortcode'] ?? '';
$status    = $_GET['status'] ?? '';
$mensagem  = $_GET['mensagem'] ?? '';
$data      = $_GET['data'] ?? '';
$canal     = $_GET['canal'] ?? '';

if ($status === 'Resposta') {
    // Mensagem recebida do destinatário — veja "Respostas via Webhook"
    http_response_code(200);
    exit('OK');
}

$pdo = new PDO('mysql:host=localhost;dbname=seudb', 'usuario', 'senha');
$stmt = $pdo->prepare(
    "INSERT INTO sms_status (client_ref, celular, shortcode, status, data_status, canal)
     VALUES (?, ?, ?, ?, ?, ?)"
);
$stmt->execute([$clientRef, $celular, $shortcode, $status, $data, $canal]);

http_response_code(200);
echo 'OK';
?>
from flask import Flask, request

app = Flask(__name__)

@app.get("/webhook/sms")
def webhook_sms():
    p = request.args

    if p.get("status") == "Resposta":
        # Mensagem recebida do destinatário — veja "Respostas via Webhook"
        return "OK", 200

    salvar_status(
        client_ref=p.get("codigosms"),
        celular=p.get("celular"),
        shortcode=p.get("shortcode"),
        status=p.get("status"),
        data=p.get("data"),
        canal=p.get("canal"),
    )
    return "OK", 200
import express from "express";

const app = express();

app.get("/webhook/sms", async (req, res) => {
  const { codigosms, celular, shortcode, status, data, canal } = req.query;

  if (status === "Resposta") {
    // Mensagem recebida do destinatário — veja "Respostas via Webhook"
    return res.status(200).send("OK");
  }

  await salvarStatus({ clientRef: codigosms, celular, shortcode, status, data, canal });
  res.status(200).send("OK");
});

app.listen(3000);

Respostas via Webhook

Quando o destinatário responde a um SMS seu, ou envia uma keyword para o seu short code, o IAGENTEsms chama a mesma URL de webhook com status=Resposta. Não há configuração extra: basta a URL cadastrada no painel.

Dois casos chegam com esse status:

  • Resposta a um SMS enviado: codigosms traz o client_ref do SMS original, o que permite ligar a resposta ao envio.
  • Keyword no short code: mensagem iniciada pelo próprio destinatário, sem SMS de origem.

Se preferir consultar em vez de receber, as mesmas mensagens ficam disponíveis em GET /api/v2/inbound.

Parâmetros neste contexto

Os parâmetros são os mesmos do webhook de status. O que muda é o significado:

Parâmetro Descrição
codigosms client_ref do SMS original, quando é resposta a um envio
celular Número de quem enviou a mensagem
shortcode Short code ou número que recebeu a mensagem
status Sempre Resposta
mensagem Texto recebido do destinatário
data Data/hora do recebimento (DD/MM/AAAA HH:MM:SS)

Exemplo de requisição

Destinatário respondendo ao SMS enviado com client_ref=pedido-42:

GET https://seusite.com.br/webhook/sms?codigosms=pedido-42&celular=5551999999999&shortcode=27000&statusid=7&status=Resposta&mensagem=Obrigado&data=26/03/2026+14:35:02&canal=sms

Recebendo respostas

# Simule uma resposta chegando no seu endpoint
curl "https://seusite.com.br/webhook/sms?codigosms=pedido-42&celular=5551999999999&shortcode=27000&statusid=7&status=Resposta&mensagem=Obrigado&data=26/03/2026+14:35:02&canal=sms"
<?php
// webhook.php — mesma URL do webhook de status

$status = $_GET['status'] ?? '';

if ($status !== 'Resposta') {
    // Mudança de status de entrega — veja "Webhook"
    http_response_code(200);
    exit('OK');
}

$clientRef = $_GET['codigosms'] ?? '';   // vazio quando é keyword
$celular   = $_GET['celular'] ?? '';
$shortcode = $_GET['shortcode'] ?? '';
$mensagem  = $_GET['mensagem'] ?? '';
$data      = $_GET['data'] ?? '';
$canal     = $_GET['canal'] ?? '';

$pdo = new PDO('mysql:host=localhost;dbname=seudb', 'usuario', 'senha');
$stmt = $pdo->prepare(
    "INSERT INTO sms_recebidos (client_ref, celular, shortcode, mensagem, data_recebimento, canal)
     VALUES (?, ?, ?, ?, ?, ?)"
);
$stmt->execute([$clientRef, $celular, $shortcode, $mensagem, $data, $canal]);

http_response_code(200);
echo 'OK';
?>
from flask import Flask, request

app = Flask(__name__)

@app.get("/webhook/sms")
def webhook_sms():
    p = request.args

    if p.get("status") != "Resposta":
        # Mudança de status de entrega — veja "Webhook"
        return "OK", 200

    salvar_recebida(
        client_ref=p.get("codigosms"),   # vazio quando é keyword
        celular=p.get("celular"),
        shortcode=p.get("shortcode"),
        mensagem=p.get("mensagem"),
        data=p.get("data"),
        canal=p.get("canal"),
    )
    return "OK", 200
import express from "express";

const app = express();

app.get("/webhook/sms", async (req, res) => {
  const { codigosms, celular, shortcode, status, mensagem, data, canal } = req.query;

  if (status !== "Resposta") {
    // Mudança de status de entrega — veja "Webhook"
    return res.status(200).send("OK");
  }

  // codigosms vem vazio quando é keyword
  await salvarRecebida({ clientRef: codigosms, celular, shortcode, mensagem, data, canal });
  res.status(200).send("OK");
});

app.listen(3000);

E-mail para SMS (SMTP)

O IAGENTEsms também permite o envio de SMS por e-mail. Basta enviar um e-mail para o endereço especial, e o conteúdo será convertido em SMS.

Formato do Endereço

NUMERO@sms.iagentesms.com.br

Onde NUMERO é o celular do destinatário com DDD (ex: 5551999999999@sms.iagentesms.com.br).

Configuração

Campo Valor
Para NUMERO@sms.iagentesms.com.br
De E-mail cadastrado no painel do IAGENTEsms
Assunto Será ignorado
Corpo Texto da mensagem SMS (máx. 160 caracteres)

O e-mail remetente deve estar previamente cadastrado e autorizado no painel para que o envio por SMTP funcione.

Precisa de ajuda? Abra um chamado para o suporte técnico ou acesse a Central de Ajuda.

Documentação

Outras APIs do ecossistema

Ver todas →