Documentação SMS
Na SMSmobileAPI, nos esforçamos para tornar nossa API o mais compatível possível com qualquer arquitetura ou plataforma.
Quer você utilize REST, SOAP, cURL ou diversas linguagens de programação como Python, JavaScript, PHP e outras, nossa API foi projetada para se integrar perfeitamente aos seus projetos.
Também temos plugins prontos para uso para soluções e software de comércio eletrônico.
Clique aqui para descobri-los.
Enviar SMS
Este ponto de extremidade permite que você envie um SMS do seu celular.Ponto final:
Parâmetros:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório Sua chave de API exclusiva. |
| recipients | Obrigatório O número de telefone do destinatário. |
| message | Obrigatório A mensagem a ser enviada (sem limite de 160 caracteres). |
| port |
Defina a porta SIM a ser usada para o envio do SMS: 1, 2Ou deixe vazio. Se este campo for deixado em branco, o SMS será enviado automaticamente usando a porta SIM disponível. Este parâmetro está disponível a partir da versão do Android 4.1.15.0 e funciona quando o aplicativo está em execução. primeiro plano (primeiro plano). |
| shorturl | 1 = Converter URLs em links curtos 0 ou vazio = nenhuma conversão |
| sIdentifiant | Selecione qual telefone conectado enviará o SMS. Deixe em branco para o primeiro dispositivo disponível. Requer aplicativo versão 3.0.35.3 ou superior. |
| sendwa | 1 = enviar via WhatsApp. |
| sendsms | 1 = enviar por SMS (padrão se estiver vazio). Defina como 0 para bloquear SMS. |
| encrypt_message | sim = o destinatário precisa de uma chave para descriptografar. Saber mais |
| schedule_timestamp | Timestamp UNIX (GMT 0) a partir do qual o SMS deve ser enviado. |
Exemplo:
GET https://api.smsmobileapi.com/sendsms?apikey=YOUR_API_KEY&recipients=+1234567890&message=HelloWorld
Reenviar um SMS não enviado
Este endpoint da API é usado para reenviar um SMS não enviado (somente se a mensagem tiver um status de erro).
Ponto final:
Parâmetro:
| Parâmetro | Descrição |
|---|---|
| guid | Obrigatório GUID da mensagem a ser reenviada. |
Exemplo:
OBTENHA https://api.smsmobileapi.com/resend/?apikey=SUA_CHAVE_API&guid=GUID_DA_MENSAGEM
Log de SMS enviados da API
Este ponto de extremidade da API é usado para recuperar o log de mensagens SMS enviadas via API.
Ponto final:
Parâmetro:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório Sua chave de API. |
| guid_message | Filtrar pelo identificador único da mensagem. |
| before | Recuperar mensagens enviadas antes deste carimbo de data/hora ou GUID. |
| error_api | 1 = lista de SMS com erro na solicitação da API. |
| error_mobile | 1 = lista de SMS com erro de processamento móvel. |
| keyword | Filtrar por número do destinatário ou conteúdo da mensagem. |
Exemplo:
OBTENHA https://api.smsmobileapi.com/log/sent/sms?apikey=SUA_CHAVE_API
Lista de SMS enviados do celular
Este endpoint da API é usado para listar as mensagens SMS enviadas do seu dispositivo móvel e sincronizadas com a sua conta SMSMobileAPI.
Importante: Este recurso está disponível a partir da versão do Android 4.1.20.
Importante: Essa funcionalidade é não está habilitado por padrão no aplicativo Android.
Privacidade: Todas as informações sincronizadas são anonimizadas, confidenciais e tratadas com segurança.
Limite de histórico: Esta API sempre retorna dados da última vez 7 dias apenas.
Observação: Se você enviar SMS usando o endpoint da API padrão https://api.smsmobileapi.com/sendsms/Essas mensagens SMS também podem aparecer nesta lista porque são enviadas fisicamente do seu dispositivo móvel.
Ponto final:
Parâmetros:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório Sua chave de API. |
| date | Opcional. Filtro de data exata em YYYY-MM-DD formatar. |
| date_from | Opcional. Data de início do período em YYYY-MM-DD formatar. |
| date_to | Opcional. Data final do período em YYYY-MM-DD formatar. |
| period | Opcional. Filtro de período predefinido. Valores permitidos: today, yesterday, last_24h, last_3days, last_7days. |
| number | Opcional. Filtrar por número de telefone do destinatário. |
| sIdentifiant | Opcional. Filtrar por identificador de celular. |
| message | Opcional. Filtrar por conteúdo do SMS. |
| search | Opcional. Pesquisa global em sIdentifiant, number, message, mobile_date_formatted, e synchro_time. |
| sort_by | Opcional. Campo de classificação. Valores permitidos: sIdentifiant, number, message, mobile_date_ms, mobile_date_formatted, synchro_time. |
| sort_order | Opcional. Ordem de classificação: ASC ou DESC. |
| limit | Opcional. Número máximo de linhas retornadas. Valor máximo permitido: 200. |
Campos retornados:
| Campo | Descrição |
|---|---|
| sIdentifiant | Identificador móvel vinculado ao SMS enviado. |
| number | Número de telefone do destinatário. |
| message | Conteúdo do SMS. |
| mobile_date_ms | Data e hora originais do SMS em milissegundos. |
| mobile_date_formatted | Data formatada recebida do dispositivo móvel. |
| synchro_time | Data e hora em que o SMS foi sincronizado com a SMSMobileAPI. |
Exemplo:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY
Exemplo com filtros:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&date=2026-03-13&number=32470000000&sort_by=synchro_time&sort_order=DESC
Exemplo com período predefinido:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&period=last_7days&limit=200
SMS recebido
Este ponto de extremidade da API é usado para recuperar mensagens SMS recebidas no smartphone.
Ponto final:
Parâmetro:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório A chave de API que você tem ou receberá. |
| sIdentifiantPhone | Isole o telefone associado ao SMS recebido. |
| after_timestamp_unix | Lista de SMS recebidos após um timestamp UNIX. |
| onlyunread | "sim" = listar apenas SMS não marcados como lidos (status da API). |
Exemplo:
OBTENHA https://api.smsmobileapi.com/getsms/?apikey=SUA_CHAVE_API
Marcar mensagens SMS recebidas como lidas
Este endpoint da API é usado para marcar uma mensagem SMS recebida como lida. Somente o status da API.
Isso não altera o status de leitura no smartphone.
Ponto final:
Parâmetro:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório A chave de API que você tem ou receberá. |
| guid_message | Obrigatório GUID da mensagem a ser marcada como lida. |
Exemplo:
OBTER https://api.smsmobileapi.com/getsms/set-read/?apikey=YOUR_APIKEY&guid_message=GUID_MESSAGE
Atualizar alias de SMS
Este endpoint da API é usado para atualizar o alias de um SMS recebido usando seu GUID.
Observação: O alias O parâmetro pode estar vazio. Nesse caso, o alias será apagado.
Ponto final:
Parâmetros:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório Sua chave de API. |
| guid | Obrigatório GUID do SMS recebido para atualização. |
| alias | Obrigatório Nome alternativo a ser atribuído a este SMS. Este valor pode estar vazio para limpar o nome alternativo atual. |
Exemplo:
GET https://api.smsmobileapi.com/getsms/update/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE&alias=JohnDoe
Exemplo para limpar o alias:
GET https://api.smsmobileapi.com/getsms/update/?apikey=SUA_CHAVE_DE_API&guid=GUID_DA_MENSAGEM&alias=
Apagar SMS
Este endpoint da API é usado para excluir mensagens SMS do registro do servidor da API SMS Mobile.
Ponto final:
Parâmetro:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório A chave de API que você tem. |
| guid_message | O ID exclusivo da mensagem a ser excluída. |
| date_start | Se usado sozinho, exclui todas as mensagens do dia especificado. |
| date_start and date_end | Combinado para excluir mensagens dentro de um período especificado. |
Exemplo:
OBTENHA https://api.smsmobileapi.com/deletesms/?apikey=SUA_CHAVE_API
Observação: Apenas os SMS armazenados nos registros do servidor serão apagados. Os SMS presentes no dispositivo não serão apagados.
Listar conversas por SMS
Este endpoint da API é usado para listar as conversas por SMS vinculadas à sua conta.
Cada conversa é agrupada por número de telefone e contém as mensagens SMS recebidas e enviadas relacionadas.
Observação: O ponto de partida da conversa é definido por origineConversation parâmetro:
- receivedAs conversas são detectadas inicialmente a partir de SMS recebidos em logsmsreceive
- sentAs conversas são detectadas inicialmente a partir de SMS enviados em logsmssent
Observação: Se numero Se não for fornecido, a API retorna apenas as conversas mais recentes. Por padrão, a última 20 As conversas são respondidas.
Observação: Para SMS de saída, se timearea_of_message está disponível (exemplo: UTC+02), a data exibida é convertida automaticamente usando esse valor. Essa data convertida também é usada para classificação.
Observação: Se resume=1, apenas as mensagens mais recentes de cada conversa são retornadas. Use resume_line_how Para definir quantas mensagens mais recentes devem ser incluídas.
Ponto final:
Parâmetros:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório Sua chave de API. |
| origineConversation | Obrigatório Define o ponto de partida da lista de conversas. Valores permitidos: received ou sent. |
| numero | Opcional Filtre os resultados para um número de telefone específico. |
| date_from | Opcional Filtro por data de início para conversas e mensagens. Formato aceito: YYYY-MM-DD ou um valor de data e hora completo. |
| date_to | Opcional Filtro de data final para conversas e mensagens. Formato aceito: YYYY-MM-DD ou um valor de data e hora completo. |
| sort | Opcional Ordem de classificação das conversas. Valores permitidos: DESC ou ASC. Padrão: DESC. |
| limit | Opcional Número máximo de conversas para retornar quando numero Não é fornecido. Padrão: 20. |
| resume | Opcional Se definido para 1, apenas as mensagens mais recentes de cada conversa são retornadas. |
| resume_line_how | Opcional Número de mensagens mais recentes a serem retornadas por conversa quando resume=1. Padrão: 1. |
Detalhes do comportamento:
- As mensagens SMS recebidas são lidas de logsmsreceive.
- As mensagens SMS enviadas são lidas a partir de logsmssent.
- As mensagens recebidas sempre retornam direction = "incoming".
- As mensagens enviadas sempre retornam direction = "outgoing".
- O pseudônimo de contato foi obtido de logsmsreceive.alias Quando disponível.
- Para SMS recebidos, o SID do celular vem de sIdentifiant_pour_read.
- Para SMS de saída, o SID do celular vem de send_from_mobile_sIdentifiant.
- Para SMS enviados, a data exibida é ajustada com timearea_of_message se este campo não estiver vazio.
Exemplo 1 - Listar as conversas mais recentes recebidas por SMS:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received
Exemplo 2 - Listar as conversas mais recentes enviadas por SMS:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent
Exemplo 3 - Filtrar um número de telefone específico:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&numero=32470000001
Exemplo 4 - Filtrar por intervalo de datas:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&date_from=2026-03-01&date_to=2026-03-31
Exemplo 5 - Modo de retomada com as últimas 3 mensagens por conversa:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent&resume=1&resume_line_how=3
Exemplo de resposta bem-sucedida:
{ "success": true, "origineConversation": "received", "resume": 0, "resume_line_how": null, "conversations": [ { "phone_number": "+10470000001", "contact_alias": "John Doe", "messages": [ { "direction": "incoming", "message_id": "msg_1001", "date": "2026-03-13 08:45:12", "timestamp_utc": "2026-03-13T08:45:12Z", "message": "Olá, gostaria de mais informações.", "status": "received", "mobile_sid": "device_sid_1" }, { "direction": "outgoing", "message_id": "msg_1002", "date": "2026-03-13 10:46:03", "timestamp_utc": "2026-03-13T08:46:03Z", "message": "Claro, o que você gostaria de saber?", "status": "sent", "mobile_sid": "device_sid_2" } ] } ] }
Campos de resposta:
| Campo | Descrição |
|---|---|
| success | Indica se a solicitação foi bem-sucedida. |
| origineConversation | O modo inicial usado para construir a lista de conversas. |
| resume | Indica se o modo de retomada está ativado. |
| resume_line_how | Número de linhas mais recentes retornadas por conversa quando o modo de retomada está ativado. |
| conversations | Conjunto de conversas. |
| phone_number | Número de telefone usado para identificar a conversa. |
| contact_alias | Nome alternativo associado ao número de telefone, quando disponível. |
| messages | Conjunto de mensagens SMS dentro da conversa. |
| direction | incoming para SMS recebidos, outgoing para SMS enviados. |
| message_id | Identificador único da mensagem. |
| date | Exibir a data da mensagem. Para SMS enviados, esse valor pode ser ajustado usando timearea_of_message. |
| timestamp_utc | Carimbo de data/hora UTC da mensagem. |
| message | Conteúdo da mensagem. |
| status | received para SMS recebidos, sent para SMS de saída. |
| mobile_sid | SID do dispositivo móvel que recebeu ou enviou a mensagem. |
Exemplo de erro:
{ "success": false, "error": "Parâmetro obrigatório ausente: apikey" }
Notas:
- Se numero Se o número de telefone fornecido for fornecido, a API retorna apenas a conversa vinculada a esse número de telefone.
- Se numero Caso não seja fornecido, a API retorna as conversas mais recentes de acordo com o modo de origem selecionado.
- As mensagens recebidas e enviadas são mescladas em uma única linha do tempo para cada número de telefone.
- A classificação de mensagens de saída leva em consideração a data local ajustada quando timearea_of_message Está disponível.
- O modo de resumo é útil para painéis, widgets, pré-visualizações e resumos de conversas.
Gateway – Lista de dispositivos móveis conectados
Liste os celulares conectados à sua rede. Gateway de SMS.
Ponto final:
Parâmetros:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório Sua chave de API. |
| sid | Filtrar pelo SID exato (sIdentifiant_pour_check). |
| search | Pesquisar nos campos (sid, data, bateria, versão, etiqueta...). |
Exemplo:
GET https://api.smsmobileapi.com/gateway/mobile/list/?apikey=YOUR_API_KEY
Gateway – Atualizar uma etiqueta móvel
Atualize o rótulo (nom_reference) de um dispositivo móvel conectado.
Ponto final:
Parâmetros:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório Sua chave de API. |
| sid | Obrigatório O SID do dispositivo (sIdentifiant_pour_check). |
| label | Novo rótulo |
| phone_number | Novo número de telefone |
Exemplo:
GET https://api.smsmobileapi.com/gateway/mobile/update/?apikey=YOUR_API_KEY&sid=SID&label=OfficePhone
Importante: O rótulo é obrigatório, mas pode estar vazio. (rótulo=).
Gateway – Excluir um dispositivo móvel conectado
Remover um dispositivo móvel conectado do seu gateway (exclui todas as linhas de histórico para este SID).
Ponto final:
Parâmetros:
| Parâmetro | Descrição |
|---|---|
| apikey | Obrigatório Sua chave de API. |
| sid | Obrigatório O SID do dispositivo (sIdentifiant_pour_check). |
Exemplo:
GET https://api.smsmobileapi.com/gateway/mobile/delete/?apikey=YOUR_API_KEY&sid=SID
Webhook – SMS recebido
Este sistema de webhook envia uma solicitação POST para a URL configurada sempre que um SMS é recebido. O sistema garante atualizações em tempo real ao entregar os detalhes do SMS para a URL do webhook especificada.
Como configurar o Webhook no painel
Siga estas etapas para configurar o URL do seu webhook no painel:
- Entre na sua conta no Painel de API móvel SMS.
- Navegue até o Configurações do Webhook seção.
- Insira a URL do seu webhook (por exemplo,
https://example.com/webhook-endpoint). - Clique no Salvar Webhook botão.
- Depois de salvo, o sistema começará a enviar detalhes por SMS para a URL configurada.
Carga útil do webhook
Quando um SMS é recebido, o sistema envia a seguinte carga JSON para o URL do seu webhook:
{ "date": "2025-01-20", "hour": "10:15:00", "time_received": "2025-01-20 10:14:50", "message": "Olá, isto é um teste.", "number": "+123456789", "guid": "abcde12345" }
Campos de carga útil:
- data: Data em que o SMS foi adicionado (AAAA-MM-DD).
- hora: Hora em que o SMS foi adicionado (HH:mm:ss).
- tempo_recebido: Hora em que o SMS foi recebido.
- mensagem: Conteúdo do SMS.
- número: Número de telefone do remetente.
- guia: Identificador único do SMS.
Exemplo de ponto de extremidade do Webhook
Seu servidor deve estar pronto para lidar com solicitações POST de entrada. Abaixo está um script PHP de exemplo para processar o payload do webhook:
Testando o Webhook
Para testar sua configuração de webhook, use ferramentas como:
Solução de problemas
- Certifique-se de que a URL do webhook esteja correta e acessível publicamente.
- Verifique se seu servidor está retornando um código de status HTTP 200 para solicitações bem-sucedidas.
- Verifique os logs do seu servidor para ver se há erros no processamento da carga útil.
SMS enriquecido
Em breveAutenticação
A API do SMSMobile oferece suporte a dois métodos de autenticação: usando uma chave de API simples ou o protocolo OAuth2 com um ID de cliente e um segredo de cliente.
1. Autenticação de chave de API
Este método requer uma chave de API que pode ser incluída como parâmetro em uma solicitação GET ou POST.
2. Autenticação OAuth2
O OAuth2 oferece um método de autenticação mais seguro.
Use um ID de cliente e um segredo de cliente para obter um token de acesso e, em seguida, inclua-o no Autorização cabeçalho.
O client_id e o client_secret estão disponíveis no seu painel.
Baixe o aplicativo móvel agora ou
Acesse seu painel de controle.
Obtendo um Token de Acesso
curl -X POST https://api.smsmobileapi.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
Usando o Token de Acesso:
curl -X POST https://api.smsmobileapi.com/sendsms \
-H "Autorização: Portador SEU_TOKEN_DE_ACESSO" \
-H "Tipo de conteúdo: aplicação/x-www-form-urlencoded" \
-d "destinatários=+1234567890" \
-d "mensagem=Olá"
Qual método você deve usar?
- Usar Autenticação de chave API para integrações rápidas e diretas.
- Usar Autenticação OAuth2 Para maior segurança e escalabilidade.
Enviar SMS
URL do WSDL
Parâmetros:
- message: A mensagem a ser enviada.
- apikey: A chave de API que você tem ou receberá.
Exemplo
require_once "lib/nusoap.php";
$client = new nusoap_client("https://api.smsmobileapi.com/sendsms/wsdl/sendsms.wsdl", true);
$error = $client->getError();
$result = $client->call("sendSms", array("recipients" =>$_GET['recipients'],"message" =>$_GET['message'],"apikey" =>$_GET['apikey']));
print_r($result);
Enviar SMS e WhatsApp
Comando básico cURL
curl -X POST https://api.smsmobileapi.com/sendsms/ \
-d "recipients=PHONE_NUMBER" \
-d "message=YOUR_MESSAGE" \
-d "apikey=YOUR_API_KEY"
-d "sendwa=1"
-d "sendsms=1"
Enviar SMS e WhatsApp
Utilize nosso módulo oficial em Python: https://smsmobileapi.com/python/
import requests
url = "https://api.smsmobileapi.com/sendsms/"
payload = {"recipients":"PHONE_NUMBER","message":"YOUR_MESSAGE","apikey":"YOUR_API_KEY"}
response = requests.post(url, data=payload)
print(response.text)
API móvel SMS - PHP SDK (compositor)
compositor requer smsmobileapi/sdk
GitHub: https://github.com/SmsMobileApi/smsmobileapi-php/tree/main
Enviar SMS e WhatsApp
const url = "https://api.smsmobileapi.com/sendsms/";
const data = {recipients:"PHONE_NUMBER", message:"YOUR_MESSAGE", apikey:"YOUR_API_KEY"};
fetch(url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(data)})
.then(r=>r.text()).then(console.log);
Enviar SMS e WhatsApp
const axios = require("axios");
axios.post("https://api.smsmobileapi.com/sendsms/", {recipients:"PHONE_NUMBER", message:"YOUR_MESSAGE", apikey:"YOUR_API_KEY"})
.then(r=>console.log(r.data));
Enviar SMS e WhatsApp
require "net/http"
require "uri"
uri = URI.parse("https://api.smsmobileapi.com/sendsms/")
req = Net::HTTP::Post.new(uri)
req.set_form_data({"recipients"=>"PHONE_NUMBER","message"=>"YOUR_MESSAGE","apikey"=>"YOUR_API_KEY"})
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true){|http| http.request(req)}
puts res.body

