Os seus SMS são enviados pelo seu próprio telemóvel.Veja como funciona
PLATAFORMAArquitetura API-firstEmparelhamento seguro do dispositivoVisibilidade da entregaControlo multidispositivosDocumentação versionada
Hub do desenvolvedor/E-mail API

MAIL · 4 operações documentadas

Documentação da API de e-mail

Enviar e-mail sem compartilhar senhas de caixa de correio, recuperar o conteúdo da caixa de correio e verificar o status de cancelamento de assinatura.

Canais de e-mail e mensagens conectados sincronizados pela nuvem
URL base RESThttps://api.smsmobileapi.com

Respostas JSON · HTTPS obrigatório · UTF-8

Conecte sua chave de API

Conecte-se uma vez e teste endpoints em SMS, chamadas, notificações, WhatsApp e e-mail.

Comece aqui

Sua primeira solicitação em quatro etapas

1

Configure uma caixa de correio no painel.

2

Copie apikey e a caixa de correio apikeybox.

3

Envie primeiro um e-mail de texto simples.

4

Adicione anexos ou incorporado imagens somente depois que a solicitação básica funcionar.

WEBHOOK V2 PARA ESTA API

Inscreva‑se apenas nos eventos móveis que seu fluxo de trabalho precisa.

2 tipos de eventos

Um destino pode receber tudo, ou você pode separar sistemas de produção, análises e alertas operacionais. Cada evento tem um nome preciso para que sua aplicação possa tratá‑lo de forma previsível.

email.sent

E-mail enviado

Um pedido de envio de e-mail foi criado por SMSMobileAPI.

email.received

E-mail recebido

Uma caixa de correio conectada recebeu um e-mail.

Autenticação

Mantenha as credenciais no seu servidor

Os endpoints de e-mail exigem a apikey da conta e a apikeybox específica da caixa de correio. Armazene ambas as credenciais no lado do servidor e mascare-as nos logs do aplicativo.

Gestão do histórico

Limpar o histórico com segurança: antever, apagar, seguir o progresso

Estes parâmetros de avaliação limpam o histórico de servidor selecionado para a sua chave API, não mensagens em telefones ou serviços externos. Não fornecem apagamento de contas. Nova atividade pode aparecer após a exclusão.

Leia o guia request_id e reteste
Protecção da integração

Por padrão, registros vinculados ou de processamento permanecem visíveis. Use apenas include_linked=1 se aceitar que integrações ou processamento contínuo podem parar de funcionar.

Como funciona o request_id

  1. Visualize as contagens com action=preview. Nenhum request_id é necessário e nenhum registro é excluído.
  2. Gere um request_id exclusivo para uma nova exclusão, por exemplo um UUID. Salve-o antes de enviar o action=delete.
  3. Para repetições, timeouts ou HTTP 202, reutilize a mesma chave API, endpoint histórico, request_id e include_linked valor. Nunca gerar um novo ID automaticamente após um erro.
  4. Quando completed=true, a operação está terminada. Reutilizar o ID retorna o mesmo resultado em vez de excluir os registros recém-chegados. Use um novo ID apenas para uma limpeza deliberadamente nova.

request_id identifica sua operação de exclusão, não um SMS individual. Formato permitido: 16–128 letras ASCII, dígitos, hífens ou sublinhados. Um UUID gerado com crypto.randomUUID() é adequado.

A eliminação é feita por lotes. HTTP 202 com continue_required=true exige repetir action=delete após 3 segundos. Não existe um cron em segundo plano. action=status apenas consulta o progresso, mesmo com HTTP 200.

Exemplos de exclusão e de estado

Substitua a amostra request_id com seu próprio valor único antes de começar. As seguintes solicitações de exclusão alteram o histórico real da conta; elas não são pré- visualização.

POST · tecla API
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
POST · OAuth2
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  -H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
GET · status
curl -G "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=status" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"

GET também aceita action=preview ou action=delete. POST é recomendado: parâmetros de URL podem vazar no histórico do navegador e registros de servidor. Nunca coloque uma URL de exclusão em um link público, imagem ou pré-retch.

