Creating Messages

Access Endpoint URL: https://rest.everyware.com/api/default/createmessage [POST]

You can use the CreateMessage method to send an SMS or MMS message to your contact/customer's mobile phone.

📘

Creating a Customer

This method will also add a new contact/customer in the system if the name and mobile phone number do not match anyone in your Contact list. New contacts will be added to your sales site's default contact list.

Inbound Parameters

Parameters should be passed in a single JSON-body object.

Parameter NameDescriptionOptional/Required
FirstNameContact/Customer's first name.Optional
LastNameContact/Customer's last name.Optional
MobilePhoneContact/Customer's valid mobile phone number (10-digits max, no formatting).Required
MessageTextThe body of the outbound message to the contact/customer. Keep in mind that long messages may be split up into multiple segments.Required
MessageExternalIDA unique identifier from an external system assigned to the message that Everyware can store.Optional
ExternalIDA unique identifier from an external system assigned to the contact that Everyware can store.Optional
AttachmentsA string array for optional MMS attachments.Required for MMS (see below)
Attachments - fileNameThe original name of the binary file, with expected extension. This is how the MMS attachment will be sent to the recipient.Required for MMS (see below)
Attachments - Base64StringThe Base64 encoded payload which represents the original file to be sent.Required for MMS (see below)
fileURLThe URL file that belongs to the attachment for a MMS.Required for MMS (see below)
{
  "FirstName": "John",
  "LastName": "Doe",
  "MobilePhone": "5555551212",
  "MessageText": "This is a sample SMS message!",
  "ExternalID": "12345"
}
curl --location 'https://rest.everyware.com/api/Default/CreateMessage' \
--header 'Authorization: Basic [xxx]' \
--header 'Content-Type: application/json' \
--data-raw ' {
 "FirstName": "John",
  "LastName": "Doe",
  "MobilePhone": "5555551212",
  "MessageText": "This is a sample SMS message!",
  "ExternalID": ""
}'
{
    "OrderNumber": null,
    "SMSID": null,
    "IsSuccess": true,
    "Message": "Your message was successfully sent.",
    "Data": "16118218"
}

🚧

Attachments Optional

If you are sending a simple SMS without attachments, you can either leave out the Attachments array, or include it with a null value

CreateMessage - MMS Sent With Base64 Encoding

{
    "MobilePhone": "5551112222",
    "MessageText": "Testing MMS attachment.",
  "Attachments": [
    {
      "fileName": "testImage1.png",
      "Base64String”: "[INSERT BASE64 ENCODED STRING]" 
    }
  ]
}
curl --location 'https://rest.everyware.com/api/Default/CreateMessage' \
--header 'Authorization: Basic [xxx]' \
--header 'Content-Type: application/json' \
--data-raw ' {
 "FirstName": "John",
  "LastName": "Doe",
  "MobilePhone": "5555551212",
  "MessageText": "This is a sample SMS message!",
    "Attachments": [
    {
      "fileName": "testImage1.png",
      "Base64String”: "[INSERT BASE64 ENCODED STRING]" 
    }
    ],
  "ExternalID": ""
}'
{
    "IsSuccess": true,
    "Message": "Your message was successfully sent.",
    "Data": "7643431",
    "OrderNumber": null,
    "SMSID": null,
}

📘

Base64 Encoding

In order to send the binary file over the API, it must first be Base64 encoded for transmission.

CreateMessage - MMS Sent With External Linked File

{
    "MobilePhone": "5551112222",
    "MessageText": "Testing MMS attachment.",
  "Attachments": [
    {
      "fileURL": "https://yourexternalsource.com/testImage1.jpg"
    }
  ]
}
curl --location 'https://rest.everyware.com/api/Default/CreateMessage' \
--header 'Authorization: Basic [xxx]' \
--header 'Content-Type: application/json' \
--data-raw ' {
 "FirstName": "John",
  "LastName": "Doe",
  "MobilePhone": "5555551212",
  "MessageText": "This is a sample SMS message!",
   "Attachments": [
    {
      "fileURL": "https://yourexternalsource.com/testImage1.jpg"
    }
  ],
  "ExternalID": ""
}'
{
    "IsSuccess": true,
    "Message": "Your message was successfully sent.",
    "Data": "7643431",
    "OrderNumber": null,
    "SMSID": null,
}

🚧

Prepare Your File Location

Make sure that the URL location mentioned in fileURL meets the following criteria:

  • Conforms to TLS1.2 standards
  • Is protected by HTTPS
  • Is open to the internet, not behind a firewall or anything that would prevent Everyware from retrieving the file.

CreateMessage - Sending Multiple MMS Attachments

{
    "MobilePhone": "5551112222",
    "MessageText": "Testing MMS attachment.”
    "Attachments": [
    {
      "fileName": "testImage1.png",
      "Base64String”: "[INSERT BASE64 ENCODED STRING]" 
    },
{
      "fileName": "testImage2.png",
      "Base64String”: "[INSERT BASE64 ENCODED STRING]" 
    }
  ]
}
curl --location 'https://rest.everyware.com/api/Default/CreateMessage' \
--header 'Authorization: Basic [xxx]' \
--header 'Content-Type: application/json' \
--data-raw ' {
 "FirstName": "John",
  "LastName": "Doe",
  "MobilePhone": "5555551212",
  "MessageText": "This is a sample SMS message!",
    "Attachments": [
    {
      "fileName": "testImage1.png",
      "Base64String”: "[INSERT BASE64 ENCODED STRING]" 
    },
    {
      "fileName": "testImage2.png",
      "Base64String”: "[INSERT BASE64 ENCODED STRING]" 
    }
  "ExternalID": ""
}'
{
    "IsSuccess": true,
    "Message": "Your message was successfully sent.",
    "Data": "7643431",
    "OrderNumber": null,
    "SMSID": null,
}

📘

Mixing Attachment sources

It is completely fine to mix how you send binary files in the Attachments array. You can send one Base64 encoded, and one via fileURL pickup, or any combination.

📘

RE: System

When a message is sent through the API, the sender will appear as "System" in the Messages page in the Everyware portal.