Documentação da api - smsgateway24

Documentação

Documentação de API e integração

Use o SmsGateway24 com SMS, WhatsApp, conversas, pedidos à API e webhooks.
Esta documentação abrange a autenticação por token, o envio de mensagens, as operações em massa, as APIs de dispositivos, os estados de entrega e a integração de webhooks.
v.1.1
API
Criado para programadores e equipas
Ligue o seu backend, CRM ou helpdesk ao seu dispositivo Android de mensagens.

1. Obter um token:

Descrição: Se este pedido for bem-sucedido, receberá um token. Depois poderá usá-lo para aceder ao servidor e fazer mais pedidos.
Endpoint: https://smsgateway24.com/getdata/gettoken
Método:: GET
Parâmetros do pedido:
Variável Tipo Descrição
email string [obrigatório] Your login in the system. Usually email
pass string [obrigatório] Your password in the system

Resposta em formato JSON::
Variável Tipo Descrição
token string O seu token é obtido através do método de obtenção de token:
error int 0 | 1 - indica se ocorreu um erro no processamento do pedido
message string Mensagem de erro, vazia se estiver tudo bem.
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Exemplo da resposta:
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f41119fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}

2. Enviar uma única mensagem usando TOKEN:

Descrição: Cria uma mensagem de saída no servidor. A mensagem pode ser enviada através do canal selecionado do seu dispositivo Android ligado.
Endpoint: https://smsgateway24.com/getdata/addsms
Método: GET, POST (Use %2B em vez do sinal de mais "+" no pedido GET)
Parâmetros do pedido:
Variável Tipo Descrição
token string [obrigatório] O seu token é obtido através do método de obtenção de token.
sendto string [obrigatório] Endereço ou número de telefone do destinatário. Vários valores podem ser separados por vírgulas.
body string [obrigatório] Corpo da mensagem. Não é necessário ao enviar uma imagem (ver o parâmetro "file" abaixo) — nesse caso, body é substituído pelo URL da imagem carregada.
device_id int [obrigatório] ID do dispositivo
sim int [obrigatório] Ranhura SIM: 0 e 1 para SMS. 2 - WhatsApp Business, 3 - WhatsApp pessoal. 4 e 5 - RCS.
timetosend string
YYYY-MM-DD
ou
YYYY-MM-DD HH:MM:SS
[opcional] Hora prevista para enviar a mensagem. Por exemplo: 2026-09-19 03:46:45
customerid int [opcional] O número de ID do seu cliente. Campo opcional
urgent int [opcional] Marca a mensagem como urgente. Útil para OTP e tráfego de alta prioridade.
file file (multipart/form-data) [opcional] Ficheiro de imagem a enviar (jpeg, png, webp, gif). Se for indicado, o pedido tem de ser enviado como multipart/form-data com POST. O ficheiro é carregado para o nosso armazenamento S3 e o seu URL público substitui o campo "body", de modo que a imagem é entregue ao destinatário (atualmente suportado nas ranhuras WhatsApp / WhatsApp Business) e é também apresentada na conversa correspondente. Este parâmetro é totalmente opcional — as integrações existentes que só enviam texto continuam a funcionar sem alterações.
Retrocompatibilidade: o parâmetro "file" é opcional. Se não enviar nenhum ficheiro, o endpoint comporta-se exatamente como antes — as suas integrações existentes só de texto não precisam de alterações.

Resposta em formato JSON:
Variável Tipo Descrição
error int 0 ou 1 - indica se ocorreu um erro no processamento do pedido
message string Mensagem de erro, vazia se estiver tudo bem.
sms_id int Identificador da mensagem criada no nosso sistema.
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Exemplo da resposta:
{ "error": 0, "sms_id": 62807347, "message": "Sms has been saved successfully" }

2.1 Método antigo: enviar um SMS com utilizador e palavra-passe

