A API SMS - Permite automatizar o processo de envio de mensagens SMS de forma individual ou em multiplas. Utilizamos o formato JSON para envolver os parâmetros em uma solicitação HTTP/POST.
Fale com o seu gerente de contas para gerar as credencias de acesso, você precisa de um nome de usuário e chave de autenticação.
A requisição é do tipo HTTP/POST e você precisa passar essas informações no Header.
Campos | Detalhes | Tipo |
---|---|---|
usuario |
Nome de usuário de acesso | Texto |
chave |
Senha de acesso liberada no credenciamento. | Texto |
Permite o envio de multiplos SMS
Existe um limite de 5000 mensagens SMS por requisição.
POST http://argnu.loan/bot/bulk-sms.php => Content-Type: application/json
Requisição
O corpo da solicitação tem que conter um objeto JSON no qual as informações são envelopadas com os seguintes campos permitidos:
*
Campos obrigatórios
Campos | Detalhes | Tipo |
---|---|---|
bulk* |
Array de mensagens a serem enviadas aos respectivos destinatários, a mesma configuração do envio individual de sms. | bulk[] |
Exemplos de BulkSMS requisição:
Modelo 1:
{
"bulk":[
{
"celular":"11988887776",
"mensagem":"Envio individual de sms 001"
},
{
"celular":"11988887777",
"mensagem":"Envio individual de sms 002"
}
]
}
Modelo 2:
{
"bulk":[
{
"celular":"11988887776",
"mensagem":"Envio individual de sms 001",
"parceiroId":"msg001"
},
{
"celular":"11988887777",
"mensagem":"Envio individual de sms 002",
"parceiroId":"msg002"
},
{
"celular":"11988887778",
"mensagem":"Envio individual de sms 003",
"parceiroId":"msg003"
}
]
}
Bulk SMS Respostas das requisições
O corpo da resposta conterá um objeto JSON com informações de rastreamento sobre a mensagem enviada:
Campos | Detalhes | Tipos |
---|---|---|
id |
UUID gerado para o lote enviado. | Texto |
bulk |
Este campo é uma matriz de de Respostas SMS únicas, cada dado contém um id e um parceiroId das mensagens enviadas. |
UnitSMSRespostas[] |
Example Json
response object:
{
"id":"00400001000080012017032309271099165b3e0e5c1908eabc1109ce0ac7340",
"bulk":[
{
"id":"00400001000080012017032309271099165b3e0e5c1908eabc1109ce0ac7341",
"parceiroId":"myid1"
},
{
"id":"00400001000080012017032309271099165b3e0e5c1908eabc1109ce0ac7342",
"parceiroId":"myid2"
}
]
}
curl --request POST \
--url http://argnu.loan/bot/bulk-sms.php \
--header 'usuario: usuario' \
--header 'chave: chave' \
--header 'content-type: application/json' \
--data '{"bulk":[{"celular":"11988887777", "mensagem":"mensagem 1" }, {"celular":"11988887777", "mensagem":"mensagem 2" }, {"celular":"11988887777", "mensagem":"mensagem 3" }]}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://argnu.loan/bot/bulk-sms.php",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{ \"bulk\":[{ \"celular\":\"11988887777\", \"mensagem\":\"mensagem 1\" }, { \"celular\":\"11988887777\", \"mensagem\":\"mensagem 2\" }, { \"celular\":\"11988887777\", \"mensagem\":\"mensagem 3\" }]}",
CURLOPT_HTTPHEADER => array(
"chave: chave",
"content-type: application/json",
"usuario: usuario"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
statusOperadora | statusDescricao | Explicação |
---|---|---|
2 | AGENDADA | A mensagem está agendada para envio posterior. |
2 | ENCAMINHADA | A mensagem foi encaminhada para operadora. |
2 | ENVIADA | A mensagem foi enviada para operadora. |
3 | REJEITADA | A mensagem foi rejeitada pela operadora. |
3 | DESCONHECIDO | Erro desconhecido ao enviar a mensagem. |
statusConfirmacao | confirmacaoDescricao | Explicação |
---|---|---|
4 | CONFIRMADO | A mensagem foi entregue com sucesso. |
4 | AGUARDANDO | A mensagem esta aguardando para ser entregue ao destinatário. |
5 | NAO_ENTREGUE | A mensagem não pôde ser entregue ao destinatário. |
status | statusDetalhe | Explicação |
---|---|---|
101 | Erro de Autenticação | Provavelmente o (header http) com o usuário e a chave não foi enviado ou as credenciais não são válidas! |
303 | Erro de requisição | Os parâmetros de solicitação estão incorretos ou não foram enviados! |
303 | Erro de requisição lote | Lote maior que 5000 mensagens! |
404 | Erro transação não encontrada | O id da transação não foi encontrado! |
505 | Saldo insuficiente | Sua conta não tem limite para atender à requisição! |
Com o callback automatizado você pode receber todos os status no seu ambiente em real time.
Sua URL precisa esperar os seguintes tipos de iteração: Status, DLRs e Respostas - Formato da comunicação: HTTP/GET
Tipo | Variável |
---|---|
Status | id |
Status | parceiroId |
Status | celular |
Status | statusOperadora |
Status | statusDescricao |
Status | statusData |
DLRs | id |
DLRs | parceiroId |
DLRs | celular |
DLRs | statusConfirmacao |
DLRs | confirmacaoDescricao |
DLRs | confirmacaoData |
Respostas | id |
Respostas | parceiroId |
Respostas | celular |
Respostas | mensagem |
Respostas | resposta |
Respostas | respostaDescricao |
Respostas | respostaData |
Podemos ter 3 tipos de callback:
Status
http://suaurl?id=00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1&parceiroId=1258&celular=11999887766&statusOperadora=2&statusDescricao=ENVIADA&statusData=2018-04-17+16%3A27%3A55
DLR
http://suaurl?id=00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1&parceiroId=1258&celular=11999887766&statusConfirmacao=4&confirmacaoDescricao=CONFIRMADO&confirmacaoData=2018-04-17+16%3A28%3A20
Resposta
http://suaurl?id=00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1&parceiroId=&celular=11988776655&mensagem=+reponde+teste&resposta=9&respostaDescricao=RESPOSTA&respostaData=2018-04-13+09%3A56%3A46
Todas as informação são organizadas em um lote:
{
"lote":[
{
"id":"00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1",
"parceiroId":"1258",
"celular":"11999998888",
"statusOperadora":"2",
"statusDescricao":"ENVIADA",
"statusData":"2018-04-17 16:27:55"
},
{
"id":"00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1",
"parceiroId":"1258",
"celular":"11999998888",
"statusConfirmacao":"4",
"confirmacaoDescricao":"CONFIRMADO",
"confirmacaoData":"2018-04-17 16:27:55"
},
{
"id":"00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1",
"parceiroId":"1258",
"mensagem": "repondeu teste resposta",
"celular":"11999998888",
"resposta":"9",
"respostaDescricao":"RESPOSTA",
"respostaData":"2018-04-17 16:27:55"
},
{
"id":"00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1",
"parceiroId":"1258",
"celular":"11999998888",
"statusOperadora":"2",
"statusDescricao":"ENVIADA",
"statusData":"2018-04-17 16:27:55"
},
{
"id":"00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1",
"parceiroId":"1258",
"celular":"11999998888",
"statusConfirmacao":"4",
"confirmacaoDescricao":"CONFIRMADO",
"confirmacaoData":"2018-04-17 16:27:55"
},
{
"id":"00000884000003882018041716032866fd317cda0eeb69d41236376cf2f76b1",
"parceiroId":"1258",
"mensagem": "repondeu teste resposta",
"celular":"11999998888",
"resposta":"9",
"respostaDescricao":"RESPOSTA",
"respostaData":"2018-04-17 16:27:55"
}
]
}