Para POST, envie todos os parâmetros no corpo do formulário ou um objeto JSON, nunca na string de consulta. Parâmetros desconhecidos são rejeitados; os filtros de data ou de celular não são suportados.

Autenticação para os parâmetros do histórico

Use apikey ou o cabeçalho Authorization: Bearer com um token de acesso emitido pelo OAuth2 do SMSMobileAPI. Não envie um refresh token nem uma chave API como token Bearer. Os tokens expirados são recusados.

Quando os escopos são definidos, history:read permite visualização/status e history:delete também permite exclusão. Restrições tanto no token quanto no cliente OAuth. Tokens legados sem escopos mantêm seu acesso à conta existente.

OAuth2 seleciona a chave primária exclusiva API. Se existirem várias chaves primárias, também fornecer apikey para selecionar uma pertencente à conta. Chaves secundárias nunca concedem acesso ao histórico primário de chaves.

Leia a resposta antes de continuar

count_delete é o número cumulativo removido por esta operação. selected_at_start é a seleção inicial; protected_at_start conta os registros excluídos. Use preview.linked_or_processing para contar registros vinculados mesmo quando include_linked=1.

JSON · HTTP 202
{
    "result": {
        "error": 0,
        "history": "email",
        "action": "delete",
        "request_id": "6d54ac58-41f1-4fbc-9a39-6e6c86089451",
        "status": "processing",
        "completed": false,
        "count_delete": 100,
        "total_before": 250,
        "selected_at_start": 200,
        "protected_at_start": 50,
        "include_linked": 0,
        "continue_required": true,
        "message": "Repeat GET or POST with the same request_id and include_linked to continue. Status requests do not run deletion."
    }
}
  • 200 com completed=true: terminado. Uma resposta de 200 visualizações ou status sozinho não prova a conclusão.
  • 400 INVALID_REQUEST_ID: verifique o formato. 404 REQUEST_NOT_FOUND: não existe nenhuma operação para este ID, chave API e histórico.
  • 401: credenciais inválidas ou expiradas. 403: escopo insuficiente do OAuth ou conta não autorizada.
  • 409 HISTORY_BUSY: outra limpeza está em execução; continue-a a partir do cliente original. 409 INCLUDE_LINKED_CONFLICT: restaurar o valor original include_linked.
  • 409 OAUTH_ACCOUNT_AMBIGUOUS: fornecer uma chave API pertencente a esta conta.
  • 503 ou interrupção da rede: alguns lotes já podem estar concluídos. Verifique a configuração, então tente novamente com o request_id original. Não crie uma operação de substituição automaticamente.
PUBLICAR

Enviar um e-mail

#
FIMhttps://api.smsmobileapi.com/sendemail/

Envia email em texto simples ou HTML por meio de uma caixa de correio configurada.

Quando usá-lo

Use-a para emails transacionais ou operacionais do seu aplicativo.

Parâmetros

NomeTipoRequisitoDescrição
apikey corda Obrigatório Chave de API da sua conta.
apikeybox corda Obrigatório Chave de API da caixa de correio configurada.
sender_name corda Obrigatório Nome de exibição do remetente.
sender_email e-mail Obrigatório Endereço de e-mail do remetente.
recipient_email e-mail Obrigatório Endereço do destinatário.
mail_subject corda Obrigatório Assunto do e-mail.
mail_body corda Obrigatório Texto simples ou corpo HTML.
allow_self_signed sim □ não Obrigatório Defina como sim somente quando o servidor de e-mail configurado usar um certificado autoassinado interno confiável.
unsubscribe 1 Opcional Adiciona termos de cancelamento de assinatura e um link.
email_cc1 e-mail Opcional Primeiro destinatário opcional do CC.
email_cc2 e-mail Opcional Segundo destinatário opcional do CC.
email_cc3 e-mail Opcional Terceiro destinatário opcional do CC.
attachmentBase64 base64 Opcional Conteúdo de anexo codificado em Base64.
attachmentBase64_name_1 nome do arquivo Opcional Nome do arquivo anexo original com extensão, por exemplo, fatur.pdf. Necessário quando o anexoBase64 tem um valor.
charset corda Opcional Conjunto de caracteres; padrão UTF-8.
embeddedImage URL HTTPS Opcional Imagem a ser incorporada no e-mail.
embeddedImage_cid corda Opcional ID do conteúdo referenciado no corpo HTML.
format corda Opcional Formato de resposta solicitado.
reply_name corda Opcional Nome de exibição para resposta.
reply_email e-mail Opcional Endereço para resposta.

