Documentazione SMS
Noi di SMSmobileAPI ci impegniamo a rendere la nostra API il più compatibile possibile con qualsiasi architettura o piattaforma.
Che tu utilizzi REST, SOAP, cURL o vari linguaggi di programmazione come Python, JavaScript, PHP e altri, la nostra API è progettata per integrarsi perfettamente nei tuoi progetti.
Disponiamo anche di plugin pronti all'uso per soluzioni e software di e-commerce.
Clicca qui per scoprirli.
Invia SMS
Questo endpoint ti consente di inviare un SMS dal tuo telefono cellulare.Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API univoca. |
| recipients | Necessario Il numero di telefono del destinatario. |
| message | Necessario Messaggio da inviare (nessun limite di 160 caratteri). |
| port |
Definisci la porta SIM da utilizzare per l'invio degli SMS: 1, 2oppure lasciarlo vuoto. Se lasciato vuoto, l'SMS verrà inviato automaticamente utilizzando la porta SIM disponibile. Questo parametro è disponibile a partire dalla versione Android 4.1.15.0 e funziona quando l'app è in primo piano. |
| shorturl | 1 = converte gli URL in link brevi 0 o vuoto = nessuna conversione |
| sIdentifiant | Seleziona il telefono connesso che invia l'SMS. Lascia vuoto per il primo dispositivo disponibile. Richiede l'app 3.0.35.3+. |
| sendwa | 1 = invia tramite WhatsApp. |
| sendsms | 1 = invia tramite SMS (predefinito se vuoto). Impostare su 0 per bloccare gli SMS. |
| encrypt_message | SÌ = il destinatario ha bisogno di una chiave per decifrare. Saperne di più |
| schedule_timestamp | Timestamp UNIX (GMT 0) da cui deve essere inviato l'SMS. |
Esempio di richiesta:
GET https://api.smsmobileapi.com/sendsms/?apikey=YOUR_API_KEY&recipients=+1234567890&message=HelloWorld
Esempio di risposta JSON:
{ "risultato": { "errore": 0, "inviato": "1", "id": "c319d3b35e8f8712cde20dae39ac3c19f86eda25", "nota": "inviato da cellulare", "data e ora": "2026-03-20T21:07:44Z", "data e ora locale": "2026-03-20T22:07:44+01:00", "porta": null, "controllo_iac": "1", "autorizzato_iac": "1", "invia_con_whatsapp": "0", "crittografato": { "stato": "0" }, "account_di_prova": { "stato": "0", "sms_inviati": 0 } } }
Spiegazione della risposta:
| Campo | Descrizione |
|---|---|
| result.error | 0 = nessun errore. Se viene restituito un valore diverso, la richiesta non è riuscita o è stata bloccata. |
| result.sent | 1 = il messaggio è stato accettato per l'invio dal dispositivo mobile. |
| result.id | Identificativo univoco del messaggio generato dall'API. È possibile memorizzarlo per scopi di tracciamento o registrazione. |
| result.note | Ulteriori informazioni su come è stato elaborato il messaggio. Esempio: inviato tramite cellulare. |
| result.datetime | Data/ora UTC della risposta dell'API. |
| result.datetimeLocal | Data e ora locali in base alla configurazione del dispositivo mobile o del server. |
| result.port | Porta SIM utilizzata per l'invio. Può essere 1, 2, O nulla se non specificato o non restituito. |
| result.iac_control | Stato del controllo API interno. 1 significa che la richiesta ha superato i controlli di validazione interni. |
| result.iac_authorized | 1 significa che la chiave API è autorizzata a utilizzare questo endpoint. |
| result.send_with_whatsapp | 1 = il messaggio viene elaborato tramite WhatsApp. 0 = invio di SMS standard. |
| result.encrypted.status | 1 = crittografia abilitata. 0 = messaggio inviato senza crittografia. |
| result.trial_account.status | 1 = l'account è un account di prova. 0 = conto ordinario. |
| result.trial_account.sms_sent | Numero di SMS già inviati dall'account di prova, se pertinente. |
Reinvia un SMS non inviato
Questo endpoint consente di reinviare un SMS non inviato in precedenza, solo se il messaggio si trova attualmente in stato di errore.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API univoca. |
| guid | Necessario GUID del messaggio da reinviare. |
Esempio di richiesta:
OTTIENI https://api.smsmobileapi.com/resend/?apikey=LA_TUA_CHIAVE_API&guid=GUID_DEL_MESSAGGIO
Esempio di risposta JSON:
{ "risultato": { "errore": "0", "sms": "reinviato con successo", "tentativo": 1 } }
Spiegazione della risposta:
| Campo | Descrizione |
|---|---|
| result.error | 0 = nessun errore. La richiesta di reinvio è stata accettata con successo. |
| result.sms | Messaggio di stato restituito dall'API. In questo esempio, conferma che l'SMS è stato reinviato correttamente. |
| result.attempt | Indica il numero del tentativo di reinvio. |
Registro degli SMS inviati dall'API
Questo endpoint consente di recuperare il registro dei messaggi SMS inviati tramite l'API.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API univoca. |
| guid_message | Filtra in base all'identificativo univoco del messaggio. |
| before | Recupera i messaggi inviati prima di questo valore. A seconda dell'implementazione, può trattarsi di un timestamp o di un riferimento al messaggio. |
| error_api | 1 = elenca solo i messaggi SMS con un errore nella richiesta API. |
| error_mobile | 1 = elenca solo i messaggi SMS con un errore di elaborazione mobile. |
| keyword | Filtra per numero del destinatario o contenuto del messaggio. |
Esempio di richiesta:
GET https://api.smsmobileapi.com/log/sent/sms/?apikey=YOUR_API_KEY
Esempio di risposta JSON:
{ "risultato": { "errore": "0", "sms": [ { "sIdentifiantPhone": "abbg00055x5", "porta": 0, "data_aggiunta": "2026-03-20", "ora_aggiunta": "22:07:44", "timestamp": 1774044464, "invio_da_mobile": 1, "data_invio_da_mobile": "2026-03-20", "ora_invio_da_mobile": "22:10:05", "timestamp_invio_da_mobile": 1774044605, "destinatari": "32495898697", "sms": "test", "error_api": "", "errore_invio_da_mobile": "", "messaggio_guid": "c319d3b35e8f8712cde20dae39ac3c19f86eda25", "timearea": "UTC+01", "date_add_server": "2026-03-20", "hour_add_server": "21:07:44", "timestamp_server": 1774040864, "send_from_mobile_date_server": "2026-03-20", "send_from_mobile_heure_server": "21:10:05" } ] } }
Spiegazione della risposta:
| Campo | Descrizione |
|---|---|
| result.error | 0 = nessun errore. La richiesta è stata elaborata correttamente. |
| result.sms | Array contenente le voci del registro SMS inviate restituite dall'API. |
| result.sms[].sIdentifiantPhone | Identificativo del telefono utilizzato per l'invio, se disponibile. |
| result.sms[].port | La porta SIM viene utilizzata per l'invio degli SMS. |
| result.sms[].date_add | Data locale in cui l'SMS è stato aggiunto alla coda. |
| result.sms[].hour_add | Ora locale in cui l'SMS è stato aggiunto alla coda. |
| result.sms[].timestamp | Timestamp UNIX della data/ora locale in coda. |
| result.sms[].send_from_mobile | 1 = l'SMS è stato inviato dal cellulare. 0 = non ancora inviato o invio non riuscito. |
| result.sms[].send_from_mobile_date | Data locale in cui il cellulare ha effettivamente inviato l'SMS. |
| result.sms[].send_from_mobile_heure | Ora locale al momento dell'invio effettivo dell'SMS da parte del cellulare. |
| result.sms[].send_from_mobile_timestamp | Timestamp UNIX dell'ora effettiva di invio dal dispositivo mobile. |
| result.sms[].recipients | Numero di telefono del destinatario. |
| result.sms[].sms | Contenuto del messaggio. |
| result.sms[].error_api | Se si verifica un errore durante l'elaborazione della richiesta API. Un valore vuoto indica l'assenza di errori API. |
| result.sms[].send_from_mobile_erreur | Errore restituito dal cellulare durante l'invio, se presente. Vuoto significa nessun errore del cellulare. |
| result.sms[].guid_message | GUID univoco del messaggio. |
| result.sms[].timearea | Fuso orario utilizzato per i campi relativi a data e ora locali. |
| result.sms[].date_add_server | Data lato server in cui l'SMS è stato aggiunto. |
| result.sms[].hour_add_server | Ora del server in cui l'SMS è stato aggiunto. |
| result.sms[].timestamp_server | Timestamp UNIX lato server relativo al momento in cui l'SMS è stato aggiunto. |
| result.sms[].send_from_mobile_date_server | Data lato server in cui l'SMS è stato inviato dal dispositivo mobile. |
| result.sms[].send_from_mobile_heure_server | Ora del server in cui l'SMS è stato inviato dal cellulare. |
Elenco degli SMS inviati dal cellulare
Questo endpoint consente di visualizzare l'elenco dei messaggi SMS inviati dal dispositivo mobile e sincronizzati con l'account SMSMobileAPI.
Importante: Questa funzionalità è disponibile a partire dalla versione Android 4.1.20.
Importante: Questa caratteristica è non abilitato per impostazione predefinita nell'app Android.
Privacy: Tutte le informazioni sincronizzate vengono anonimizzate, rese riservate e gestite in modo sicuro.
Limite storico: Questa API restituisce dati solo dall'ultimo 7 giorni.
Nota: Se invii SMS utilizzando l'endpoint API standard https://api.smsmobileapi.com/sendsms/Questi SMS potrebbero comparire in questo elenco anche perché vengono effettivamente inviati dal tuo dispositivo mobile.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API univoca. |
| date | Opzionale. Filtro data esatta in YYYY-MM-DD formato. |
| date_from | Facoltativo. Data di inizio del periodo in YYYY-MM-DD formato. |
| date_to | Facoltativo. Data di fine del periodo in YYYY-MM-DD formato. |
| period | Opzionale. Filtro periodo predefinito. Valori consentiti: today, yesterday, last_24h, last_3days, last_7days. |
| number | Opzionale. Filtra per numero di telefono del destinatario. |
| sIdentifiant | Opzionale. Filtra per identificativo del dispositivo mobile. |
| message | Opzionale. Filtra per contenuto SMS. |
| search | Opzionale. Ricerca globale su sIdentifiant, number, message, mobile_date_formatted, E synchro_time. |
| sort_by | Facoltativo. Campo di ordinamento. Valori consentiti: sIdentifiant, number, message, mobile_date_ms, mobile_date_formatted, synchro_time. |
| sort_order | Facoltativo. Ordine di visualizzazione: ASC O DESC. |
| limit | Facoltativo. Numero massimo di righe restituite. Valore massimo consentito: 200. |
Campi restituiti:
| Campo | Descrizione |
|---|---|
| sIdentifiant | Identificativo del dispositivo mobile collegato all'SMS inviato. |
| number | Numero di telefono del destinatario. |
| message | Contenuto degli SMS. |
| mobile_date_ms | Timestamp originale dell'SMS in millisecondi. |
| mobile_date_formatted | Data formattata ricevuta dal dispositivo mobile. |
| synchro_time | Data e ora di sincronizzazione dell'SMS con SMSMobileAPI. |
Esempio di richiesta:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY
Esempio con filtri:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&date=2026-03-13&number=+15551234567&sort_by=synchro_time&sort_order=DESC
Esempio con periodo predefinito:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&period=last_7days&limit=200
Esempio di risposta JSON:
{ "risultato": { "errore": "0", "conteggio": 200, "limite": 200, "limite_cronologia_giorni": 7, "ordina_per": "data_mobile_ms", "ordine_ordinamento": "DESC", "sms": [ { "sIdentificativo": "508b004b4aadacc4", "numero": "+15551234567", "messaggio": "Ciao, il tuo appuntamento è stato confermato.", "data_mobile_ms": 1774041004692, "formattato_data_mobile": "2026-03-20 22:10:04", "ora_sincronizzazione": "2026-03-20 21:10:05" }, { "sIdentificativo": "e5b70a8a28b2ec3d", "numero": "+447700900123", "message": "Il tuo codice di verifica è 482915.", "mobile_date_ms": 1774040902284, "mobile_date_formatted": "2026-03-20 22:08:22", "synchro_time": "2026-03-20 21:08:35" }, { "sIdentifiant": "e5b70a8a28b2ec3d", "number": "+33198765432", "message": "Grazie per il tuo ordine. È in fase di elaborazione.", "mobile_date_ms": 1774026491230, "mobile_date_formatted": "2026-03-20 18:08:11", "synchro_time": "2026-03-20 17:19:19" } ] } }
Spiegazione della risposta:
| Campo | Descrizione |
|---|---|
| result.error | 0 = nessun errore. La richiesta è stata elaborata correttamente. |
| result.count | Numero di messaggi SMS restituiti nella risposta corrente. |
| result.limit | Numero massimo di righe richieste o applicate dall'API. |
| result.history_limit_days | Intervallo massimo di cronologia disponibile tramite questo endpoint, in giorni. |
| result.sort_by | Campo di ordinamento applicato alla risposta. |
| result.sort_order | Direzione di ordinamento applicata alla risposta: ASC O DESCRIZIONE. |
| result.sms | Array contenente gli SMS sincronizzati inviati dal dispositivo mobile. |
| result.sms[].sIdentifiant | Identificativo del dispositivo mobile che ha inviato l'SMS. |
| result.sms[].number | Numero di telefono del destinatario. |
| result.sms[].message | Contenuto del messaggio SMS. |
| result.sms[].mobile_date_ms | Timestamp originale del dispositivo mobile in millisecondi. |
| result.sms[].mobile_date_formatted | Data e ora leggibili dall'uomo sul dispositivo mobile. |
| result.sms[].synchro_time | Data e ora in cui l'SMS è stato sincronizzato con SMSMobileAPI. |
SMS ricevuto
Questo endpoint consente di recuperare i messaggi SMS ricevuti sullo smartphone.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API univoca. |
| sIdentifiantPhone | Opzionale. Filtra i messaggi ricevuti su uno specifico telefono collegato. |
| after_timestamp_unix | Opzionale. Recupera solo gli SMS ricevuti dopo un determinato timestamp UNIX. |
| onlyunread | SÌ = restituisce solo i messaggi non ancora contrassegnati come letti dallo stato dell'API. |
Esempio di richiesta:
OTTIENI https://api.smsmobileapi.com/getsms/?apikey=LA_TUA_CHIAVE_API
Esempio di risposta JSON:
{ "risultato": { "errore": "", "sms": [ { "id": 466340, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "data": "2026-03-20", "ora": "21:23:34", "timestamp_unix": 1774041814, "ora_ricevuta": "20260320222332804", "indice": "27593", "messaggio": "Ciao, il tuo pacco è stato consegnato.", "numero": "+15551234567", "guid": "6BFD7DC7-3492-422D-8D02-4AF4E614F122", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466341, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:23:34", "timestamp_unix": 1774041814, "time_received": "20260320221005892", "indice": "27591", "message": "Il tuo appuntamento è confermato per domani.", "number": "+447700900123", "guid": "BF3B38D7-8401-4A8C-8BA6-D8D58ACBB23E", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466324, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:08:24", "timestamp_unix": 1774040904, "time_received": "20260320220822763", "indice": "27590", "message": "Per favore, richiamaci quando sei disponibile.", "number": "+33198765432", "guid": "08C88E20-9B98-453F-B361-9BB06D3275D6", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466156, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "ora": "19:05:22", "timestamp_unix": 1774033522, "ora_ricevuta": "20260320200026246", "indice": "27588", "messaggio": "Promemoria: la revisione del tuo account è in sospeso.", "numero": "10001", "guid": "551B2CF4-9330-4DD2-B2BA-5A4026EEEB15", "alias": null, "apikey": "YOUR_API_KEY_HASH" } ] } }
Spiegazione della risposta:
| Campo | Descrizione |
|---|---|
| result.error | Un valore vuoto di solito significa che l'API non ha restituito alcun errore. |
| result.sms | Array contenente le voci degli SMS ricevuti. |
| result.sms[].id | Identificativo univoco interno del messaggio SMS ricevuto. |
| result.sms[].sIdentifiantPhone | Identificativo del telefono che ha ricevuto l'SMS. |
| result.sms[].date | Data di ricezione dell'SMS. |
| result.sms[].hour | Ora in cui è stato ricevuto l'SMS. |
| result.sms[].timestamp_unix | Timestamp UNIX dell'SMS ricevuto. |
| result.sms[].time_received | Timestamp di ricezione interno originale fornito dal dispositivo mobile/app. |
| result.sms[].indice | Indice o riferimento del messaggio interno dal processo di sincronizzazione. |
| result.sms[].message | Contenuto dell'SMS ricevuto. |
| result.sms[].number | Numero di telefono del mittente o codice breve. |
| result.sms[].guid | GUID univoco assegnato all'SMS ricevuto. |
| result.sms[].alias | Alias facoltativo associato al mittente, se disponibile. Può essere nulla. |
| result.sms[].apikey | Chiave API associata al record del messaggio. Negli esempi della documentazione, questo valore deve essere mascherato. |
Contrassegna i messaggi SMS ricevuti come letti
Questo endpoint API viene utilizzato per contrassegnare un messaggio SMS ricevuto come letto nel Solo stato API.
Ciò non modifica lo stato di lettura sullo smartphone.
Punto finale:
Parametro:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La chiave API che possiedi o che riceverai. |
| guid_message | Necessario GUID del messaggio da contrassegnare come letto. |
Esempio:
OTTIENI https://api.smsmobileapi.com/getsms/set-read/?apikey=LA_TUA_CHIAVE_API&guid_message=GUID_MESSAGE
Aggiorna l'alias SMS
Questo endpoint API viene utilizzato per aggiornare l'alias di un SMS ricevuto utilizzando il suo GUID.
Nota: IL alias Il parametro può essere vuoto. In tal caso, l'alias verrà cancellato.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API. |
| guid | Necessario GUID dell'SMS ricevuto da aggiornare. |
| alias | Necessario Alias da assegnare a questo SMS. Questo valore può essere vuoto per cancellare l'alias corrente. |
Esempio:
GET https://api.smsmobileapi.com/getsms/update/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE&alias=JohnDoe
Esempio per cancellare l'alias:
GET https://api.smsmobileapi.com/getsms/update/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE&alias=
Elimina SMS
Questo endpoint consente di eliminare i messaggi SMS dal registro del server SMSMobileAPI.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API univoca. |
| guid_message | Elimina un messaggio specifico utilizzando il suo GUID univoco. |
| date_start | Se utilizzato da solo, elimina tutti i messaggi registrati a partire dalla data specificata. |
| date_end | Utilizzato insieme a data_inizio per eliminare i messaggi compresi in un intervallo di date. |
Esempio di richiesta:
GET https://api.smsmobileapi.com/deletesms/?apikey=YOUR_API_KEY&guid_message=GUID_OF_THE_MESSAGE
Esempio di risposta JSON:
{ "risultato": { "errore": null, "conteggio_eliminazioni": 1 } }
Spiegazione della risposta:
| Campo | Descrizione |
|---|---|
| result.error | nulla significa che l'API non ha restituito alcun errore durante la richiesta di eliminazione. |
| result.count_delete | Numero di voci del registro SMS eliminate dal server. |
Nota: vengono eliminati solo gli SMS memorizzati nei log del server SMSMobileAPI. I messaggi SMS già memorizzati sul dispositivo mobile non vengono eliminati.
Elenco delle conversazioni SMS
Questo endpoint API viene utilizzato per elencare le conversazioni SMS collegate al tuo account.
Ogni conversazione è raggruppata per numero di telefono e contiene i relativi messaggi SMS in entrata e in uscita.
Nota: Il punto di partenza della conversazione è definito da origineConversation parametro:
- received: le conversazioni vengono rilevate per la prima volta dagli SMS ricevuti in logsmsreceive
- sent: le conversazioni vengono rilevate per la prima volta dagli SMS inviati in logsmssent
Nota: Se numero non è fornito, l'API restituisce solo le conversazioni più recenti. Per impostazione predefinita, l'ultima 20 Le conversazioni vengono risposte.
Nota: Per gli SMS in uscita, se timearea_of_message è disponibile (esempio: UTC+02), la data visualizzata viene convertita automaticamente utilizzando questo valore. Questa data convertita viene utilizzata anche per l'ordinamento.
Nota: Se resume=1Vengono restituiti solo i messaggi più recenti di ogni conversazione. Utilizzare resume_line_how per definire quanti messaggi recenti devono essere inclusi.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API. |
| origineConversation | Necessario Definisce il punto di partenza dell'elenco della conversazione. Valori consentiti: received O sent. |
| numero | Opzionale Filtra i risultati per un solo numero di telefono specifico. |
| date_from | Opzionale Filtro data di inizio per conversazioni e messaggi. Formato accettato: YYYY-MM-DD o un valore completo di data e ora. |
| date_to | Opzionale Filtro data di fine per conversazioni e messaggi. Formato accettato: YYYY-MM-DD o un valore completo di data e ora. |
| sort | Opzionale Ordine di visualizzazione delle conversazioni. Valori consentiti: DESC O ASC. Predefinito: DESC. |
| limit | Opzionale Numero massimo di conversazioni da restituire quando numero non è fornito. Predefinito: 20. |
| resume | Opzionale Se impostato su 1Vengono restituiti solo i messaggi più recenti di ogni conversazione. |
| resume_line_how | Opzionale Numero di messaggi più recenti da restituire per conversazione quando resume=1. Predefinito: 1. |
Dettagli sul comportamento:
- Gli SMS in arrivo vengono letti da logsmsreceive.
- Gli SMS in uscita vengono letti da logsmssent.
- I messaggi in arrivo vengono sempre restituiti direction = "incoming".
- I messaggi in uscita tornano sempre direction = "outgoing".
- L'alias del contatto viene preso da logsmsreceive.alias quando disponibile.
- Per gli SMS in arrivo, il SID del cellulare proviene da sIdentifiant_pour_read.
- Per gli SMS in uscita, il SID mobile proviene da send_from_mobile_sIdentifiant.
- Per gli SMS in uscita, la data visualizzata viene regolata con timearea_of_message se questo campo non è vuoto.
Esempio 1 - Elenca le ultime conversazioni dagli SMS ricevuti:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received
Esempio 2 - Elenca le conversazioni più recenti dagli SMS inviati:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent
Esempio 3 - Filtrare un numero di telefono specifico:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&numero=32470000001
Esempio 4 - Filtra per intervallo di date:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&date_from=2026-03-01&date_to=2026-03-31
Esempio 5 - Modalità Riprendi con gli ultimi 3 messaggi per conversazione:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent&resume=1&resume_line_how=3
Esempio di risposta positiva:
{ "successo": vero, "origineConversazione": "ricevuto", "ripresa": 0, "ripresa_linea": null, "conversazioni": [ { "numero_telefono": "+10470000001", "alias_contatto": "John Doe", "messaggi": [ { "direzione": "in entrata", "ID_messaggio": "msg_1001", "data": "2026-03-13 08:45:12", "timestamp_utc": "2026-03-13T08:45:12Z", "messaggio": "Ciao, vorrei maggiori informazioni.", "stato": "ricevuto", "sid_mobile": "sid_dispositivo_1" }, { "direzione": "in uscita", "ID_messaggio": "msg_1002", "data": "2026-03-13 10:46:03", "timestamp_utc": "2026-03-13T08:46:03Z", "message": "Certo, cosa vorresti sapere?", "status": "inviato", "mobile_sid": "device_sid_2" } ] } ] }
Campi di risposta:
| Campo | Descrizione |
|---|---|
| success | Indica se la richiesta è andata a buon fine. |
| origineConversation | La modalità iniziale utilizzata per creare l'elenco delle conversazioni. |
| resume | Indica se la modalità di ripristino è abilitata. |
| resume_line_how | Numero di righe più recenti restituite per conversazione quando la modalità di ripresa è abilitata. |
| conversations | Serie di conversazioni. |
| phone_number | Numero di telefono utilizzato per identificare la conversazione. |
| contact_alias | Alias collegato al numero di telefono, se disponibile. |
| messages | Serie di messaggi SMS all'interno della conversazione. |
| direction | incoming per gli SMS ricevuti, outgoing per gli SMS inviati. |
| message_id | Identificativo univoco del messaggio. |
| date | Visualizza la data del messaggio. Per gli SMS in uscita, questo valore può essere regolato utilizzando timearea_of_message. |
| timestamp_utc | Timestamp UTC del messaggio. |
| message | Contenuto del messaggio. |
| status | received per gli SMS in arrivo, sent per gli SMS in uscita. |
| mobile_sid | SID del dispositivo mobile che ha ricevuto o inviato il messaggio. |
Esempio di errore:
{ "successo": falso, "errore": "Parametro obbligatorio mancante: apikey" }
Note:
- Se numero Se fornito, l'API restituisce solo la conversazione collegata a questo numero di telefono.
- Se numero Se non viene fornito, l'API restituisce le conversazioni più recenti in base alla modalità di origine selezionata.
- I messaggi in entrata e in uscita vengono uniti in un'unica cronologia per ciascun numero di telefono.
- L'ordinamento dei messaggi in uscita tiene conto della data locale modificata quando timearea_of_message è disponibile.
- La modalità Riprendi è utile per dashboard, widget, anteprime e riepiloghi delle conversazioni.
Gateway – Elenca i cellulari connessi
Elenca i cellulari connessi al tuo Gateway SMS.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API. |
| sid | Filtra per SID esatto (sIdentifiant_pour_check). |
| search | Cerca nei campi (sid, data, batteria, versione, etichetta...). |
Esempio:
OTTIENI https://api.smsmobileapi.com/gateway/mobile/list/?apikey=LA_TUA_CHIAVE_API
Gateway – Aggiorna un'etichetta mobile
Aggiorna l'etichetta (nom_reference) di un dispositivo mobile connesso.
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API. |
| sid | Necessario SID del dispositivo (sIdentifiant_pour_check). |
| label | Nuova etichetta |
| phone_number | Nuovo numero di telefono |
Esempio:
OTTIENI https://api.smsmobileapi.com/gateway/mobile/update/?apikey=TUA_CHIAVE_API&sid=SID&label=OfficePhone
Importante: l'etichetta è obbligatoria ma può essere vuota (etichetta=).
Gateway – Elimina un cellulare connesso
Rimuovi un dispositivo mobile connesso dal tuo gateway (elimina tutte le righe della cronologia per questo SID).
Punto finale:
Parametri:
| Parametro | Descrizione |
|---|---|
| apikey | Necessario La tua chiave API. |
| sid | Necessario SID del dispositivo (sIdentifiant_pour_check). |
Esempio:
OTTIENI https://api.smsmobileapi.com/gateway/mobile/delete/?apikey=TUA_CHIAVE_API&sid=SID
Webhook – SMS ricevuto
Questo sistema webhook invia una richiesta POST all'URL configurato ogni volta che riceve un SMS. Il sistema garantisce aggiornamenti in tempo reale inviando i dettagli dell'SMS all'URL webhook specificato.
Come configurare il webhook nella dashboard
Per impostare l'URL del webhook nella dashboard, segui questi passaggi:
- Accedi al tuo account su Dashboard API mobile SMS.
- Vai a Impostazioni webhook sezione.
- Inserisci l'URL del tuo webhook (ad esempio,
https://example.com/webhook-endpoint). - Fare clic su Salva Webhook pulsante.
- Una volta salvato, il sistema inizierà a inviare i dettagli SMS all'URL configurato.
Payload del webhook
Quando viene ricevuto un SMS, il sistema invia il seguente payload JSON all'URL del webhook:
{ "date": "2025-01-20", "hour": "10:15:00", "time_received": "2025-01-20 10:14:50", "message": "Ciao, questo è un test.", "number": "+123456789", "guid": "abcde12345" }
Campi del carico utile:
- data: Data in cui è stato aggiunto l'SMS (AAAA-MM-GG).
- ora: Ora in cui è stato aggiunto l'SMS (HH:mm:ss).
- tempo_ricevuto: Ora in cui è stato ricevuto l'SMS.
- messaggio: Contenuto dell'SMS.
- numero: Numero di telefono del mittente.
- guida: Identificatore univoco dell'SMS.
Esempio di endpoint webhook
Il tuo server dovrebbe essere pronto a gestire le richieste POST in arrivo. Di seguito è riportato uno script PHP di esempio per elaborare il payload del webhook:
Test del webhook
Per testare la configurazione del webhook, utilizza strumenti come:
Risoluzione dei problemi
- Assicurarsi che l'URL del webhook sia corretto e accessibile al pubblico.
- Verifica che il tuo server restituisca un codice di stato HTTP 200 per le richieste andate a buon fine.
- Controlla i log del server per eventuali errori nell'elaborazione del payload.
SMS arricchiti
ProssimamenteAutenticazione
L'API SMSMobile supporta due metodi di autenticazione: tramite una semplice chiave API o tramite il protocollo OAuth2 con un ID client e un segreto client.
1. Autenticazione tramite chiave API
Questo metodo richiede una chiave API che può essere inclusa come parametro in una richiesta GET o POST.
2. Autenticazione OAuth2
OAuth2 fornisce un metodo di autenticazione più sicuro.
Utilizzare un ID client e un segreto client per ottenere un token di accesso, quindi includerlo nel Autorizzazione intestazione.
Client_id e client_secret sono disponibili nella dashboard.
Scarica subito l'app mobile O
accedi alla tua dashboard.
Ottenere un token di accesso
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"
Utilizzo del token di accesso:
curl -X POST https://api.smsmobileapi.com/sendsms \
-H "Autorizzazione: Titolare YOUR_ACCESS_TOKEN" \
-H "Tipo di contenuto: application/x-www-form-urlencoded" \
-d "destinatari=+1234567890" \
-d "messaggio=Ciao"
Quale metodo dovresti usare?
- Utilizzo Autenticazione tramite chiave API per integrazioni rapide e semplici.
- Utilizzo Autenticazione OAuth2 per una maggiore sicurezza e scalabilità.
Invia SMS
URL WSDL
Parametri:
- message: Il messaggio da inviare.
- apikey: La chiave API che possiedi o che riceverai.
Esempio
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);
Invia SMS e WhatsApp
Comando cURL di base
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"
Invia SMS e WhatsApp
Utilizza il nostro modulo Python ufficiale: 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 SMS Mobile - SDK PHP (Composer)
il compositore richiede smsmobileapi/sdk
GitHub: https://github.com/SmsMobileApi/smsmobileapi-php/tree/main
Invia 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);
Invia 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));
Invia 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

