Dispare SMS via API de maneira simplificada!

Com a Disparo Pro, você dispara SMS via API de forma intuitiva e gratuita, além de contar com um time de suporte especializado.
Disparo Pro

API HTTPS

POST
				
					https://apihttp.disparopro.com.br:8433/mt
				
			
cURL
				
					curl -X POST -H "Authorization: Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a"
-H "Content-Type: application/json" -d '[
  {
    "numero": "5511999887744",
    "servico": "short",
    "mensagem": "Texto da mensagem",
    "parceiro_id": "5034e65a0c",
    "codificacao": "0"
  }
]' "https://apihttp.disparopro.com.br:8433/mt"
				
			
PHP
				
					$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://apihttp.disparopro.com.br:8433/mt",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "[
    {
      \"numero\": \"5511999887744\",
      \"servico\": \"short\",
      \"mensagem\": \"Texto da mensagem\",
      \"parceiro_id\": \"5034e65a0c\",
      \"codificacao\": \"0\"
    }
  ]",
  CURLOPT_HTTPHEADER => [
    "authorization: Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
				
			
Ruby
				
					require 'uri'
require 'net/http'

url = URI("https://apihttp.disparopro.com.br:8433/mt")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a'
request["content-type"] = 'application/json'
request.body = "[
  {
    \"numero\": \"5511999887744\",
    \"servico\": \"short\",
    \"mensagem\": \"Texto da mensagem\",
    \"parceiro_id\": \"5034e65a0c\",
    \"codificacao\": \"0\"
  }
]"

response = http.request(request)
puts response.read_body
				
			
Java
				
					OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "[
  {
    \"numero\": \"5511999887744\",
    \"servico\": \"short\",
    \"mensagem\": \"Texto da mensagem\",
    \"parceiro_id\": \"5034e65a0c\",
    \"codificacao\": \"0\"
  }
]");
Request request = new Request.Builder()
  .url("https://apihttp.disparopro.com.br:8433/mt")
  .post(body)
  .addHeader("authorization", "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
				
			
NodeJS
				
					var unirest = require("unirest");

var req = unirest("POST", "https://apihttp.disparopro.com.br:8433/mt");

req.headers({
  "content-type": "application/json",
  "authorization": "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a"
});

req.type("json");
req.send([
  {
    "numero": "5511999887744",
    "servico": "short",
    "mensagem": "Texto da mensagem",
    "parceiro_id": "5034e65a0c",
    "codificacao": "0"
  }
]);

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
				
			
C#
				
					var client = new RestClient("https://apihttp.disparopro.com.br:8433/mt");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a");
request.AddParameter("application/json", "[
  {
    \"numero\": \"5511999887744\",
    \"servico\": \"short\",
    \"mensagem\": \"Texto da mensagem\",
    \"parceiro_id\": \"5034e65a0c\",
    \"codificacao\": \"0\"
  }
]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
				
			
Cabeçalho
				
					{
  "Authorization": "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a",
  "Content-Type": "application/json"
}
				
			
Parâmetros
Campo Tipo Descrição
usuario string

Usuário da API HTTP Não Segura (Obrigatório, ex: 5c45b8e1c4e51).

senha string

Senha da API HTTP Não Segura (Obrigatório, ex: 5c5b5e14).

numero string

Número da mensagem (Obrigatório, ex: 5511988663344).

servico string

Serviço da mensagem obrigatório []

parceiro_id string

Id externo para uso do parceiro (Não obrigatório, máximo 100 caracteres)

mensagem string

Texto da mensagem obrigatório (Máximo 1377 caracteres, 9 PDUs para 7-BIT e 20 PDUs para 16-BIT).

codificacao string

Codificação da mensagem (Não obrigatório, 0 para 7-bits e 8 para 16-bits).

Parâmetros
Codificação Tipo Descrição
0 7-bits

Neste formato de envio, um PDU pode ter no máximo 160 caracteres como mensagem simples: sem acentuação, caracteres especiais ou emojis. Ao ultrapassar o limite de caracteres, sua mensagem será equivalente a 2 disparos e o limite diminuirá para 153, assim, você pode atingir um limite máximo de 1377 caracteres (9 PDUs). Caso isso aconteça, a cada 153 caracteres na mesma mensagem, o valor de um disparo será acrescentado. O contratante fica ciente que mensagens mais longas significam mais custo devido a concatenação desses PDUs.Veja aqui os caracteres permitidos neste formato de envio

8 16-bits

No formato de 16 bits você consegue enviar mensagens personalizadas com um limite de 70 caracteres: com acentuação e emojis . O processo de concatenação e cobrança é o mesmo, ao ultrapassar o limite de caracteres, automaticamente, o limite diminuirá para 67 dentro da mesma mensagem disparada. Neste caso, o contratante fica ciente que mensagens mais longas significam mais custo devido a concatenação desses PDUs. Veja aqui os caracteres permitidos neste formato de envio. O tamanho máximo de caracteres que o sistema suporta para esse tipo de codificação é 1340 caracteres, totalizando 20 PDUs. Veja aqui os caracteres permitidos neste formato de envio

Exemplo
Envio Unitário [Object]
				
					{
    "numero": "5511999887744",
    "servico": "short",
    "mensagem": "Texto da mensagem",
    "parceiro_id": "5034e65a0c",
    "codificacao": "0"
}
				
			
Envio Unitário [Array]
				
					[
    {
        "numero": "5511999887744",
        "servico": "short",
        "mensagem": "Texto da mensagem",
        "parceiro_id": "5034e65a0c",
        "codificacao": "0"
    }
]
				
			
Múltiplos envios
				
					[
    {
        "numero": "5511999887744",
        "servico": "short",
        "mensagem": "Texto da mensagem",
        "parceiro_id": "5034e65a0c",
        "codificacao": "0"
    },
    {
        "numero": "5511999887744",
        "servico": "short",
        "mensagem": "Texto da mensagem",
        "parceiro_id": "5034e65a0c",
        "codificacao": "0"
    }
]
				
			
Status das Mensagens
				
					"ACCEPTED"    => "Aguardando"
"UNKNOWN"     => "Falhada"
"PAYREQUIRED" => "Sem Saldo"
				
			
Sucesso [Object]
				
					"Inserido com Sucesso"
HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": {
    "id": "v4d4ah3khm12ryi",
    "numero": "5511988663344",
    "status": "ACCEPTED",
    "parceiro_id": "5034e65a0c",
    "codigo_status": "02",
    "codigo_detalhe": "000",
    "descricao_detalhe": "Message Sent"
  }
}
"Número Inválido"
HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": {
    "id": null,
    "numero": "5511988663344",
    "status": "UNKNOWN",
    "parceiro_id": "5034e65a0c",
    "codigo_status": "04",
    "codigo_detalhe": "190",
    "descricao_detalhe": "Unknown error"
  }
}

				
			
