{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"d61c32e4-e8bd-4c21-9b9c-67f1991b4eb0","name":"Smshosting REST API","description":"<img src=\"https://smshosting.s3.eu-west-3.amazonaws.com/cover-progetto.jpg\">\n\nGrazie alle REST API puoi integrare il tuo software con il nostro gateway in modo **semplice** e **rapido**.\n\nLe REST API si basano sui metodi HTTP quindi per l'integrazione potrai utilizzare un Client HTTP scritto in un **qualsiasi linguaggio di programmazione**.\n\nTramite le REST API sono possibili le seguenti operazioni:\n\n- inviare sms singoli e campagne\n    \n- inviare campagne email\n    \n- cercare e visualizzare il dettaglio degli sms inviati\n    \n- cercare e visualizzare gli sms ricevuti con il servizio di ricezione\n    \n- visualizzare i dati relativi al proprio profilo su Smsosting.it\n    \n- gestire i contatti ed i gruppi della rubrica\n    \n- gestire le Fidelity Card\n    \n- gestire i Coupon\n    \n\n## Prima di iniziare\n\nSe non lo hai già fatto [registrati a Smshosting.it](https://cloud.smshosting.it/sms/signupInit.ic) in modo completamente gratuito.\n\n## Url base dei servizi\n\nL'indirizzo base da utilizzare per accedere alle REST API è il seguente\n\n`https://api.smshosting.it/rest/api`\n\n---\n\n**Per motivi di sicurezza le REST API utilizzano il solo protocollo HTTPS (il protocollo HTTP non è supportato)**.\n\n---\n\n# Effettuare una richiesta\n\n## Autenticazione\n\nTutte le richiesta alle REST API necessitano di essere autenticate attraverso il meccanismo della **HTTP Basic authentication**.\n\nLo username e la password da fornire sono i codici **AUTH_KEY** e **AUTH_SECRET** associati al tuo profilo su [Smshosting.it](https://www.smshosting.it), visita la sezione [gestione sicurezza API](https://cloud.smshosting.it/sms/user/securityApiInit.ic) nella tua area privata per recuperali.\n\nPuoi testare le tue credenziali chiamando semplicemente da **browser** il seguente URL:\n\n`https://AUTH_KEY:AUTH_SECRET@api.smshosting.it/rest/api/user`\n\noppure eseguendo da shell Linux il comando\n\n`curl --user AUTH_KEY:AUTH_SECRET https://api.smshosting.it/rest/api/user`\n\nNel caso l'autenticazione non vada a buon fine viene restituito l'errore HTTP 401.\n\n## Econding e Content-Type\n\nTutte le richieste alle REST API **devono** avere come encoding UTF-8.\n\nLe richieste in **HTTP POST** e **HTTP PUT** devono avere come **Content-Type** nell'header `application/x-www-form-urlencoded` se non indicato diversamente.\n\n## Scegliere il formato di risposta\n\nLe REST API di [Smshosting.it](https://www.smshosting.it) possono restituire le infomazioni sia nel formato **JSON** (default) che **XML**.\n\nPer ottenere la risposta nel formato desiderato utilizza l'header HTTP \"**Accept**\" nella tua richiesta.\n\n- **Accept:application/json** per ottenere un JSON\n    \n\n`curl -H \"Accept: application/json\" --user AUTH_KEY:AUTH_SECRET https://api.smshosting.it/rest/api/user`\n\n- **Accept:application/xml** per ottenere un XML\n    \n\n`curl -H \"Accept: application/xml\" --user AUTH_KEY:AUTH_SECRET https://api.smshosting.it/rest/api/user`\n\n# Deprecazione TLS 1.0 e 1.1\n\nDesideriamo informarti che, al fine di garantire i più elevati standard di sicurezza, **non supporteremo più i protocolli di crittografia di TLS 1.0 e TLS 1.1** a partire dal **31 Marzo 2023** consentendo l’accesso solo con i protocolli di versione **TLS 1.2 o superiore**.\n\nPer qualsiasi supporto non esitare a contattaci all'indirizzo [assistenza@smshosting.it](https://mailto:assistenza@smshosting.it) oppure via telefono al 0437 30419.\n\n# Gestire la risposta\n\n## Codici di risposta (HTTP Status Code)\n\nPer ogni richiesta le REST API restituiscono uno dei seguenti **HTTP Status Code**:\n\n- `200` - Richiesta completata correttamente\n    \n- `204` - Richiesta completata correttamente. Risorsa eliminata.\n    \n- `400` - Parametro mancante\n    \n- `401` - Autenticazione fallita\n    \n- `404` - Risorsa non trovata\n    \n- `405` - Metodo HTTP non consentito\n    \n- `500` - Errore imprevisto del server\n    \n\n## Contenuto risposta\n\nAd ogni chiamata **HTTP GET** e **HTTP POST** completata con successo (**HTTP status uguale a 200**) le REST API restituiscono come contenuto un JSON/XML.\n\nIn caso di chiamata **HTTP PUT** e **HTTP DELETE** completata con successo (**HTTP status uguale a 200 o 204**) il contenuto della risposta sarà invece vuoto.\n\nSe una chiamata dovesse terminare con un errore (**HTTP status diverso da 200 o 204**) viene resituito un JSON/XML esplicativo dell'errore avvenuto:\n\n- `errorCode` - Codice HTTP status\n    \n- `errorMsg` - Codice di errore esplicativo del problema occorso\n    \n\nAd esempio nel caso l'autenticazione fallisca le REST API restituiscono un HTTP Status 401 e come contenuto:\n\n```\n{\n   \"errorMsg\":\"BAD_CREDENTIALS\",\n   \"errorCode\":401\n}\n\n ```\n\n## Paginazione\n\nAlcune risorse (ricerca sms inviati o ricevuti, ricerca contatti, etc.) restituiscono i risultati paginati.\n\nAd esempio la ricerca sms inviati restituisce il seguente JSON\n\n```\n{\n   \"metadata\":{\n      \"count\":1,\n      \"offset\":0,\n      \"limit\":20\n   },\n   \"smsList\":[\n      {\n         \"id\":389395385,\n         \"to\":\"393480000000\",\n         \"text\":\"Test Sms\",\n         \"from\":\"mrossi\",\n         \"status\":\"DELIVERED\",\n         \"insertDate\":\"2014-01-13T15:01:35+0100\",\n         \"sentDate\":\"2014-01-13T15:01:37+0100\",\n         \"deliveryDate\":\"2014-01-13T15:01:40+0100\",\n         \"transactionId\":\"72810108d4114097b9edb42b255b273c\",\n         \"price\":0.0945\n      }\n   ]\n}\n\n ```\n\nIl campo `metadata` contiene le informazioni utili a gestire la paginazione dei risultati.\n\nLa proprietà `count` indica il numero totale di risultati trovati per quella ricerca.\n\nI campi `offset` e `limit` indicano rispettivamente l'indice del primo risultato ed il numero di risultati restituiti dalla chiamata.\n\n`offset` e `limit` possono essere usati come parametri nella richiesta in modo da controllare il range di risultati restituiti.\n\nAd esempio se una ricerca trova 100 risultati e la dimensione della pagina è di 20 elementi\n\n```\n{\n   \"metadata\":{\n      \"count\":100,\n      \"offset\":0,\n      \"limit\":20\n   },\n   .......\n}\n\n ```\n\nsarà possibile ottenere 5 pagine usando i seguenti valori di `offset` e `limit`:\n\n- pagina 1 - `offset=0&limit=20`\n    \n- pagina 2 - `offset=20&limit=20`\n    \n- pagina 3 - `offset=40&limit=20`\n    \n- pagina 4 - `offset=60&limit=20`\n    \n- pagina 5 - `offset=80&limit=20`\n    \n\n# Librerie\n\n## Java\n\nTi permette di integrare i nostri servizi nei tuoi progetti _Java_, aggiungendo la possibilità di inviare SMS, Email, gestire clienti e molto di più.  \n[Vedi sorgenti](https://github.com/smshosting/smshosting-api-java-client)\n\n## PHP\n\nIntegra nel tuo progetto PHP le funzionalità di Smshosting.  \n[Vedi sorgenti](https://github.com/smshosting/smshosting-api-php-client)\n\n## C#\n\nLibreria C# che ti permette di integrare Smshosting nei tuoi progetti: SMS, Email, gestire clienti e molto di più. Puoi trovarla su [Github](https://github.com/smshosting/smshosting-api-cs-client) o [NuGet](https://www.nuget.org/packages?q=smshosting)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"1793341","team":609386,"collectionId":"d61c32e4-e8bd-4c21-9b9c-67f1991b4eb0","publishedId":"TzRSiU1s","public":true,"publicUrl":"https://apidoc.smshosting.it","privateUrl":"https://go.postman.co/documentation/1793341-d61c32e4-e8bd-4c21-9b9c-67f1991b4eb0","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-05-11T11:23:11.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"SMSH_EMPTY","id":"f91559a6-36d7-96e8-b753-2a54cb37f4be","owner":"1793341","values":[{"key":"auth_key","value":"GET from Smshosting","enabled":true},{"key":"auth_secret","value":"GET from Smshosting","enabled":true},{"key":"BaseUrl","value":"https://api.smshosting.it","enabled":true},{"key":"header_accept_value","value":"application/json","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/885e8a15e42dbe9cb7da09c188f6e8f0de7ed87dbbba50d695b9ab4485969265","favicon":"https://smshosting.it/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"SMSH_EMPTY","value":"1793341-f91559a6-36d7-96e8-b753-2a54cb37f4be"}],"canonicalUrl":"https://apidoc.smshosting.it/view/metadata/TzRSiU1s"}