Exemplo de solicitação

enrolar
curl -X POST "https://api.smsmobileapi.com/sendemail/" \
  -d "apikey=YOUR_API_KEY" \
  -d "apikeybox=YOUR_MAILBOX_KEY" \
  --data-urlencode "sender_name=Example Team" \
  -d "sender_email=team@example.com" \
  -d "recipient_email=customer@example.net" \
  --data-urlencode "mail_subject=Order confirmation" \
  --data-urlencode "mail_body=Your order has been confirmed." \
  --data-urlencode "attachmentBase64=BASE64_FILE_CONTENT" \
  -d "attachmentBase64_name_1=invoice.pdf" \
  -d "allow_self_signed=no"

Deseja executar esta solicitação?Conecte sua chave de API na parte superior da página para desbloquear o interativo testador.

Chave de conexão ↑
É bom saber
  • Prefira POST porque o corpo do e-mail pode ser longo.
  • Se o anexoBase64 for fornecido, o anexoBase64 name 1 é necessário e deve incluir a extensão do arquivo.
  • Anexos Base64 podem tornar as solicitações grandes; aplique limites de tamanho razoáveis em seu aplicativo.
PEGAR

Recuperar e-mails

#
FIMhttps://api.smsmobileapi.com/getemail/

Recupera mensagens de uma pasta de caixa de correio configurada.

Quando usá-lo

Use-a para sincronizar e-mails recebidos em um help desk ou fluxo de trabalho de aplicativo.

Parâmetros

NomeTipoRequisitoDescrição
apikey corda Obrigatório Chave de API da sua conta.
apikeybox corda Obrigatório Chave de API de caixa de correio.
mbox corda Obrigatório Pasta de caixa de correio, para exemplo INBOX.
start inteiro Obrigatório Índice inicial; use 0 para a primeira página.

Exemplo de solicitação

enrolar
curl "https://api.smsmobileapi.com/getemail/?apikey=YOUR_API_KEY&apikeybox=YOUR_MAILBOX_KEY&mbox=INBOX&start=0"

Deseja executar esta solicitação?Conecte sua chave de API na parte superior da página para desbloquear o interativo testador.

Chave de conexão ↑
É bom saber
  • As respostas incluem assunto disponível, remetente, destinatário, corpo, carimbo de data/hora e detalhes do anexo.
PEGAR

Verifique contatos não inscritos

#
FIMhttps://api.smsmobileapi.com/email/unsubscribed/

Verifica os registros de cancelamento de assinatura gerados por e-mails enviados pela plataforma.

Quando usá-lo

Use-o antes de enviar campanhas e ao sincronizar listas de supressão.

Parâmetros

NomeTipoRequisitoDescrição
apikey corda Obrigatório Chave de API da sua conta.
apikeybox corda Obrigatório Chave de API de caixa de correio.
email e-mail Opcional Filtrar um contato. Um resultado vazio significa que nenhum registro de cancelamento de assinatura foi encontrado.

Exemplo de solicitação

enrolar
curl "https://api.smsmobileapi.com/email/unsubscribed/?apikey=YOUR_API_KEY&apikeybox=YOUR_MAILBOX_KEY&email=customer@example.net"

Deseja executar esta solicitação?Conecte sua chave de API na parte superior da página para desbloquear o interativo testador.