Sucesso [Array]
				
					"Inserido com Sucesso"
HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": [
    {
    "id": "v4d4ah3khm12ryi",
    "numero": "5511988663344",
    "status": "ACCEPTED",
    "parceiro_id": "5034e65a0c",
    "codigo_status": "02",
    "codigo_detalhe": "000",
    "descricao_detalhe": "Message Sent"
    }
 ]
  "detail": [
    {
      "id": "v4d4ah3khm12ryi",
      "numero": "5511988663344",
      "status": "ACCEPTED",
      "parceiro_id": "5034e65a0c",
      "codigo_status": "02",
      "codigo_detalhe": "000",
      "descricao_detalhe": "Message Sent"
    }
  ]
}

"Número Inválido"
HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": [
    {
      "id": null,
      "numero": "5511988663344",
      "status": "UNKNOWN",
      "parceiro_id": "5034e65a0c",
      "codigo_status": "04",
      "codigo_detalhe": "190",
      "descricao_detalhe": "Unknown error"
    }
  ]
}
				
			
Erro
				
					HTTP/1.1 400 Bad Request
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Bad Request",
  "status": 400,
  "detail": "Mensagem de erro"
}

HTTP/1.1 500 Internal Server Error
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "Mensagem de erro"
}
				
			
GET MT
GET
				
					https://apihttp.disparopro.com.br:8433/mt
				
			
cURL
				
					curl -X POST -H "Authorization: Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a" "https://apihttp.disparopro.com.br:8433/mt"
				
			
PHP
				
					$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://apihttp.disparopro.com.br:8433/mt",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "authorization: Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
				
			
Ruby
				
					require 'uri'
require 'net/http'

url = URI("https://apihttp.disparopro.com.br:8433/mt")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a'
request["content-type"] = 'application/json'

response = http.request(request)
puts response.read_body
				
			
Java
				
					OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");

