SMS di Alta Qualità con report di consegna, mittente personalizzato e invio in real time
Integra via API il servizio di invio SMS professionali per autenticazione, notifiche, remind, alert verso destinatari singoli o multipli
Tutte le informazioni di cui hai bisogno
Qui trovi qualche consiglio da prendere in considerazione per approcciare a questa API. Se preferisci forniamo esempi di codice, documentazione in OAS3, la possibilità di provare l'API dal vivo con la Swagger UI oppure importare l'intera collezione in Postman. Offriamo inoltre un ambiente di Sandbox dove puoi sperimentare tutte le API gratuitamente.
Prendi il token nell'apposita sezione prima di cominciare.
- Oas file url https://console.openapi.com/oas/it/gatewaysms.openapi.json
- Fork or import with Postman
- Production domain ws.messaggisms.com
- Sandbox domain test.ws.messaggisms.com
- Production Scopes 4
-
Sandbox Scopes 4
- PUT test.ws.messaggisms.com/messages
- POST test.ws.messaggisms.com/messages
- GET test.ws.messaggisms.com/messages
- DELETE test.ws.messaggisms.com/messages
Gateway SMS (1.0.0)
Questo servizio web espone chiamate REST per inviare messaggi di testo direttamente dal nostro gateway.
Elenco dei messaggi
Questo metodo consente di visualizzare l'elenco dei messaggi inviati dal proprio account.
Authorizations:
Responses
Response Schema: application/json
Array of objects (Messages) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 404
- "data": [
- {
- "sender": "alberto",
- "timestamp": "1564411330117",
- "id": "5d3f05c29f2725610c2b4e60"
- {
- "sender": "3939989741",
- "timestamp": "1563554978976",
- "id": "5d31f4a29f27257de166d960"
- {
- "sender": "3939989741",
- "timestamp": "1562686328690",
- "id": "5d24b3789f27257de1645bda"
- {
- "sender": "Nome del mittente",
- "timestamp": "1562142688118",
- "id": "5d1c67e09f27255e2f4079a3"
- {
- "sender": "Nome del mittente",
- "timestamp": "1562142398400",
- "id": "5d1c66be9f272563102e8045"
- "success": true,
- "message": "5 Results",
- "credit": "91.00299999999986",
- "error": null
Inviare un messaggio sms
Questo metodo consente di inviare un messaggio sms direttamente dal nostro gateway.
Authorizations:
Request Body schema: application/json
test | boolean Per impostazione predefinita è falso, se impostato su vero simula un invio |
sender required | string Il mittente deve essere compreso tra 3 e 11 caratteri se alfanumerico e tra 3 e 14 se numerico. |
body required | string Testo dell'sms; possiamo inserire nel testo i valori dei parametri 'segnaposto' contenuti nei 'campi' in questo modo: "corpo": "Test invio {{nome}}" |
required | string or Array of strings or object Il numero di telefono del destinatario e l'oggetto 'campi' in cui inserire i parametri che vogliamo inserire nel 'corpo', come questo: {'numero':'+39-34xxxxx987', 'campi':{'nome':'simone', 'cognome':'rossi'}}. Obbligatorio è il prefisso internazionale, che deve essere separato dal resto con '-', come ad esempio: '+39-numero'. Qualsiasi altro formato sarà considerato un cattivo destinatario e inserito tra i non validi. |
priority | number <double> Priorità di invio; l'impostazione predefinita è 1,00, che è la minima; aumentando la priorità si aumenta il costo totale del messaggio, ma supponendo che nella coda ci siano 1000 messaggi con priorità 1,00, inviando un messaggio con priorità 1,01 si salta la coda |
object (Options) | |
transaction | boolean Per impostazione predefinita, è impostato FALSO. Impostato su TRUE, avvia una transazione memorizzando i dati inviati, ma non inserendo la richiesta nella coda. Le successive chiamate PUT possono essere effettuate sul punto finale '/messages/{id}/' per integrare la chiamata POST iniziale (ad esempio aggiungendo destinatari), finché non viene inviata una PUT con 'transaction' : FALSE. Il campo ID viene restituito dalla prima chiamata POST. A quel punto la transazione (se valida) viene chiusa e i messaggi vengono accodati normalmente. |
Responses
Response Schema: application/json
Array of objects (Message_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
- "test": false,
- "sender": "alberto",
- "body": "test invio",
- "recipients": "+39-349xxxxx18"
Response samples
- 201
- 402
- 422
- "data": [
- {
- "test": false,
- "sender": "alberto",
- "body": "test invio",
- "recipients": {
- "valid": {
- "count": 1
- "invalid": {
- "total": 0,
- "list": [ ]
- "transaction": false,
- "options": {
- "bulk": false,
- "flash": false,
- "realtime": false,
- "timestamp_send": "1564752494920"
- "statistics": {
- "error": 0,
- "sent": 0,
- "delivered": 0,
- "total": 1,
- "sms_total": 1
- "base_price": 0.0315,
- "timestamp": "1564752494920",
- "last_update": "1564752494920",
- "priority": 1,
- "price": 0.0315,
- "state": 0,
- "id": "5d443a6e9f2725660f3db347"
- "message": "Message Queued",
- "credit": "90.90849999999988",
- "success": true,
- "error": null
Ottenere un singolo messaggio
Questo metodo consente di visualizzare il singolo messaggio relativo al parametro passato nel percorso
Authorizations:
path Parameters
id required | string Example: 5cf7cc139f272546624d3795 Id del messaggio |
Responses
Response Schema: application/json
Array of objects (Message_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/%7Bid%7D"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 406
- "data": [
- {
- "test": false,
- "sender": "Simone",
- "body": "Production test 4 ",
- "recipients": {
- "valid": {
- "count": 1
- "invalid": {
- "total": 0,
- "list": [ ]
- "priority": 1,
- "options": {
- "flash": true,
- "realtime": true,
- "timestamp_send": "326152800000",
- "custom": {
- "test": 123,
- "best": 321,
- "trest": [
- 12,
- 3,
- 12,
- 3
- "transaction": false,
- "statistics": {
- "error": 0,
- "sent": 1,
- "delivered": 1,
- "total": 1,
- "sms_total": 1
- "base_price": 0.03,
- "timestamp": "1559743507600",
- "last_update": "1559743510156",
- "price": 0.036,
- "state": 2,
- "id": "5cf7cc139f272546624d3795"
- "message": "1 Result",
- "credit": "90.97149999999986",
- "success": true,
- "error": null
Integrazione dei messaggi
Se esiste un messaggio con 'transaction = true', questo metodo consente di integrare la chiamata POST iniziale (aggiungendo ad esempio i destinatari) fino a quando non viene passato un PUT con 'transaction = false'. A quel punto il messaggio viene chiuso e messo nella coda di invio. Con questo metodo si può anche modificare la data di invio del messaggio ('timestamp_send') (se non è già stato inviato o programmato per l'invio).
Authorizations:
Request Body schema: application/json
required | string or Array of strings or object Il numero di telefono del destinatario e l'oggetto 'campi' in cui inserire i parametri che vogliamo inserire nel 'corpo', come questo: {'numero':'+39-34xxxxx987', 'campi':{'nome':'simone', 'cognome':'rossi'}}. Obbligatorio è il prefisso internazionale, che deve essere separato dal resto con '-', come ad esempio: '+39-numero'. Qualsiasi altro formato sarà considerato un cattivo destinatario e inserito tra i non validi. |
transaction | boolean Finché non viene impostato a false, la transazione non viene chiusa e il messaggio non viene inserito nella coda di invio. |
object |
Responses
Response Schema: application/json
object (Message_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
- "recipients": [
- "+39-3xxxxxx115"
- "options": {
- "timestamp_send": "2023-12-25"
Response samples
- 200
- 402
- 404
- 406
- 422
- "data": {
- "test": false,
- "sender": "alberto",
- "body": "test invio",
- "recipients": {
- "valid": {
- "count": 4
- "invalid": {
- "total": 0,
- "list": [ ]
- "transaction": true,
- "options": {
- "bulk": false,
- "flash": false,
- "realtime": false,
- "timestamp_send": "1564751430282"
- "statistics": {
- "error": 0,
- "sent": 0,
- "delivered": 0,
- "total": 4,
- "sms_total": 4
- "base_price": 0.126,
- "timestamp": "1564751430282",
- "last_update": "1564751430282",
- "priority": 1,
- "price": 0.126,
- "state": 0,
- "id": "5d4436469f272566771c6671"
- "message": "Updated",
- "credit": "90.97149999999986",
- "success": true,
- "error": null
Eliminare un singolo messaggio
Questo metodo consente di annullare e quindi di non inviare un messaggio (non è consentito per i messaggi già inviati o programmati per l'invio). La cancellazione non comporta il rimborso dei crediti spesi.
Authorizations:
path Parameters
id required | string Example: 5cf7cc139f272546624d3795 Id del messaggio |
Responses
Response Schema: application/json
data | Array of strings |
success | boolean |
message | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/%7Bid%7D"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 400
- 404
- 406
- 422
- "data": [ ],
- "message": "5cf7cc139f272546624d3795 Deleted",
- "success": true,
- "error": null
Ottenere i destinatari di un messaggio
Questo metodo consente di visualizzare i destinatari di un determinato messaggio.
Authorizations:
path Parameters
id required | string Example: 5e5e65429f272510fb6adcc0 Id del messaggio |
Responses
Response Schema: application/json
Array of objects (Recipient_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/%7Bid%7D/recipients/"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 404
- 406
- "data": [
- {
- "number": "+39-3xxxxx5018",
- "prefix": "+39",
- "send_id": "5e5e65429f272510fb6adcc0_0",
- "body": "test summary2",
- "sms": 1,
- "remaining_chr": 147,
- "state": "DELIVERED",
- "state_description": "DELIVERED_TO_HANDSET",
- "price": 0.03,
- "fields": [ ],
- "message_id": "5e5e65429f272510fb6adcc0",
- "i": 0,
- "state_detail": "Message delivered to handset",
- "timestamp_sent": {
- "$date": {
- "$numberLong": "1583244661371"
- "real_cost": 0.03,
- "report": {
- "price": {
- "pricePerMessage": 0.03,
- "currency": "EUR"
- "status": {
- "id": 5,
- "groupId": 3,
- "groupName": "DELIVERED",
- "name": "DELIVERED_TO_HANDSET",
- "description": "Messaggio consegnato al portatile"
- "error": {
- "id": 0,
- "name": "NO_ERROR",
- "description": "No Error",
- "groupId": 0,
- "groupName": "OK",
- "permanent": false
- "messageId": "5e5e65429f272510fb6adcc1",
- "doneAt": "2020-03-03T15:11:03.168+0100",
- "smsCount": 1,
- "sentAt": "2020-03-03T15:11:01.467+0100",
- "to": "393495155018"
- "timestamp_delivery": {
- "$date": {
- "$numberLong": "1583244663000"
- "id": "5e5e65429f272510fb6adcc1"
- "message": "1 Result",
- "credit": 90.20949999999985,
- "success": true,
- "error": null
Ottenere il destinatario di un messaggio
Questo metodo consente di visualizzare il destinatario specifico di un determinato messaggio.
Authorizations:
path Parameters
id required | string Example: 5e5e65429f272510fb6adcc0 Id del messaggio |
number required | string Example: +39-34xxxxx018 Numero del destinatario |
Responses
Response Schema: application/json
Array of objects (Recipient_Object) | |
success | boolean |
message | string |
credit | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.messaggisms.com/messages/%7Bid%7D/recipients/%7Bnumber%7D"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 404
- 406
- "data": [
- {
- "number": "+39-3xxxxx5018",
- "prefix": "+39",
- "send_id": "5e5e65429f272510fb6adcc0_0",
- "body": "test summary2",
- "sms": 1,
- "remaining_chr": 147,
- "state": "DELIVERED",
- "state_description": "DELIVERED_TO_HANDSET",
- "price": 0.03,
- "fields": [ ],
- "message_id": "5e5e65429f272510fb6adcc0",
- "i": 0,
- "state_detail": "Message delivered to handset",
- "timestamp_sent": {
- "$date": {
- "$numberLong": "1583244661371"
- "real_cost": 0.03,
- "report": {
- "price": {
- "pricePerMessage": 0.03,
- "currency": "EUR"
- "status": {
- "id": 5,
- "groupId": 3,
- "groupName": "DELIVERED",
- "name": "DELIVERED_TO_HANDSET",
- "description": "Messaggio consegnato al portatile"
- "error": {
- "id": 0,
- "name": "NO_ERROR",
- "description": "No Error",
- "groupId": 0,
- "groupName": "OK",
- "permanent": false
- "messageId": "5e5e65429f272510fb6adcc1",
- "doneAt": "2020-03-03T15:11:03.168+0100",
- "smsCount": 1,
- "sentAt": "2020-03-03T15:11:01.467+0100",
- "to": "393495155018"
- "timestamp_delivery": {
- "$date": {
- "$numberLong": "1583244663000"
- "id": "5e5e65429f272510fb6adcc1"
- "message": "1 Result",
- "credit": 90.20949999999985,
- "success": true,
- "error": null