Obsoleto. Use a autenticação por token para novas integrações. Este método é mantido apenas por retrocompatibilidade.
Endpoint: https://smsgateway24.com/getdata/smstosend
Método: GET, POST
Parâmetros do pedido:
Variável Tipo Descrição
emailstring[obrigatório] O seu e-mail
passstring[obrigatório] A sua palavra-passe
sendtostring[obrigatório] Endereço ou número de telefone do destinatário.
bodystring[obrigatório] Corpo da mensagem
device_idint[obrigatório] ID do dispositivo
simint[obrigatório] Ranhura SIM: 0 e 1 para SMS. 2 - WhatsApp Business, 3 - WhatsApp pessoal. 4 e 5 - RCS
timetosendstring[opcional] Hora de envio agendada.
customeridint[opcional] O seu identificador de cliente.
urgentint[opcional] Marca a mensagem como urgente.

3. Envio de SMS em massa com JSON

Descrição: Cria os SMS no servidor para envio. Depois, o telemóvel com a aplicação Smsgateway24 contacta o servidor, recolhe os SMS e envia-os a partir do seu cartão SIM. Transfira a aplicação nesta ligação
Endpoint: https://smsgateway24.com/getdata/addalotofsms
Método:: GET, POST
Parâmetros do pedido:
Variável Tipo Descrição
datajson string [obrigatório] {"token":"df427bfcf113c9a21c67718035076b5b","smsdata":[{"sendto":"015752982212","body":"Test message","sim":1,"timetosend":"2019-07-01 23:50:00","device_id":260},{"sendto":"+4915752982212","body":"Test message 2","sim":1,"timetosend":"2019-07-01 23:50:00","device_id":260,"urgent":1}]}

Resposta em formato JSON::
Variável Tipo Descrição
error int 0 | 1 - indica se ocorreu um erro no processamento do pedido
message string Mensagem de erro, vazia se estiver tudo bem.
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Request example:
{ "token":"df427bfcf113c9a21c6771803501", "smsdata":[ { "sendto":"015752982212", "body":"Your password is 12345", "sim":1, "timetosend":"2019-07-01 23:50:00", "device_id":260, "customerid":122, "urgent":1 }, { "sendto":"015752982212", "body":"Regular SMS. Not urgnet", "sim":1, "timetosend":"2019-07-01 23:50:00", "device_id":260, "customerid":122, "urgent":0 } ] }

4. Obter todos os SMS (incluindo os recebidos):

Descrição: Este pedido permite obter todas as mensagens associadas à sua conta, incluindo os SMS recebidos de clientes. Neste método todas as variáveis de entrada são obrigatórias e os SMS podem ter estados diferentes.
Endpoint: https://smsgateway24.com/getdata/getallsms
Método: GET, POST (Use %2B em vez do sinal de mais "+" no pedido GET)
Parâmetros do pedido:
Variável Tipo Descrição
token string [obrigatório] O seu token é obtido através do método de obtenção de token.
device_id string [opcional] ID do dispositivo
status int [opcional]
  • 1 - SMS pendentes
  • 2 - SMS recolhidos pelo telemóvel
  • 3 - Em fila para envio. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - SMS recebidos
  • 6 - SMS enviados pelo telemóvel
  • 7 - O SMS foi entregue
  • 8 - O SMS NÃO foi entregue
  • 9 - O SMS não chegou a ser enviado - Generic Failure. (Leia o que fazer com este erro aqui)
  • Outros erros, menos frequentes:
  • 10 - SMS não enviado - No Service
  • 11 - SMS não enviado - Null PDU
  • 12 - SMS não enviado - Radio Off
  • 100, 101 - SMS não enviado - NOT ALLOWED. (Não foram concedidas à aplicação as permissões para enviar SMS)
begindate string
YYYY-MM-DD
or
YYYY-MM-DD HH:MM:SS
[opcional] Begin Date Time
enddate string
YYYY-MM-DD
or
YYYY-MM-DD HH:MM:SS
[opcional] End Date Time
sim int [opcional] Ranhura SIM: 0 e 1 para SMS. 2 - WhatsApp Business, 3 - WhatsApp pessoal. 4 e 5 - RCS # 0 or 1
customerid int [opcional] O número de ID do seu cliente. Campo opcional
onlycount int [opcional] 0 | 1 apenas contar
phone string [opcional] 0 | 1 Filtro por número de telefone
orderbydesc int [opcional] 0 | 1 Order by any field
timezone int [opcional] Indique o seu fuso horário local, por exemplo Australia/Sydney.