Chave de conexão ↑
É bom saber
  • Mantenha seu próprio banco de dados de destinatários sincronizado com os resultados de cancelamento de assinatura.
  • Você continua responsável pelas regras antispam e de privacidade aplicáveis.
PÓS · GET

Limpar o histórico de e-mails enviados

#
FIMhttps://api.smsmobileapi.com/delete-history-email/

Limpa os registros de e-mail enviados para esta chave API através das caixas de correio. Não apaga mensagens numa caixa de correio. Não é necessário apikeybox.

Quando usá-lo

Use a visualização primeiro, verifique as contagens e, em seguida, requeira explicitamente a exclusão. Isto limpa todo o histórico selecionado para a chave API, sem filtros de data, telefone ou mensagem.

Parâmetros

NomeTipoRequisitoDescrição
apikey corda Opcional Necessário sem OAuth2. Com OAuth2, selecione opcionalmente uma chave API pertencente à mesma conta.
action Previsão . . excluir . Opcional preview conta sem apagar; delete inicia ou continua a eliminação; status consulta o progresso sem continuar. A API usa delete por defeito; este testador usa preview.
include_linked 0 | 1 Opcional Padrão 0: manter os registros ligados ou processados. Defina 1 para incluí-los, com risco de quebrar integrações. Mantenha este valor inalterado ao continuar uma exclusão.
request_id corda Opcional Obrigatório para delete e status; opcional para preview. Use 16 a 128 letras ASCII, algarismos, hífenes (-) ou sublinhados (_). Crie um ID único por nova eliminação e mantenha-o em todas as tentativas. Não é um ID de mensagem nem uma chave API.

Exemplo de solicitação

enrolar
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=preview" -d "include_linked=0"
Exemplos de exclusão e de estado

Substitua a amostra request_id com seu próprio valor único antes de começar. As seguintes solicitações de exclusão alteram o histórico real da conta; elas não são pré- visualização.

POST · tecla API
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
POST · OAuth2
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  -H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
GET · status
curl -G "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=status" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"

Exemplo de resposta

JSON
{
    "result": {
        "error": 0,
        "history": "email",
        "action": "preview",
        "total": 120,
        "simple": 100,
        "linked_or_processing": 20,
        "selected": 100,
        "include_linked": 0,
        "operation_in_progress": false,
        "active_include_linked": null
    }
}

Deseja executar esta solicitação?Conecte sua chave de API na parte superior da página para desbloquear o interativo testador.

Chave de conexão ↑
É bom saber
  • O exemplo acima é uma pré-visualização, não uma exclusão. As contagens são ilustrativas; a seleção definitiva é fixada quando a exclusão começa.
  • include_linked=1 pode interromper GHL, Zapier, automações, cancelar a assinatura de links ou rastreamento de entrega. Nunca ignora a propriedade da conta ou a integridade do armazenamento.

Solução de problemas

Erros e novas tentativas seguras

Leia o status HTTP e o campo de erro JSON antes de tentar novamente. Não tente novamente falhas de validação ou autenticação sem primeiro corrigir a solicitação.

HTTPCódigoO que fazer
400missing_parameterUm parâmetro obrigatório está vazio ou ausente. Verifique a tabela de parâmetros do endpoint.
403invalid_apikeyA chave de API é desconhecida, expirou ou não está autorizada para o recurso solicitado.
429too_many_requestsAs solicitações estão chegando muito rapidamente. Aguarde e tente novamente com espera exponencial.
500server_errorO serviço não pôde concluir a solicitação. Mantenha a resposta e entre em contato com o suporte se ela persistir.
Regra de nova tentativaTente novamente apenas respostas transitórias 429 e 5xx. Comece após 1 segundo e depois volte para 2, 4 e 8 segundos.

Precisar de ajuda?

Traga o contexto da solicitação, não seus segredos.

Compartilhe o endpoint, o carimbo de data/hora, o status HTTP e a resposta limpa. Nunca inclua chaves de API, tokens ou conteúdo de mensagens privadas.

Entre em contato com o suporte da API →