SMSFire Docs
Criar contaLogin
  • Bem vindo(a)
  • Atualizações
  • Documentação Técnica
  • Autenticação
  • Rate limiter
  • Account
    • Consulta saldo
  • SMS
    • Enviar mensagem
    • Consulta Status
    • Inbox
    • Caracteres e concatenação
    • Agendamento de mensagens
    • Fracionador de envios
    • Código de status
  • WhatsApp
    • Consultar instância
    • Enviar mensagem
    • Consulta Status
    • Mensagens recebidas
    • Código de status
    • Sessões
  • Bigdata
    • Enviar consulta
    • Consultar queries
    • Código de status
  • HTTP CODES
  • SDKs
Powered by GitBook
On this page
  • Fluxo da mensagem
  • HTTP Simplificado
  • Exemplo de requisição
  • REST (JSON)
  • Exemplos de requisição
  • Informações adicionais
  1. SMS

Enviar mensagem

Veja detalhes de como realizar o envio de uma ou mais mensagens.

PreviousSMSNextConsulta Status

Last updated 2 days ago

A partir deste serviço você poderá enviar mensagens individuais ou em massa, agendar envios, fracionar lotes de envios e muito mais.

Fique atento quanto ao de requisições para o correto funcionamento da API.

Fluxo da mensagem

Hoje somos um gateway de mensageria com imenso sobre as tecnologias e tipos de roteamento do mundo SMS. Por isso, mantemos o máximo de conexões disponíveis com para conseguirmos manter excelente qualidade de serviço com níveis extremamente reduzidos de incidências.

Desta forma, ofereceremos tarifas abaixo da média do mercado com periodicidade de reajustes extremamente reduzida para clientes de pequeno e médio porte que não conseguem boas tarifas aliadas a boa qualidade de serviço e atendimento.

Com isso conseguimos realizar diversos mixes de conexões no tráfego de nossos clientes de acordo com o tipo de envio, sendo eles para fins de ou .

HTTP Simplificado

GET https://api-v2.smsfire.com.br/sms/send/individual

A partir de algumas propriedades aplicadas diretamente na URL é possível o envio individual de uma mensagem ao seu destinatário.

Atenção: Campos com * (asterisco) são obrigatórios

Query Parameters

Name
Type
Description

to*

string

Telefone do destinatário em formato internacional

text*

string

Texto da mensagem. (Max. 765 caracteres)

from

string

Remetente da mensagem (Max. 11 caracteres)

customId

string

Id único personalizado da mensagem (Max. 40 caracteres)

campaignId

integer

Id da campanha que deseja vincular a mensagem

flash

boolean

true ou false Quando true, a mensagem enviada é do tipo Classe 0

allowReply

boolean

true ou false Quando true, se a mensagem enviada for respondida, ela será disponibilizada em seu Inbox.

scheduleTime

string

Data de agendamento da mensagem. (ISO8601)

Headers

Name
Type
Description

Authorization*

string

Basic <token>

{
  "campaignId": 392,
  "messages": [
    {
      "id": 497235,
      "customId": "fire001001",
      "statusCode": 0,
      "statusName": "PENDING"
    }
  ]
}
{
  "error": {
    "message": "Invalid duplicated customId request"
  }
}

O parâmetro customId aceita caracteres alfanuméricos, hífen, underline/underscore e ponto sem espaços ou quebra de linha.

Exemplo de requisição

  • Envio com parâmetros mínimos

GET https://api-v2.smsfire.com.br/sms/send/individual?to=5511944556677&text=Ola

  • Envio com todos os parâmetros

GET https://api-v2.smsfire.com.br/sms/send/individual?to=5511944556677&text=Ola&from=SMSFIRE&allowReply=true&flash=true&campaignId=0001&scheduleTime=2021-12-25T10:00:00

Para o correto funcionamento é imprescindível realizar o encoding da URL para que não haja distorções no conteúdo da mensagem.

REST (JSON)

POST https://api-v2.smsfire.com.br/sms/send/bulk

Realize envios a múltiplos destinatários numa única requisição de forma personalizada para cada um dos números.

Atenção: Campos com * (asterisco) são obrigatórios

Headers

Name
Type
Description

Authorization*

string

Basic <Token>

Content-Type*

string

application/json

Request Body

Name
Type
Description

destinations*

array

Matriz com a relação de destinatários.

destinations[].to*

string

Telefone do destinatário em formato internacional.

destinations[].text*

string

Texto da mensagem. (Max. 765 caracteres)

destinations[].customId

string

Id único personalizado. (Max 40 caracteres)

destinations[].flash

boolean

Enviar mensagem em Classe 0

campaignId

integer

Id da campanha para vincular a mensagem.

allowReply

boolean

Ativa o recebimento das respostas (MOs) no Inbox do usuário.

scheduleTime

string

Data do agendamento do envio. (ISO8601)

fractionate

object

Objeto responsável em criar o fracionamento dos envios

fractionate.parts

integer

Número de partes que o lote deverá ser dividido