Questo problema deriva da un processo che tenta di essere eseguito in background quando l'applicazione non è in esecuzione. Tuttavia, a causa delle misure di ottimizzazione della batteria di Android, che variano a seconda della versione, questo processo in background potrebbe non avviarsi correttamente. L'ottimizzazione della batteria di Android è progettata per limitare l'attività in background delle app al fine di preservarne la durata, il che può influire inavvertitamente sulle app che richiedono processi in background per funzionare correttamente.
Per risolvere questo problema, gli utenti possono configurare manualmente le impostazioni Android per consentire a SmsMobileApi di utilizzare le risorse senza restrizioni.
Ciò comporta la regolazione delle impostazioni di ottimizzazione della batteria per l'app specifica, in sostanza, indicando ad Android che l'SmsMobileApi può essere eseguita in background e utilizzare le risorse in base alle esigenze. In questo modo, l'applicazione dovrebbe essere in grado di inviare e ricevere automaticamente messaggi SMS anche quando non è l'applicazione attiva in primo piano. Questa regolazione garantisce che il processo in background necessario possa funzionare senza interruzioni, aggirando le funzionalità di ottimizzazione della batteria che altrimenti potrebbero impedirne la corretta esecuzione.


FAQ per sviluppatori
Inizia subito a usare SMSmobileAPI!
Scopri la libertà e la flessibilità di gestire i tuoi servizi SMS ovunque ti trovi. Scarica subito la nostra app mobile e fai il primo passo verso un'integrazione SMS perfetta.
Scarica l'app