Documentazione api - smsgateway24

Documentazione

Documentazione su API e integrazione

Usa SmsGateway24 con SMS, WhatsApp, chat, richieste API e webhook.
Questa documentazione tratta l'autenticazione con token, l'invio di messaggi, le operazioni massive, le API dei dispositivi, gli stati di consegna e l'integrazione dei webhook.
v.1.1
API
Creato per sviluppatori e team
Collega il tuo backend, CRM o helpdesk al tuo dispositivo Android di messaggistica.

1. Ottenere un token:

Descrizione: Se questa richiesta va a buon fine, riceverai un token. Potrai poi usarlo per accedere al server ed effettuare altre richieste.
Endpoint: https://smsgateway24.com/getdata/gettoken
Metodo:: GET
Parametri della richiesta:
Variabile Tipo Descrizione
email string [obbligatorio] Your login in the system. Usually email
pass string [obbligatorio] Your password in the system

Risposta in formato JSON::
Variabile Tipo Descrizione
token string Il tuo token si ottiene tramite il metodo di recupero del token:
error int 0 | 1 - indica se si è verificato un errore nell'elaborazione della richiesta
message string Messaggio di errore, vuoto se è tutto a posto.
Link all'esempio di codice con Curl
Link all'esempio di codice con Guzzle
Esempio di risposta:
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f41119fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}

2. Invia un singolo messaggio usando TOKEN:

Descrizione: Crea un messaggio in uscita sul server. Il messaggio può essere inviato tramite il canale selezionato del tuo dispositivo Android collegato.
Endpoint: https://smsgateway24.com/getdata/addsms
Metodo: GET, POST (Usa %2B al posto del segno più "+" nella richiesta GET)
Parametri della richiesta:
Variabile Tipo Descrizione
token string [obbligatorio] Il tuo token si ottiene tramite il metodo di recupero del token.
sendto string [obbligatorio] Indirizzo o numero di telefono del destinatario. Più valori possono essere separati da virgole.
body string [obbligatorio] Corpo del messaggio. Non necessario quando si invia un'immagine (vedi il parametro "file" qui sotto): in tal caso body viene sostituito dall'URL dell'immagine caricata.
device_id int [obbligatorio] ID del dispositivo
sim int [obbligatorio] Slot SIM: 0 e 1 per SMS. 2 - WhatsApp Business, 3 - WhatsApp personale. 4 e 5 - RCS.
timetosend string
YYYY-MM-DD
oppure
YYYY-MM-DD HH:MM:SS
[facoltativo] Orario previsto per l'invio del messaggio. Ad esempio: 2026-09-18 17:28:52
customerid int [facoltativo] Il numero identificativo del tuo cliente. Campo facoltativo
urgent int [facoltativo] Contrassegna il messaggio come urgente. Utile per OTP e traffico ad alta priorità.
file file (multipart/form-data) [facoltativo] File immagine da inviare (jpeg, png, webp, gif). Se fornito, la richiesta deve essere inviata come multipart/form-data con POST. Il file viene caricato sul nostro storage S3 e il suo URL pubblico sostituisce il campo "body", così l'immagine viene consegnata al destinatario (attualmente supportato sugli slot WhatsApp / WhatsApp Business) e viene mostrata anche nella chat corrispondente. Questo parametro è del tutto facoltativo: le integrazioni esistenti che inviano solo testo continuano a funzionare senza modifiche.
Compatibilità con le versioni precedenti: il parametro "file" è facoltativo. Se non invii un file, l'endpoint si comporta esattamente come prima: le tue integrazioni esistenti di solo testo non richiedono modifiche.

Risposta in formato JSON:
Variabile Tipo Descrizione
error int 0 o 1 - indica se si è verificato un errore nell'elaborazione della richiesta
message string Messaggio di errore, vuoto se è tutto a posto.
sms_id int Identificatore del messaggio creato nel nostro sistema.
Link all'esempio di codice con Curl
Link all'esempio di codice con Guzzle
Esempio di risposta:
{ "error": 0, "sms_id": 62807347, "message": "Sms has been saved successfully" }

2.1 Metodo legacy: invia un singolo SMS usando login e password

Deprecato. Usa l'autenticazione basata su token per le nuove integrazioni. Questo metodo è mantenuto solo per compatibilità con le versioni precedenti.
Endpoint: https://smsgateway24.com/getdata/smstosend
Metodo: GET, POST
Parametri della richiesta:
Variabile Tipo Descrizione
emailstring[obbligatorio] La tua e-mail
passstring[obbligatorio] La tua password
sendtostring[obbligatorio] Indirizzo o numero di telefono del destinatario.
bodystring[obbligatorio] Corpo del messaggio
device_idint[obbligatorio] ID del dispositivo
simint[obbligatorio] Slot SIM: 0 e 1 per SMS. 2 - WhatsApp Business, 3 - WhatsApp personale. 4 e 5 - RCS
timetosendstring[facoltativo] Orario di invio programmato.
customeridint[facoltativo] Il tuo identificativo cliente.
urgentint[facoltativo] Contrassegna il messaggio come urgente.

