SMS de haute qualité avec expéditeur personnalisé, rapports de livraison en temps réel et envoi instantané.
Intégrez via API un service mondial d’envoi de SMS professionnels, idéal pour l’authentification à deux facteurs (2FA), les notifications et alertes, les rappels de rendez-vous et les communications critiques, garantissant sécurité, rapidité et suivi complet de chaque message.
Toutes les connaissances dont vous avez besoin
Vous trouverez ici quelques conseils à prendre en compte pour aborder cette API. Si vous préférez, nous fournissons des exemples de code, la documentation OAS3, la possibilité d'essayer l'API en direct via Swagger UI ou d'importer l'intégralité de la collection dans Postman. Nous proposons également un environnement Sandbox où vous pouvez expérimenter toutes sortes de requêtes de manière totalement gratuite.
Obtenir le Token dans la section appropriée avant de commencer.
Envoyer des messages SMS
Envoyer un SMS dans le monde entier (Worldwide)
POST /WW-messages
Crée et met in coda un nouveau message SMS pour un envoi mondial. Le coût est calculé après l'envoi.
Envoyer un SMS en Italie
POST /IT-messages
Crée et met in coda un nouveau message SMS spécifique pour l'Italie.
Envoyer un SMS en Espagne
POST /ES-messages
Crée et met in coda un nouveau message SMS spécifique pour l'Espagne.
Envoyer un code de vérification OTP
POST /otp
Génère et envoie un code OTP sécurisé par SMS. Le message est traduit automatiquement.
Consultation des messages
Lister le messages envoyés
GET /messages
Renvoie une liste paginée des messages envoyés depuis votre compte.
Obtenir les détails d'un message
GET /messages/{id}
Renvoie les détails d'un message spécifique via son ID.
- Oas file url smsv2.openapi.json
-
PDF Documentation
- Fork or import with Postman
- Production domain sms.openapi.com
- Sandbox domain test.sms.openapi.com
-
Production Scopes 5
Rate Limits: 10000 req/min
-
Sandbox Scopes 5
- GET test.sms.openapi.com/messages
- POST test.sms.openapi.com/ES-messages
- POST test.sms.openapi.com/IT-messages
- POST test.sms.openapi.com/WW-messages
- POST test.sms.openapi.com/otp
Gateway SMS (1.3.0)
L'API Gateway SMS d'Openapi fournit une solution robuste et évolutive pour l'intégration de la messagerie SMS professionnelle dans vos applications. Notre service est conçu pour gérer avec précision de grands volumes de messages, offrant des points d'accès dédiés pour des régions spécifiques comme l'Italie et l'Espagne, ainsi qu'un point d'accès mondial pour une portée globale.
Chaque demande est soumise à un processus de validation rigoureux qui comprend la vérification de la syntaxe pour les formats E.164, la détection du codage des caractères (GSM-7 ou UCS-2) et la segmentation automatique pour les messages longs. Nous accordons la priorité à la sécurité et à la conformité : le système analyse automatiquement le contenu pour détecter les mots interdits afin d'éviter les abus et s'assure que tous les messages sont conformes aux exigences légales.
Les développeurs peuvent bénéficier de fonctionnalités avancées telles que le "Dry Run" pour tester sans encourir de frais, et les rappels Webhook en temps réel qui fournissent des mises à jour immédiates sur l'état de la livraison. Les messages ont un délai d'expiration maximal de 48 heures ; si un message ne peut pas être livré dans ce délai, son statut passera à DELIVERED. La facturation est transparente et dynamique ; alors que les messages régionaux ont des tarifs fixes, les coûts de livraison dans le monde entier sont calculés après l'envoi pour garantir le meilleur prix du marché. Veuillez noter que le maintien d'un solde de crédit minimum est requis pour les opérations mondiales, et que des sanctions strictes s'appliquent en cas de violation de la politique afin de garantir la meilleure qualité de service à tous les utilisateurs.
Envoyer un nouveau message SMS (dans le monde entier)
Crée et met en file d'attente un nouveau message SMS pour l'envoyer dans le monde entier. Veuillez noter que pour ce point d'extrémité, le coût du message sera calculé et facturé uniquement après l'envoi du message. Le prix final varie en fonction de l'opérateur du destinataire.
Si l'utilisateur dispose d'un plan d'abonnement actif, les parties du message seront déduites de l'offre disponible avant de débiter le solde du wallet.
Pour envoyer un message via ce point d'accès, vous devez disposer d'un crédit minimum sur votre compte égal à 1 EUR multiplié par le nombre de parties de message (messageCount) au cas où un forfait ne serait pas disponible ou insuffisant.
IMPORTANT : Si le contenu du message ou l'expéditeur contient des mots interdits, le message sera bloqué, le compte sera mis sur liste de blocage et une pénalité de 1 EUR par partie de message sera facturée.
Authorizations:
Request Body schema: application/json
Données du message à envoyer.
| sender | string or null [ 3 .. 11 ] characters Default: "Openapi" L'expéditeur du message. Doit être un alias alphanumérique (entre 3 et 11 caractères, espaces autorisés) et ne peut pas être purement numérique. S'il est nul ou vide, 'Openapi' sera utilisé comme expéditeur par défaut. |
| recipient required | string Le numéro du destinataire au format international E.164. |
| message required | string Le texte du message à envoyer. La segmentation est gérée automatiquement. L'encodage GSM-7 permet jusqu'à 160 caractères par partie (153 s'il s'agit de plusieurs parties), tandis que l'encodage UCS-2 permet jusqu'à 70 caractères (67 s'il s'agit de plusieurs parties). |
object (MessageOptions) | |
object (CallbackOptions) Il s'agit de notre système de rappel OpenAPI standardisé. Il permet de configurer les paramètres pour recevoir des notifications sur les mises à jour d'état des demandes asynchrones adressées à ce point de terminaison. |
Responses
Response Schema: application/json
object (MessageResponse) Objet représentant un message. |
Callbacks
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
- "sender": "MyCompany",
- "recipient": "+393331234567",
- "message": "Hello! This is a test message.",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
Response samples
- 201
- 403
- 422
- "data": {
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z"
Callback payload samples
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z"
Envoyer un nouveau message SMS (Italie)
Crée et met en file d'attente un nouveau message SMS à envoyer spécifiquement à l'Italie. Applique des règles et des tarifs spécifiques à chaque pays.
IMPORTANT : Si le contenu du message ou l'expéditeur contient des mots interdits, le message sera bloqué, le compte sera mis sur liste de blocage et le coût du message sera facturé.
Authorizations:
Request Body schema: application/json
Données du message à envoyer.
| sender | string or null [ 3 .. 11 ] characters Default: "Openapi" L'expéditeur du message. Doit être un alias alphanumérique (entre 3 et 11 caractères, espaces autorisés) et ne peut pas être purement numérique. S'il est nul ou vide, 'Openapi' sera utilisé comme expéditeur par défaut. |
| recipient required | string Le numéro du destinataire au format international E.164. |
| message required | string Le texte du message à envoyer. La segmentation est gérée automatiquement. L'encodage GSM-7 permet jusqu'à 160 caractères par partie (153 s'il s'agit de plusieurs parties), tandis que l'encodage UCS-2 permet jusqu'à 70 caractères (67 s'il s'agit de plusieurs parties). |
object (MessageOptions) | |
object (CallbackOptions) Il s'agit de notre système de rappel OpenAPI standardisé. Il permet de configurer les paramètres pour recevoir des notifications sur les mises à jour d'état des demandes asynchrones adressées à ce point de terminaison. |
Responses
Response Schema: application/json
object (MessageResponse) Objet représentant un message. |
Callbacks
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
- "sender": "MyCompany",
- "recipient": "+393331234567",
- "message": "Hello! This is a test message.",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
Response samples
- 201
- 403
- 422
- "data": {
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z"
Callback payload samples
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z"
Envoyer un nouveau message SMS (Espagne)
Crée et met en file d'attente un nouveau message SMS à envoyer spécifiquement à l'Espagne. Applique des règles et des tarifs spécifiques à chaque pays.
IMPORTANT : Si le contenu du message ou l'expéditeur contient des mots interdits, le message sera bloqué, le compte sera mis sur liste de blocage et le coût du message sera facturé.
Authorizations:
Request Body schema: application/json
Données du message à envoyer.
| sender | string or null [ 3 .. 11 ] characters Default: "Openapi" L'expéditeur du message. Doit être un alias alphanumérique (entre 3 et 11 caractères, espaces autorisés) et ne peut pas être purement numérique. S'il est nul ou vide, 'Openapi' sera utilisé comme expéditeur par défaut. |
| recipient required | string Le numéro du destinataire au format international E.164. |
| message required | string Le texte du message à envoyer. La segmentation est gérée automatiquement. L'encodage GSM-7 permet jusqu'à 160 caractères par partie (153 s'il s'agit de plusieurs parties), tandis que l'encodage UCS-2 permet jusqu'à 70 caractères (67 s'il s'agit de plusieurs parties). |
object (MessageOptions) | |
object (CallbackOptions) Il s'agit de notre système de rappel OpenAPI standardisé. Il permet de configurer les paramètres pour recevoir des notifications sur les mises à jour d'état des demandes asynchrones adressées à ce point de terminaison. |
Responses
Response Schema: application/json
object (MessageResponse) Objet représentant un message. |
Callbacks
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
- "sender": "MyCompany",
- "recipient": "+393331234567",
- "message": "Hello! This is a test message.",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
Response samples
- 201
- 403
- 422
- "data": {
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z"
Callback payload samples
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z"
Envoyer un message de vérification OTP
Génère un code OTP sécurisé et l'envoie par SMS au destinataire en utilisant "OTP MOBILE" comme expéditeur par défaut. Le corps du message est automatiquement traduit en fonction du pays du destinataire. La tarification suit le modèle mondial (WW).
Authorizations:
Request Body schema: application/json
Données pour le message OTP.
| recipient required | string Le numéro du destinataire au format international E.164. |
| alphanumeric | boolean Default: false Si la valeur est "true", l'OTP généré sera alphanumérique. S'il vaut "false" (valeur par défaut), il sera purement numérique. |
| length | integer [ 4 .. 10 ] Default: 5 La longueur du code OTP (min 4, max 10). |
| cacheSeconds | integer [ 0 .. 600 ] Default: 0 Nombre de secondes pendant lesquelles le même code OTP sera réutilisé pour le même destinataire (max. 600). |
object (MessageOptions) | |
object (CallbackOptions) Il s'agit de notre système de rappel OpenAPI standardisé. Il permet de configurer les paramètres pour recevoir des notifications sur les mises à jour d'état des demandes asynchrones adressées à ce point de terminaison. |
Responses
Response Schema: application/json
object (OTPMessageResponse) Objet représentant un message. |
Callbacks
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
- "recipient": "+393331234567",
- "alphanumeric": false,
- "length": 5,
- "cacheSeconds": 0,
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
Response samples
- 201
- 403
- 422
- "data": {
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z",
- "isOtp": true,
- "otp": "5F8A2",
- "otpOptions": {
- "length": 5,
- "alphanumeric": false,
- "cacheSeconds": 300
Callback payload samples
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z",
- "isOtp": true,
- "otp": "5F8A2",
- "otpOptions": {
- "length": 5,
- "alphanumeric": false,
- "cacheSeconds": 300
Récupérer la liste des messages envoyés
Renvoie une liste paginée des messages envoyés depuis votre compte.
Authorizations:
query Parameters
| skip | integer Default: 0 Nombre de messages à ignorer pour la pagination. |
| limit | integer Default: 100 Nombre maximum de messages à renvoyer. |
Responses
Response Schema: application/json
Array of objects (MessageResponse) |
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://sms.openapi.com/messages?skip=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE"); 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
- "data": [
- {
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z"
Récupérer un seul message
Renvoie les détails d'un message spécifique via son ID.
Authorizations:
path Parameters
| id required | string L'identifiant unique du message à récupérer. |
Responses
Response Schema: application/json
object (MessageResponse) Objet représentant un message. |
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://sms.openapi.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
- "data": {
- "id": "633aabe3e4a9a0e69811ad7f",
- "username": "string",
- "state": "NEW",
- "sender": "string",
- "recipient": "string",
- "internationalPrefix": "39",
- "countryCode": "IT",
- "message": "string",
- "encoding": "GSM-7",
- "charactersCount": 0,
- "messageCount": 0,
- "price": 0,
- "totalPrice": 0,
- "blocklisted": true,
- "blocklistedReason": "string",
- "options": {
- "dryRun": false,
- "failOnMultipleMessages": false
- "callback": {
- "method": "POST",
- "field": "data",
- "retry": 3,
- "headers": {
- "session_id": "9834r5fh589494"
- "custom": {
- "my_custom_id": "123456789"
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "deliveredAt": "2019-08-24T14:15:22Z"