SMS

  • Openapi Delivery : Immediate
  • Openapi starting from € 0,038 + vat

Integrate into your platform via API the SMS sending service for authentication, notifications, reminders, etc.

Send High Quality SMS worldwide, in single or multiple modes and with delivery reports. Sending can be in real time or scheduled.

Esempio SMS

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

With SMS, it is possible to send worldwide and exclusively certified, high-quality and professional SMS with personalized sender and delivery report.The service allows the same message to be sent to one or more recipients.

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

 

It is possible at any time to check the list of all SMS sent with GET /messages/.

{
  "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
}

 

In addition, via the GET /messages/{id} you can obtain all information on the sending of the message such as sender, content, number of recipients, general delivery statistics, costs.

{

 "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
   
}

 

With GET /messages/{id}/recipients/, instead, the id of the message is used to obtain the data of the recipient(s) of an SMS 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 }

 

Instead, with GET /messages/{id}/recipients/{number} it will be possible to obtain the same data but from 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
}

It is also possible to change the sending date of a scheduled SMS via the PUT /messages/{id} endpoint and the value: timestamp_send. If the SMS has not already been sent, it is also possible to delete it via the Delete /messages/{id} endpoint. 

The SMS API also makes it possible to send Flash SMS, messages that do not need to be opened but can be viewed directly on the display of the smartphone.

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

Gateway SMS has also been integrated for appointment reminders or school, corporate, utility, marketing and onboarding/platform activations.

SMS sending prices depend on the destination country. For the full list of costs, please see the dedicated section in Console.

Our prices

Price list for single API calls