fractionate.interval

integer

Tempo de espera - em minutos - entre as partes.

{
  "campaignId": 394,
  "messages": [
    {
      "id": 497237,
      "customId": "fire00001",
      "statusCode": 0,
      "statusName": "PENDING"
    },
    {
      "id": 497238,
      "customId": "fire00002",
      "statusCode": 0,
      "statusName": "PENDING"
    }
  ]
}
{
  "error": {
    "message": "Invalid duplicated customId request"
  }
}

O parâmetro customId aceita caracteres alfanuméricos, hífen, underline/underscore e ponto sem espaços ou quebra de linha.

É possível enviar no máximo 100 destinatários por requisição

Exemplos de requisição

  • Exemplo simplificado de requisição com parâmetros mínimos obrigatórios:

curl --request POST \
  --url https://api-v2.smsfire.com.br/sms/send/bulk \
  --header 'Authorization: Basic <TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{"destinations":[{"to":"5511944556677","text":"Mensagem teste 01"},{"to":"5511966778899","text":"Mensagem teste 02"}]}'
var axios = require("axios").default;

var options = {
  method: 'POST',
  url: 'https://api-v2.smsfire.com.br/sms/send/bulk',
  headers: {
    'Content-Type': 'application/json',
    Authorization: 'Basic <TOKEN>'
  },
  data: {destinations: [{to: '5511944556677', text:'Mensagem teste 01'}, {to: '551166778899', text:'Mensagem teste 02'}]}
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});
import requests

url = "https://api-v2.smsfire.com.br/sms/send/bulk"

payload = {"destinations": [{"to": "5511944556677", "text":"Mensagem teste 01"}, {"to": "5511966778899", "text":"Mensagem teste 02"}]}
headers = {
    "Content-Type": "application/json",
    "Authorization": "Basic <TOKEN>"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
<?php

$curl = curl_init();
$payload = [
  "destinations" => [
    [
      "to" => "5511944556677",
      "text" => "Mensagem teste 01"
    ],
    [
      "to" => "5511966778899",
      "text" => "Mensagem teste 02"
    ]
  ]
];
    
curl_setopt_array($curl, [
  CURLOPT_URL => "https://api-v2.smsfire.com.br/sms/send/bulk",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode($payload),
  CURLOPT_HTTPHEADER => [
    "Authorization: Basic <TOKEN>",
    "Content-Type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
  • Exemplo de JSON com agendamento e id personalizado definido pelo cliente:

{	
	"scheduleTime":"2021-12-25T10:00:00",
	"destinations":[
		{
			"to": "5511944556677",
			"text":"Mensagem teste 01",
			"customId":"fire00001",
			"from":"remetente01",
			"flash": true
		},
		{
			"to": "5511955667788",
			"text":"Mensagem teste 02",
			"customId":"fire00002",
			"from":"remetente02"
		}
	]
}

O parâmetro from tem efetividade apenas a alguns países de destino. No caso do Brasil ele é apenas uma informação adicional, já que as operadoras sempre entregam a mensagem com um remetente numérico definido por elas mesmas.

  • Exemplo de JSON com fracionamento de mensagem:

    • Na forma demonstrada, os destinations serão divididos em 2 lotes onde o primeiro será enviado imediatamente e o segundo será enviado após 10 minutos.

{	
	"fractionate":{
		"parts":2,
		"interval":10
	},
	"destinations":[
		{
			"to": "5511944556677",
			"text":"Mensagem teste 01"
		},
		{
			"to": "5511966778899",
			"text":"Mensagem teste 02"
		}
	]
}
  • Exemplo de JSON com agendamento e fracionamento de mensagem:

    • Na forma demonstrada, os destinations serão divididos em 2 lotes onde o primeiro será enviado na data descrita em scheduleTime e o segundo será enviado 10 minutos após.

{	
	"scheduleTime":"2021-12-25T10:00:00",
	"fractionate":{
		"parts":2,
		"interval":10
	},
	"destinations":[
		{
			"to": "5511944556677",
			"text":"Mensagem teste 01"
		},
		{
			"to": "5511966778899",
			"text":"Mensagem teste 02"
		}
	]
}
  • Exemplo de JSON permitindo a captação de respostas:

{	
	"allowReply":true,
	"destinations":[
		{
			"to": "5511944556677",
			"text":"Mensagem teste 01"
		},
		{
			"to": "5511966778899",
			"text":"Mensagem teste 02"
		}
	]
}

Informações adicionais

Destacamos a importância da leitura das seções apresentadas abaixo. Nessas seções você terá o detalhamento sobre caracteres acentuados e especiais, concatenação de mensagem, fracionamento de lote, agendamento e possíveis códigos HTTP que a nossa API poderá gerar em situações de erro da requisição ou interno.

Autenticação
Autenticação
Caracteres e concatenação
Fracionador de envios
Agendamento de mensagens
Código de status
HTTP CODES
rate-limit
know-how
brokers nacionais e internacionais
marketing
OTP