Esse problema surge de um processo que tenta ser executado em segundo plano quando o aplicativo não é iniciado ativamente. No entanto, devido às medidas de otimização de bateria do Android, que variam entre versões diferentes, esse processo em segundo plano pode não iniciar corretamente. A otimização de bateria do Android foi projetada para limitar a atividade em segundo plano de aplicativos para conservar a vida útil da bateria, o que pode afetar inadvertidamente aplicativos que exigem processos em segundo plano para funcionar corretamente.
Para resolver esse problema, os usuários podem configurar manualmente as configurações do Android para permitir que o SmsMobileApi use recursos sem restrições.
Isso envolve ajustar as configurações de otimização da bateria para o aplicativo específico, essencialmente instruindo o Android que o SmsMobileApi tem permissão para rodar em segundo plano e usar recursos conforme necessário. Ao fazer isso, o aplicativo deve ser capaz de enviar e receber mensagens SMS automaticamente, mesmo quando não for o aplicativo ativo em primeiro plano. Esse ajuste garante que o processo de segundo plano necessário possa operar ininterruptamente, contornando os recursos de otimização da bateria que poderiam impedir sua execução adequada.


FAQ para Desenvolvedor
Comece a usar o SMSmobileAPI hoje mesmo!
Experimente a liberdade e a flexibilidade de gerenciar seus serviços de SMS em qualquer lugar. Baixe nosso aplicativo móvel agora e dê o primeiro passo em direção à integração perfeita de SMS.
Baixe o aplicativo