Request request = new Request.Builder()
  .url("https://apihttp.disparopro.com.br:8433/mt")
  .get()
  .addHeader("authorization", "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
				
			
NodeJS
				
					var unirest = require("unirest");

var req = unirest("GET", "https://apihttp.disparopro.com.br:8433/mt");

req.headers({
  "content-type": "application/json",
  "authorization": "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a"
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
				
			
C#
				
					var client = new RestClient("https://apihttp.disparopro.com.br:8433/mt");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a");
IRestResponse response = client.Execute(request);
				
			
Cabeçalho
				
					{
  "Authorization": "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a",
  "Content-Type": "application/json"
}
				
			
Parâmetros
Campo Tipo Descrição
numero string

Número da Mensagem (ex: 5511988663344).

servico string

Serviço da Mensagem []

codigo string

ID da Mensagem

data string

Data em que a mensagem foi enviada (ex: dd/mm/YYYY)

Exemplo URL
				
					https://apihttp.disparopro.com.br:8433/mt
https://apihttp.disparopro.com.br:8433/mt?codigo=v4d4ah3khm12ryi
https://apihttp.disparopro.com.br:8433/mt?codigo=v4d4ah3khm12ryi&numero=5511988663344
https://apihttp.disparopro.com.br:8433/mt?codigo=v4d4ah3khm12ryi&numero=5511988663344&data=01/01/2020
https://apihttp.disparopro.com.br:8433/mt?codigo=v4d4ah3khm12ryi&numero=5511988663344&data=01/01/2020&servico=short
				
			
Consultar por vários valores
				
					https://apihttp.disparopro.com.br:8433/mt?codigo=v4d4ah3khm12ryi,v4d4ah3khm12ryj
https://apihttp.disparopro.com.br:8433/mt?numero=5511988663344,5511988663345
https://apihttp.disparopro.com.br:8433/mt?servico=
				
			
Sucesso
				
					"Consultado com Sucesso"
HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": [
    {
      "id": "v4d4ah3khm12ryi",
      "status": "DELIVERED",
      "codigo_status": "03",
      "codigo_detalhe": "120",
      "descricao_detalhe": "Message received by mobile",
      "destino": "5511988663344",
      "parceiro_id": null,
      "data_insercao": "01/01/2020 13:19:20",
      "data_atualizacao": "01/01/2020 13:19:24"
    }
  ]
}

"Requisição Inválida"
HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": []
}

HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": "Mensagem de erro"
}
				
			
Erro
				
					HTTP/1.1 400 Bad Request
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Bad Request",
  "status": 400,
  "detail": "Mensagem de erro"
}

HTTP/1.1 500 Internal Server Error
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "Mensagem de erro"
}
				
			
GET MO
GET
				
					https://apihttp.disparopro.com.br:8433/mo
				
			
cURL
				
					curl -X POST -H "Authorization: Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a" "https://apihttp.disparopro.com.br:8433/mo"
				
			
PHP
				
					$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://apihttp.disparopro.com.br:8433/mo",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "authorization: Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
				
			
Ruby
				
					require 'uri'
require 'net/http'

url = URI("https://apihttp.disparopro.com.br:8433/mo")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a'
request["content-type"] = 'application/json'

response = http.request(request)
puts response.read_body
				
			
Java
				
					OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
Request request = new Request.Builder()
  .url("https://apihttp.disparopro.com.br:8433/mo")
  .get()
  .addHeader("authorization", "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
				
			
NodeJS
				
					var unirest = require("unirest");

var req = unirest("GET", "https://apihttp.disparopro.com.br:8433/mo");

req.headers({
  "content-type": "application/json",
  "authorization": "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a"
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
				
			
C#
				
					var client = new RestClient("https://apihttp.disparopro.com.br:8433/mo");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a");
IRestResponse response = client.Execute(request);
				
			
Cabeçalho
				
					{
  "Authorization": "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a",
  "Content-Type": "application/json"
}
				
			
Parâmetros
Campo Tipo Descrição
numero string

Número da Mensagem (ex: 5511988663344).

servico string

Serviço da Mensagem []

codigo string

ID da Mensagem

data string

Data em que a mensagem foi enviada (ex: dd/mm/YYYY)

Exemplo URL
				
					https://apihttp.disparopro.com.br:8433/mo
https://apihttp.disparopro.com.br:8433/mo?codigo=v4d4ah3khm12ryi
https://apihttp.disparopro.com.br:8433/mo?codigo=v4d4ah3khm12ryi&numero=5511988663344
https://apihttp.disparopro.com.br:8433/mo?codigo=v4d4ah3khm12ryi&numero=5511988663344&data=01/01/2020
https://apihttp.disparopro.com.br:8433/mo?codigo=v4d4ah3khm12ryi&numero=5511988663344&data=01/01/2020&servico=short
				
			
Consultar por vários valores
				
					https://apihttp.disparopro.com.br:8433/mt?codigo=v4d4ah3khm12ryi,v4d4ah3khm12ryj
https://apihttp.disparopro.com.br:8433/mt?numero=5511988663344,5511988663345
https://apihttp.disparopro.com.br:8433/mt?servico=
				
			
Sucesso
				
					"Consultado com Sucesso"
HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": [
    {
      "id": "v4d4ah3khm12ryi",
      "origem": "5511988663344",
      "resposta": "Mensagem",
      "parceiro_id": "",
      "data_recebimento": "01/01/2020 13:19:36"
    }
  ]
}

"Requisição Inválida"
HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": []
}

HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": "Mensagem de erro"
}
				
			
Erro
				
					HTTP/1.1 400 Bad Request
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Bad Request",
  "status": 400,
  "detail": "Mensagem de erro"
}

HTTP/1.1 500 Internal Server Error
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "Mensagem de erro"
}
				
			
Consultar Saldo
GET
				
					https://apihttp.disparopro.com.br:8433/balance
				
			
cURL
				
					curl -X GET -H "Authorization: Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a" "https://apihttp.disparopro.com.br:8433/balance"
				
			
PHP
				
					$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://apihttp.disparopro.com.br:8433/balance",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "authorization: Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
				
			
Ruby
				
					require 'uri'
require 'net/http'

url = URI("https://apihttp.disparopro.com.br:8433/balance")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a'

response = http.request(request)
puts response.read_body
				
			
Java
				
					OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://apihttp.disparopro.com.br:8433/balance")
  .get()
  .addHeader("authorization", "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a")
  .build();

Response response = client.newCall(request).execute();
				
			
NodeJS
				
					var unirest = require("unirest");

var req = unirest("GET", "https://apihttp.disparopro.com.br:8433/balance");

req.headers({
  "authorization": "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a"
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
				
			
C#
				
					var client = new RestClient("https://apihttp.disparopro.com.br:8433/balance");
var request = new RestRequest(Method.GET);
request.AddHeader("authorization", "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a");
IRestResponse response = client.Execute(request);
				
			
Cabeçalho
				
					{
  "Authorization": "Bearer e372cab8ac49517b2b1a1748538ab5636c39a65a"
}
				
			
Sucesso
				
					HTTP/1.1 200 OK
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "OK",
  "status": 200,
  "detail": {
    "saldo": "50,35"
  }
}
				
			
Erro
				
					HTTP/1.1 400 Bad Request
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Bad Request",
  "status": 400,
  "detail": "Mensagem de erro"
}

HTTP/1.1 500 Internal Server Error
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "Mensagem de erro"
}
				
			

SMPP

Observações

  • Para usar o serviço SMPP, é necessário habilitá-lo na tela de API, aba SMPP, Habilitar SMPP, após a habilitação do serviço, aguarde 1 minuto e pode abrir uma conexão.
  • Após habilitar o serviço SMPP, em caso de não utilização, tendo passado 10 dias, o serviço será desabilitado automaticamente, necessitando de uma nova habilitação para uso.
  • Mensagens com até 160 caracteres devem ser passadas no PDU com o parâmetro short_message, já as mensagens com mais de 160, deve-se passar o parâmetro message_payload.
  • Para envio de SMS com mais de 160 caracteres por meio de algum programa, deve-se utilizar o formato In message_payload (TLV Field).
  • O tipo do serviço deve ser passado como  no source_addr.

Conexões disponíveis

