SMS

FREE 2 requests/year

€0.004 + VAT

FREE requests

Send High Quality SMS worldwide, in single or multiple modes and with delivery reports.

Delivery

In real time

API

SMS

available for
  • gz

SMS via API is the service that allows you to send certified, high-quality, and professional SMS messages worldwide, with a customized sender and delivery report.

SMS is the primary mobile communication channel, offering the certainty of message reception even in the absence of network coverage. For this reason, it is the ideal tool for real-time and secure communications such as alerts, transactional messages, two-factor authentication, and report availability.

The Openapi service allows you to quickly send the same message to one or more recipients.

SEND SMS

The method POST/messages allows you to send one or more SMS messages directly from Openapi's gateway.

REQUEST EXAMPLE

POST/messages

Here is an example of a request:

{
  "test": false,
  "sender": "alberto",
  "body": "test invio",
  "recipients": "+39-349xxxxx18"
}

RESPONSE EXAMPLE

POST/messages

The response returns the details of the just sent message:

{
  "data": [
    {
      "test": false,
      "sender": "alberto",
      "body": "test invio",
      "recipients": {
        "valid": {
          "count": 1
        },
        "invalid": {
          "total": 0,
          "list": []
        }
      },
      "transaction": false,
      "options": {
        "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
}

CHECK LIST OF SENT SMS

GET /messages

Through the GET/messages endpoint, you can check the list of all sent SMS at any time.

{
  "data": [
    {
      "sender": "alberto",
      "timestamp": "1564411330117",
      "id": "5d3f05c29f2725610c2b4e60"
    },
    {
      "sender": "3939989741",
      "timestamp": "1563554978976",
      "id": "5d31f4a29f27257de166d960"
    },
    {
      "sender": "3939989741",
      "timestamp": "1562686328690",
      "id": "5d24b3789f27257de1645bda"
    },
    {
      "sender": "Sender's name",
      "timestamp": "1562142688118",
      "id": "5d1c67e09f27255e2f4079a3"
    },
    {
      "sender": "Sender's name",
      "timestamp": "1562142398400",
      "id": "5d1c66be9f272563102e8045"
    }
  ],
  "success": true,
  "message": "5 Results",
  "credit": "91.00299999999986",
  "error": null
}

GET INFORMATION ABOUT A SENT SMS

GET /messages/{id}

The method GET /messages/{id} allows you to get information regarding the status of the sent message, such as delivery confirmation or eventual error.

{
 "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
              ]
            },
            "callback_url": "https://test.ws.messaggisms.com/callbackTest.php"
          },
          "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
   
}

VERIFY RECIPIENTS DATA

GET /messages/{id}/recipients

With GET /messages/{id}/recipients, starting from the message ID, you can retrieve the data of the SMS recipients, such as number, prefix, received text, sending status, and description.

{
  "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": "Message delivered to handset"
        },
        "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
}

VERIFY DATA OF A SINGLE RECIPIENT

GET /messages/{id}/recipients/{number}

The GET /messages/{id}/recipients/{number} method allows you to verify the same data but for a specific recipient.

{
  "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": "Message delivered to handset"
        },
        "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
}

Through the SMS API, it is also possible to modify the sending date of a scheduled SMS using the PUT/messages/{id} endpoint and the timestamp_send value. If the SMS has not yet been sent, it can be canceled through the DELETE/messages/{id} endpoint.

The SMS Gateway has often been integrated for appointment reminders or school communications, corporate, public utility, marketing, and onboarding flows/activations for platforms.

The service also allows you to send Flash SMS, messages that do not need to be opened but are displayed directly on the smartphone screen.

With the SMS API, it is also possible to make sending even more immediate by setting a higher priority or selecting the "realtime" option, which is very useful for sending OTPs. The realtime option incurs a 20% surcharge on the cost of each SMS, while the priority cost depends on the set value, which becomes a multiplier of the SMS cost.

The prices for sending SMS can vary depending on the destination country. For the complete list of costs, we invite you to consult the dedicated section in the Console.

Sign Up

Do you need help?

Haven't found the answer you're looking for?

Fill in all the details, we will get back to you as soon as possible!

Frequently Asked Questions

SMS via API is a service that allows you to send certified, high-quality, and professional SMS messages globally. It enables sender customization and provides detailed delivery reports for each message sent.

What is SMS API and what is it used for?

The SMS API offers high scalability, fast sending times, and simple integration with your systems. It allows you to automate message sending and personalize content for each recipient. With the same endpoint, you can send SMS messages globally (to any country in the world). Additionally, messages can be sent to single or multiple recipients.

What are the main advantages of the SMS API?

Yes, the API has a dedicated endpoint for monitoring the status of each message. This feature allows you to obtain detailed information about sent messages, such as recipients, delivery status, and overall statistics.

 

Can the status of sent messages be monitored?

Yes, you can view all the information about a specific message, such as the sender, content, number of recipients, delivery status, and cost. It's simple and helps you keep track of all details.

Can I get detailed information about a sent message?

Yes, the SMS API service supports sending SMS messages worldwide. Prices vary depending on the destination country and can be consulted in the dedicated section of the Console.

Can I send SMS internationally?

Yes, the SMS API service is perfect for sending OTP (One-Time Password) codes. Thanks to its speed and reliability, you can ensure the authenticity of transactions and secure user access. You can integrate the API into your platforms to automatically send OTP codes in real time, with delivery confirmation and detailed status information.

Can the SMS API service be used for sending OTP codes?

Flash SMS messages are displayed directly on the smartphone screen without needing to open them. This feature is supported by the API and can be activated through sending options.

What are Flash SMS messages, and how can I use them?

The SMS service can be used for various purposes, including:

  • Alerts and transactional notifications.
  • Two-factor authentication.
  • Appointment reminders.
  • School, business, or public utility communications.
  • Marketing.
  • Onboarding or activation workflows on platforms.
Who is the SMS service designed for?

In addition to the "priority" option, you can use the "realtime" option to make SMS sending immediate. It’s the optimal solution for communications that need to be sent and received in seconds, such as OTP sending.

Can SMS messages be sent in real time?

The cost for a single request starts at €0.004. Prices for sending SMS messages vary based on the destination country. To view the full list of costs, please visit the Prices section on the CONSOLE portal.

What are the costs of the SMS service?