Resposta em formato JSON::
Variável Tipo Descrição
token string O seu token é obtido através do método de obtenção de token:
error int 0 | 1 - indica se ocorreu um erro no processamento do pedido
message string Mensagem de erro, vazia se estiver tudo bem
count int SMS amount
smss int JSON object
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Exemplo da resposta ... :
{ "smss": { "62050971": { "id": 62050971, "sendto": "+4912312312332", "body": "Hello! Thank you for Order! ", "customerid": null, "status": 2, "statustitle": "sending", "deviceid": 11231, "urgent": null, "created": { "date": "2023-11-02 22:44:43.000000", "timezone_type": 3, "timezone": "Europe/Paris" }, "senttime": null, "timetosend": null, "paketid": null, "pakettitle": null, "paketbody": null }, "62051117": { "id": 62051117, "sendto": "+4912312312332", "body": "Hello! Thank you for Order! ", "customerid": null, "status": 7, "statustitle": "delivered", "deviceid": 11231, "urgent": null, "created": { "date": "2023-11-02 22:46:09.000000", "timezone_type": 3, "timezone": "Europe/Paris" }, "senttime": null, "timetosend": null, "paketid": null, "pakettitle": null, "paketbody": null } } }

5. Adicionar uma nova lista de contactos

Descrição: A etiqueta é necessária para gerar uma newsletter dirigida a um grupo de números. Por exemplo, use a etiqueta Funcionários
Endpoint: https://smsgateway24.com/getdata/savetag
Método:: GET, POST
Parâmetros do pedido:
Variável Tipo Descrição
token string [obrigatório] O seu token é obtido através do método de obtenção de token.
title string [obrigatório] Nome da etiqueta

Resposta em formato JSON::
Variável Tipo Descrição
tag_id int Tag ID
error int 0 | 1 - indica se ocorreu um erro no processamento do pedido
message string Mensagem de erro, vazia se estiver tudo bem.
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Exemplo da resposta:
{ "error": 0, "tag_id": 8303, "message": "OK" }

6. Adicionar contactos à lista de contactos:

Descrição: Adicione contactos a qualquer etiqueta. Por exemplo, para a etiqueta * Funcionários * os seus colegas encaixam na perfeição.
Endpoint: https://smsgateway24.com/getdata/savecontact
Método:: GET, POST
Parâmetros do pedido:
Variável Tipo Descrição
token string [obrigatório] O seu token é obtido através do método de obtenção de token.
phone string [obrigatório] phone number
ctag_id int [obrigatório] Tag ID
fullname string [obrigatório] O nome do seu cliente

Resposta em formato JSON::
Variável Tipo Descrição
contact_id int Contact Id
error int 0 | 1 - indica se ocorreu um erro no processamento do pedido
message string Mensagem de erro, vazia se estiver tudo bem.
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Exemplo da resposta ... :
{"error":0,"contact_id":15954765,"message":"ok"}

7. Criar uma newsletter

Descrição:Depois de criar a etiqueta, pode fazer o envio para os telefones dessa etiqueta.
Endpoint: https://smsgateway24.com/getdata/savepaket
Método:: GET, POST
Parâmetros do pedido:
Variável Tipo Descrição
token string [obrigatório] O seu token é obtido através do método de obtenção de token.
title string [obrigatório] Título da newsletter
device_id string [obrigatório] ID do dispositivo
body string [obrigatório] Corpo da mensagem de destino
tags string [obrigatório] ID da etiqueta. Podem ser vários, separados por vírgulas. Por exemplo: 12,13,14
sim int [obrigatório]Ranhura SIM: 0 e 1 para SMS. 2 - WhatsApp Business, 3 - WhatsApp pessoal. 4 e 5 - RCS 0 or 1
time_to_send int, default = 0 [obrigatório]Date time when Newsletter should be sent. Do not forget tap start on device. DD.MM.YYYY H:i:s

Resposta em formato JSON::
Variável Tipo Descrição
contact_id int ID do contacto
error int 0 | 1 - indica se ocorreu um erro no processamento do pedido
message string Mensagem de erro, vazia se estiver tudo bem.
paket_id int Package ID
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Exemplo da resposta ... :
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f4f49fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}

8. Obter a lista de dispositivos