3. Invio di SMS in blocco tramite JSON

Descrizione: Crea gli SMS sul server per l'invio. Poi il telefono con l'app Smsgateway24 contatta il server, preleva gli SMS e li invia dalla tua SIM. Scarica l'applicazione a questo link
Endpoint: https://smsgateway24.com/getdata/addalotofsms
Metodo:: GET, POST
Parametri della richiesta:
Variabile Tipo Descrizione
datajson string [obbligatorio] {"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}]}

Risposta in formato JSON::
Variabile Tipo Descrizione
error int 0 | 1 - indica se si è verificato un errore nell'elaborazione della richiesta
message string Messaggio di errore, vuoto se è tutto a posto.
Link all'esempio di codice con Curl
Link all'esempio di codice con 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. Ottieni tutti gli SMS (inclusi quelli in arrivo):

Descrizione: Questa richiesta ti permette di recuperare tutti i messaggi associati al tuo account, inclusi gli SMS in arrivo dai clienti. In questo metodo tutte le variabili di input sono obbligatorie e gli SMS possono avere stati diversi.
Endpoint: https://smsgateway24.com/getdata/getallsms
Metodo: GET, POST (Usa %2B al posto del segno più "+" nella richiesta GET)
Parametri della richiesta:
Variabile Tipo Descrizione
token string [obbligatorio] Il tuo token si ottiene tramite il metodo di recupero del token.
device_id string [facoltativo] ID del dispositivo
status int [facoltativo]
  • 1 - SMS in sospeso
  • 2 - SMS prelevati dal telefono
  • 3 - In coda per l'invio. 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 in arrivo
  • 6 - SMS inviati dal telefono
  • 7 - L'SMS è stato consegnato
  • 8 - L'SMS NON è stato consegnato
  • 9 - L'SMS non è stato inviato affatto - Generic Failure. (Leggi cosa fare con questo errore qui)
  • Altri errori, meno frequenti:
  • 10 - SMS non inviato - No Service
  • 11 - SMS non inviato - Null PDU
  • 12 - SMS non inviato - Radio Off
  • 100, 101 - SMS non inviato - NOT ALLOWED. (All'applicazione non sono state concesse le autorizzazioni per inviare SMS)
begindate string
YYYY-MM-DD
or
YYYY-MM-DD HH:MM:SS
[facoltativo] Begin Date Time
enddate string
YYYY-MM-DD
or
YYYY-MM-DD HH:MM:SS
[facoltativo] End Date Time
sim int [facoltativo] Slot SIM: 0 e 1 per SMS. 2 - WhatsApp Business, 3 - WhatsApp personale. 4 e 5 - RCS # 0 or 1
customerid int [facoltativo] Il numero identificativo del tuo cliente. Campo facoltativo
onlycount int [facoltativo] 0 | 1 solo conteggio
phone string [facoltativo] 0 | 1 Filtro per numero di telefono
orderbydesc int [facoltativo] 0 | 1 Order by any field
timezone int [facoltativo] Indica il tuo fuso orario locale, ad esempio Australia/Sydney.

Risposta in formato JSON::
Variabile Tipo Descrizione
token string Il tuo token si ottiene tramite il metodo di recupero del token:
error int 0 | 1 - indica se si è verificato un errore nell'elaborazione della richiesta
message string Messaggio di errore, vuoto se è tutto a posto
count int SMS amount
smss int JSON object
Link all'esempio di codice con Curl
Link all'esempio di codice con Guzzle
Esempio di risposta ... :
{ "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. Aggiungi un nuovo elenco contatti

Descrizione: Il tag serve per generare una newsletter destinata a un gruppo di numeri. Ad esempio, usa il tag Dipendenti
Endpoint: https://smsgateway24.com/getdata/savetag
Metodo:: GET, POST
Parametri della richiesta:
Variabile Tipo Descrizione
token string [obbligatorio] Il tuo token si ottiene tramite il metodo di recupero del token.
title string [obbligatorio] Nome del tag

Risposta in formato JSON::
Variabile Tipo Descrizione
tag_id int Tag ID
error int 0 | 1 - indica se si è verificato un errore nell'elaborazione della richiesta
message string Messaggio di errore, vuoto se è tutto a posto.
Link all'esempio di codice con Curl
Link all'esempio di codice con Guzzle
Esempio di risposta:
{ "error": 0, "tag_id": 8303, "message": "OK" }

6. Aggiungi contatti all'elenco contatti:

Descrizione: Aggiungi contatti a qualsiasi tag. Ad esempio, per il tag * Dipendenti * i tuoi colleghi sono perfetti.
Endpoint: https://smsgateway24.com/getdata/savecontact
Metodo:: GET, POST
Parametri della richiesta:
Variabile Tipo Descrizione
token string [obbligatorio] Il tuo token si ottiene tramite il metodo di recupero del token.
phone string [obbligatorio] phone number
ctag_id int [obbligatorio] Tag ID
fullname string [obbligatorio] Il nome del tuo cliente

Risposta in formato JSON::
Variabile Tipo Descrizione
contact_id int Contact Id
error int 0 | 1 - indica se si è verificato un errore nell'elaborazione della richiesta
message string Messaggio di errore, vuoto se è tutto a posto.
Link all'esempio di codice con Curl
Link all'esempio di codice con Guzzle
Esempio di risposta ... :
{"error":0,"contact_id":15954765,"message":"ok"}

7. Crea una newsletter

Descrizione:Dopo aver creato il tag, puoi effettuare l'invio ai numeri di quel tag.
Endpoint: https://smsgateway24.com/getdata/savepaket
Metodo:: GET, POST
Parametri della richiesta:
Variabile Tipo Descrizione
token string [obbligatorio] Il tuo token si ottiene tramite il metodo di recupero del token.
title string [obbligatorio] Titolo della newsletter
device_id string [obbligatorio] ID del dispositivo
body string [obbligatorio] Corpo del messaggio di destinazione
tags string [obbligatorio] ID del tag. Possono essere più di uno, separati da virgole. Ad esempio: 12,13,14
sim int [obbligatorio]Slot SIM: 0 e 1 per SMS. 2 - WhatsApp Business, 3 - WhatsApp personale. 4 e 5 - RCS 0 or 1
time_to_send int, default = 0 [obbligatorio]Date time when Newsletter should be sent. Do not forget tap start on device. DD.MM.YYYY H:i:s

Risposta in formato JSON::
Variabile Tipo Descrizione
contact_id int ID del contatto
error int 0 | 1 - indica se si è verificato un errore nell'elaborazione della richiesta
message string Messaggio di errore, vuoto se è tutto a posto.
paket_id int Package ID
Link all'esempio di codice con Curl
Link all'esempio di codice con Guzzle
Esempio di risposta ... :
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f4f49fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}

8. Ottieni l'elenco dei dispositivi

Descrizione: Puoi conoscere tutto sui tuoi dispositivi.
Endpoint: https://smsgateway24.com/getdata/getalldevices
Metodo:: GET, POST
Parametri della richiesta:
Variabile Tipo Descrizione
token string [obbligatorio] Il tuo token si ottiene tramite il metodo di recupero del token.

Risposta in formato JSON::
Variabile Tipo Descrizione
count int Numero di dispositivi:
device json
  • id - ID del dispositivo
  • title - Nome del dispositivo
  • created - Data di creazione del dispositivo
  • createdhumanformat - Data di creazione del dispositivo in formato normale
  • lastseen - Data in cui il dispositivo è stato visto l'ultima volta
  • lastseenhumanformat - Data in cui il dispositivo è stato visto l'ultima volta
  • serialnumber - Numero di serie del dispositivo
  • siminfo - Informazioni sulle SIM in JSON
  • appversion - La versione dell'applicazione installata sul dispositivo
  • subscription - Se sul dispositivo è presente un abbonamento
message string Messaggio di errore, vuoto se è tutto a posto.
Link all'esempio di codice con Curl
Link all'esempio di codice con Guzzle
Esempio di risposta:
    {
    "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. Ottieni lo stato di consegna di un singolo SMS

Descrizione: Con questo metodo puoi conoscere lo stato di consegna di ogni SMS
Endpoint: https://smsgateway24.com/getdata/getsmsstatus
Metodo:: GET, POST
Parametri della richiesta:
Variabile Tipo Descrizione
token string [obbligatorio] Il tuo token si ottiene tramite il metodo di recupero del token.
sms_id int [obbligatorio] Sms Id

Risposta in formato JSON::
Variabile Tipo Descrizione
sms_id int SMS ID
status int SMS Status
  • 1 - SMS in sospeso
  • 2 - SMS prelevati dal telefono
  • 3 - In coda per l'invio. 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 in arrivo
  • 6 - SMS inviati dal telefono
  • 7 - L'SMS è stato consegnato
  • 8 - L'SMS NON è stato consegnato
  • 9 - L'SMS non è stato inviato affatto - Generic Failure. (Leggi cosa fare con questo errore qui)
  • Altri errori, meno frequenti:
  • 10 - SMS non inviato - No Service
  • 11 - SMS non inviato - Null PDU
  • 12 - SMS non inviato - Radio Off
  • 100, 101 - SMS non inviato - NOT ALLOWED. (All'applicazione non sono state concesse le autorizzazioni per inviare SMS)
status_description string Nome dello stato
error int 0 | 1 - se c'è un errore nell'elaborazione della richiesta
message string Messaggio di errore, vuoto se è tutto a posto.
Link all'esempio di codice con Curl
Link all'esempio di codice con Guzzle
Esempio di risposta:
{"error":0,"message":"OK","token":"abbde3e31e9d026c02f4f49fc551111e"}
or
{"error":1,"message":"Login or password incorrect"}