Exemplo de PDU para BIND e ENQUIRE LINK
				
					PDU {
  "system_id" : "SEU USUÁRIO SMPP",
  "password" : "SUA SENHA SMPP"
}
				
			
Exemplo de PDU para SUBMIT SM com envio de SMS até 160 caracteres
				
					PDU {
  "data_coding" : "0",
  "source_addr" : "short",
  "short_message" : "Mensagem com até 160 caracteres",
  "destination_addr" : "5511999887744"
}
				
			
Exemplo de PDU para SUBMIT SM com envio de SMS entre 161 e 1377 caracteres
				
					PDU {
  "data_coding" : "0",
  "source_addr" : "short",
  "message_payload" : "Mensagem com mais de 160 caracteres",
  "destination_addr" : "5511999887744"
}
				
			
Código Error
Código Descrição
000 Message Sent
002 Message successfully canceled
010 Empty message content
011 Message body invalid
012 Message content overflow
013 Incorrect or incomplete 'to' mobile number
014 Empty 'to' mobile number
015 Scheduling date invalid or incorrect
016 ID overflow
017 Parameter 'url' is invalid or incorrect
018 Field 'from' invalid
021 'id' fieldismandatory
080 Message with same ID already sent
100 Message Queued
110 Message sent to operator
111 Message confirmation unavailable
120 Message received by mobile
130 Message blocked
131 Message blocked by predictive cleansing
132 Message already canceled
133 Message content in analysis
134 Message blocked by forbidden content
135 Aggregate is Invalid or Inactive
136 Message expired
140 Mobile number not covered
141 International sending not allowed
145 Inactive mobile number
150 Message expired in operator
160 Operator network error
161 Message rejected by operator
162 Message cancelled or blocked by operator
170 Bad message
171 Bad number
172 Missing parameter
180 Message ID notfound
190 Unknown error
200 Messages Sent
210 Messages scheduled but Account Limit Reached
240 File empty or not sent
241 File too large
242 File readerror
300 Received messages found
301 No received messages found
400 Entity saved
900 Authentication error
901 Account type not support this operation.
990 Account Limit Reached – Please contact support
998 Wrong operation requested
999 Unknown Error

Detalhe de erros

Código Status
Código Descrição
02 ACCEPTED
02 SENT
03 DELIVERED
04 UNKNOWN
04 EXPIRED
04 UNDELIVERABLE
06 BLACKLIST
10 DELETED
10 REJECTED
Código Detalhe
Código Descrição
000 Message Sent
002 Message successfully canceled
010 Empty message content
011 Message body invalid
012 Message content overflow
013 Incorrect or incomplete 'to' mobile number
014 Empty 'to' mobile number
015 Scheduling date invalid or incorrect
016 ID overflow
017 Parameter 'url' is invalid or incorrect
018 Field 'from' invalid
021 'id' fieldismandatory
080 Message with same ID already sent
100 Message Queued
110 Message sent to operator
111 Message confirmation unavailable
120 Message received by mobile
130 Message blocked
131 Message blocked by predictive cleansing
132 Message already canceled
133 Message content in analysis
134 Message blocked by forbidden content
135 Aggregate is Invalid or Inactive
136 Message expired
140 Mobile number not covered
141 International sending not allowed
145 Inactive mobile number
150 Message expired in operator
160 Operator network error
161 Message rejected by operator
162 Message cancelled or blocked by operator
170 Bad message
171 Bad number
172 Missing parameter
180 Message ID notfound
190 Unknown error
200 Messages Sent
210 Messages scheduled but Account Limit Reached
240 File empty or not sent
241 File too large
242 File readerror
300 Received messages found
301 No received messages found
400 Entity saved
900 Authentication error
901 Account type not support this operation.
990 Account Limit Reached – Please contact support
998 Wrong operation requested
999 Unknown Error

Webhooks

Ação DLR

As informações referente a DLR do SMS serão enviadas através de uma requisição HTTP POST para a URL cadastrada no sistema com o conteúdo no formato application/json (JSON).

Parâmetros
Campo Tipo Descrição
action string

Ação que foi cadastrada para gerar o Webhook (dlr)

object string

Objeto relacionado à ação registrada para gerar o Webhook

data json

Posição do JSON que contém os dados do SMS

after array

Referência ao conteúdo atualizado depois de alguma ação no sistema.

id integer

Código de referência do SMS

sms_cus_id integer

Código de referência do cliente

sms_acc_id integer

Código de referência da conta

sms_use_id integer

Código de Referência do Usuário

sms_operator string

Operadora do número de destino

status string

Status recebido do destino

codigo_status string

Código Status

codigo_detalhe string

Código do Detalhe

descricao_detalhe string

Descrição do Detalhe

destino string

Número de destino

parceiro_id string

Id externo para uso do parceiro

data_insercao string

Data que o SMS foi inserido

data_atualizacao string

Data que o SMS foi atualizado