Descrição: Pode saber tudo sobre os seus dispositivos.
Endpoint: https://smsgateway24.com/getdata/getalldevices
Método:: GET, POST
Parâmetros do pedido:
Variável Tipo Descrição
token string [obrigatório] O seu token é obtido através do método de obtenção de token.

Resposta em formato JSON::
Variável Tipo Descrição
count int Número de dispositivos:
device json
  • id - ID do dispositivo
  • title - Nome do dispositivo
  • created - Data de criação do dispositivo
  • createdhumanformat - Data de criação do dispositivo em formato normal
  • lastseen - Data em que o dispositivo foi visto pela última vez
  • lastseenhumanformat - Data em que o dispositivo foi visto pela última vez
  • serialnumber - Número de série do dispositivo
  • siminfo - Informação sobre os cartões SIM em JSON
  • appversion - A versão da aplicação instalada no dispositivo
  • subscription - Se o dispositivo tem subscrição
message string Mensagem de erro, vazia se estiver tudo bem.
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Exemplo da resposta:
    {
    "count": 2,
    "device": {
        "1576": {
            "id": 1576,
            "title": "AOSP_on_IA_Emulator",
            "number": null,
            "imei": "358240051111110",
            "created": {
                "date": "2020-03-28 20:10:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "createdhumanformat": "28.03.2020 20:10:29",
            "lastseen": {
                "date": "2020-04-23 17:02:21.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "lastseenhumanformat": "23.04.2020 17:02:21",
            "serialnumber": "EMULATOR30X0X5X0",
            "siminfo": [
                {
                    "Slot": "0",
                    "IccId": "89014103211118510720",
                    "Number": " 15555215554",
                    "Roaming": "0",
                    "CountryIso": "us",
                    "CarrierName": "Android (T-Mobile)"
                }
            ],
            "appversion": "12.1.21",
            "isappversionactual": false,
            "delaybetweeneachsms": null,
            "delaybetweenrequest": 1,
            "subscription": true
        },
        "1297": {
            "id": 1297,
            "title": "Android_SDK_built_for_x86",
            "number": null,
            "imei": "null",
            "created": {
                "date": "2020-01-20 14:01:05.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "createdhumanformat": "20.01.2020 14:01:05",
            "lastseen": {
                "date": "2020-04-20 20:51:34.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "lastseenhumanformat": "20.04.2020 20:51:34",
            "serialnumber": "unknown",
            "siminfo": [
                {
                    "Slot": "0",
                    "IccId": "8949226172233934327",
                    "Number": "+4915752982212",
                    "Roaming": "1",
                    "CountryIso": "de",
                    "CarrierName": "Drillisch (o2)"
                }
            ],
            "appversion": "12.1.21",
            "isappversionactual": false,
            "delaybetweeneachsms": 5,
            "delaybetweenrequest": 10,
            "subscription": false
        }
    }
}

9. Obter o estado de entrega de um SMS

Descrição: Com este método pode saber o estado de entrega de cada SMS
Endpoint: https://smsgateway24.com/getdata/getsmsstatus
Método:: GET, POST
Parâmetros do pedido:
Variável Tipo Descrição
token string [obrigatório] O seu token é obtido através do método de obtenção de token.
sms_id int [obrigatório] Sms Id

Resposta em formato JSON::
Variável Tipo Descrição
sms_id int SMS ID
status int SMS Status
  • 1 - SMS pendentes
  • 2 - SMS recolhidos pelo telemóvel
  • 3 - Em fila para envio. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - SMS recebidos
  • 6 - SMS enviados pelo telemóvel
  • 7 - O SMS foi entregue
  • 8 - O SMS NÃO foi entregue
  • 9 - O SMS não chegou a ser enviado - Generic Failure. (Leia o que fazer com este erro aqui)
  • Outros erros, menos frequentes:
  • 10 - SMS não enviado - No Service
  • 11 - SMS não enviado - Null PDU
  • 12 - SMS não enviado - Radio Off
  • 100, 101 - SMS não enviado - NOT ALLOWED. (Não foram concedidas à aplicação as permissões para enviar SMS)
status_description string Nome do estado
error int 0 | 1 - se há um erro no processamento do pedido
message string Mensagem de erro, vazia se estiver tudo bem.
Ligação para o exemplo de código com Curl
Ligação para o exemplo de código com Guzzle
Exemplo da resposta:
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f4f49fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}