created string

Data de criação do Webhook

Exemplo conteúdo enviado
				
					{
    "object": "sms",
    "action": "dlr",
    "data": {
        "after": [
            {
                "id": 1,
                "sms_cus_id": 0,
                "sms_acc_id": 0,
                "sms_use_id": 0,
                "sms_operator": "VIVO",
                "status": "DELIVERED",
                "codigo_status": "03",
                "codigo_detalhe": "120",
                "descricao_detalhe": "Message received by mobile",
                "destino": "5511988663344",
                "parceiro_id": "5034e65a0c",
                "data_insercao": "01/01/2019 12:00:00",
                "data_atualizacao": "01/01/2019 12:00:30"
            }
        ]
    },
    "created": "01/01/2019 12:00:31"
}
				
			
Status Retornados
				
					'SENT' => Enviado para a operadora;
'UNKNOWN' => Falhado pela operadora;
'EXPIRED' => Expirado pela operadora;
'DELETED' => Deletado pela operadora;
'REJECTED' => Rejeitado pela operadora;
'BLACKLIST' => Número da Blacklist;
'DELIVERED' => Entregue pela operadora;
'PAYREQUIRED' => Sem Saldo;
'UNDELIVERABLE' => Não Entregável pela operadora;
				
			
Código Status
Código Descrição
02 ACCEPTED
02 SENT
03 DELIVERED
04 UNKNOWN
04 EXPIRED
04 UNDELIVERABLE
06 BLACKLIST
10 DELETED
10 REJECTED
Código Detalhe
Código Descrição
000 Message Sent
002 Message successfully canceled
010 Empty message content
011 Message body invalid
012 Message content overflow
013 Incorrect or incomplete 'to' mobile number
014 Empty 'to' mobile number
015 Scheduling date invalid or incorrect
016 ID overflow
017 Parameter 'url' is invalid or incorrect
018 Field 'from' invalid
021 'id' fieldismandatory
080 Message with same ID already sent
100 Message Queued
110 Message sent to operator
111 Message confirmation unavailable
120 Message received by mobile
130 Message blocked
131 Message blocked by predictive cleansing
132 Message already canceled
133 Message content in analysis
134 Message blocked by forbidden content
135 Aggregate is Invalid or Inactive
136 Message expired
140 Mobile number not covered
141 International sending not allowed
145 Inactive mobile number
150 Message expired in operator
160 Operator network error
161 Message rejected by operator
162 Message cancelled or blocked by operator
170 Bad message
171 Bad number
172 Missing parameter
180 Message ID notfound
190 Unknown error
200 Messages Sent
210 Messages scheduled but Account Limit Reached
240 File empty or not sent
241 File too large
242 File readerror
300 Received messages found
301 No received messages found
400 Entity saved
900 Authentication error
901 Account type not support this operation.
990 Account Limit Reached – Please contact support
998 Wrong operation requested
999 Unknown Error
Ação MO

As informações referente a MO do SMS serão enviadas através de uma requisição HTTP POST para a URL cadastrada no sistema com o conteúdo no formato application/json (JSON)

Parâmetros
Campo Tipo Descrição
action string

Ação que foi cadastrada para gerar o Webhook (mo)

object string

Objeto relacionado à ação registrada para gerar o Webhook

data json

Posição do JSON que contém os dados do SMS

after array

Referência ao conteúdo atualizado depois de alguma ação no sistema.

id integer

Código de referência do SMS

sms_cus_id integer

Código de referência do cliente

sms_acc_id integer

Código de referência da conta

sms_use_id integer

Código de Referência do Usuário

origem string

Número que respondeu o SMS

origem_id string

Número de identificação que respondeu por SMS

resposta string

Reposta recebida referente ao número

parceiro_id string

Id externo para uso do parceiro

data_recebimento string

Data em que a resposta foi recebida

created string

Data de criação do Webhook

Exemplo conteúdo enviado
				
					{
    "object": "sms",
    "action": "mo",
    "data": {
        "after": [
            {
                "id": 1,
                "sms_cus_id": 0,
                "sms_acc_id": 0,
                "sms_use_id": 0,
                "origem": "5511988663344",
                "origem_id": 1,
                "resposta": "WEBHOOK",
                "parceiro_id": "5034e65a0c",
                "data_recebimento": "01/01/2019 12:01:00"
            }
        ]
    },
    "created": "01/01/2019 12:01:01"
}