RESTful API

Sending Push to Phone

Overview

Send a single Push Notification to a registered device using the mobile number as the destination.

This is a POST method, which means that you need to use it through a POST call

URL

Parameters on the following URL are inside braces { }

https://www.messangi.com/messangi_mmc/rest/api/tools/sendPushToPhone/{instanceId}/{appName}/{to}/{msgTitle}/{expirationDate}{publicKey}/{signature}
Parameter Name Description
instanceId An instance id is the workspace identification number, if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
appName Your App's name which will receive your Push Notifications
to Recipient who will receive the message. Mobile phone number & deviceId are valid values.
msgTitle A title for this message. This parameter must be Base64 encoded. You can't exceed 200 characters
expirationDate
The date in milliseconds (since 1970-01-01T00:00:00Z) when the push must expire. (Optional Field)
content
POST
A file that contains the content for your message. This is a text file that could contain HTML format
metadata
POST
A file that contains data, which provides information about other data. It can be used as either plain text. This file must be sent using POST Method. This parameter must be encoded using the “multipart/form-data” enctype.
publicKey The public key to access this API. if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
signature The unique SHA256 signature for this call, it's involve all input parameters. To learn about generating the correct signature please visit our Java Example

Response

The Response XML is divided in a static part and a dynamic one, we call it dynamic because it will vary depending on the method you invoke. Please read our Response XML Basics section if you want to learn more about the response parts.

<input>sendPushToPhone</input>
<status>OK</status>
<description>Completed</description>
<result>
	<blast>
		<blastId>-2490820026197535447</blastId>
		<status>FINISHED</status>
		<statusDescription>Finished</statusDescription>
		<clientId>As223sdadq8d8287v5z</clientId>
		<appName>Inbox</appName>
		<message>
			<blastId>-2490820026197535447</blastId>
			<id>2758ebc5-1db5-4822-a5ed-36121e0674a6</id>
			<type>PUSH</type>
			<from>Inbox</from>
			<to>18133210984</to>
			<subject>Inbox Push Ogangi</subject>
			<text>Inbox Push Ogangi Message</text>
			<status>SENT</status>
			<statusDescription>Sent</statusDescription>
			<date>2014-01-24T12:45:50.903-04:30</date>
			<timezone>America/Caracas</timezone>
			<appName> Inbox </appName>
			<platform>IOS</platform>
		</message>
	</blast>
</result>
Result parameters

Please be aware that the <message> tag and its content is a generic object and may apply to other responses in other methods.

Parameter Name Description Possible Values
blastId The unique blast identification, a blast is always needed to send one or more messages Text
status Indicates current the blast's status For more information please review the Message's Status page
statusDescription A human readable explanation about the blast's status Text
clientId The client identification (sender) Text
appName The app name used to sent the message Text
message.blastId Unique identifier for the blast used to fire the message Text
message.id Unique identifier for the message created Text
message.type Indicates the kind of message that was sent PUSH
SMS
EMAIL
message.from Who sent the message for PUSH, Application that sent the message
for SMS, Short/Long code which originated the message
for EMAIL, the email address which sent the message.
message.to Recipient for this message Any of the following:
deviceId
mobile number
email address
message.subject Message's subject Text
message.text Message's content Text
message.status Indicates the message's status at the origination moment See our Message's Status page
message.statusDescription A human readable explanation about the current status Text
message.date Time mark at the origination moment A formatted date string: yyyy-MM-dd'T'HH:mm:ss.SSSZZ
For more information please review the pattern letters quick reference
message.timezone Timezone used Text
message.appName App used, only available when using PUSH Text
message.platform App platform, only available when using PUSH Text

Sending Push to Phone (inapp)

Overview

Send a single inapp Push Notification to a registered device using the mobile number as the destination. You must send a defined metadata to send push as inapp.

This is a POST method, which means that you need to use it through a POST call

URL

Parameters on the following URL are inside braces { }

https://www.messangi.com/messangi_mmc/rest/api/tools/sendPushToPhone/{instanceId}/{appName}/{to}/{msgTitle}/{expirationDate}{publicKey}/{signature}
Parameter Name Description
instanceId An instance id is the workspace identification number, if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
appName Your App's name which will receive your Push Notifications
to Recipient who will receive the message. Mobile phone number & deviceId are valid values.
msgTitle A title for this message. This parameter must be Base64 encoded. You can't exceed 200 characters
expirationDate
The date in milliseconds (since 1970-01-01T00:00:00Z) when the push must expire. (Optional Field)
content
POST
A file that contains the content for your message. This is a text file that could contain HTML format
metadata
POST
A file that contains data, which provides information about other data. It can be used as either plain text. This file must be sent using POST Method. This parameter must be encoded using the “multipart/form-data” enctype.
publicKey The public key to access this API. if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
signature The unique SHA256 signature for this call, it's involve all input parameters. To learn about generating the correct signature please visit our Java Example

Metadada file

The metadata file must contain the field inapp with value true (Mandatory), other fields as deep-link, expiration or custom fields are optional.

{
   "ianpp" : "true",
   "deep-link" : "https://",
   "expiration" : "90"
}

Response

The Response XML is divided in a static part and a dynamic one, we call it dynamic because it will vary depending on the method you invoke. Please read our Response XML Basics section if you want to learn more about the response parts.

<input>sendPushToPhone</input>
<status>OK</status>
<description>Completed</description>
<result>
	<blast>
		<blastId>-2490820026197535447</blastId>
		<status>FINISHED</status>
		<statusDescription>Finished</statusDescription>
		<clientId>As223sdadq8d8287v5z</clientId>
		<appName>Inbox</appName>
		<message>
			<blastId>-2490820026197535447</blastId>
			<id>2758ebc5-1db5-4822-a5ed-36121e0674a6</id>
			<type>PUSH</type>
			<from>Inbox</from>
			<to>18133210984</to>
			<subject>Inbox Push Ogangi</subject>
			<text>Inbox Push Ogangi Message</text>
			<status>SENT</status>
			<statusDescription>Sent</statusDescription>
			<date>2014-01-24T12:45:50.903-04:30</date>
			<timezone>America/Caracas</timezone>
			<appName> Inbox </appName>
			<platform>IOS</platform>
		</message>
	</blast>
</result>
Result parameters

Please be aware that the <message> tag and its content is a generic object and may apply to other responses in other methods.

Parameter Name Description Possible Values
blastId The unique blast identification, a blast is always needed to send one or more messages Text
status Indicates current the blast's status For more information please review the Message's Status page
statusDescription A human readable explanation about the blast's status Text
clientId The client identification (sender) Text
appName The app name used to sent the message Text
message.blastId Unique identifier for the blast used to fire the message Text
message.id Unique identifier for the message created Text
message.type Indicates the kind of message that was sent PUSH
SMS
EMAIL
message.from Who sent the message for PUSH, Application that sent the message
for SMS, Short/Long code which originated the message
for EMAIL, the email address which sent the message.
message.to Recipient for this message Any of the following:
deviceId
mobile number
email address
message.subject Message's subject Text
message.text Message's content Text
message.status Indicates the message's status at the origination moment See our Message's Status page
message.statusDescription A human readable explanation about the current status Text
message.date Time mark at the origination moment A formatted date string: yyyy-MM-dd'T'HH:mm:ss.SSSZZ
For more information please review the pattern letters quick reference
message.timezone Timezone used Text
message.appName App used, only available when using PUSH Text
message.platform App platform, only available when using PUSH Text

Sending Push to Phone By File

Overview

Send multiple Push Notification using a text file as the recipients list

This is a POST method, which means that you need to use it through a POST call

URL

Parameters on the following URL are inside braces { }

https://www.messangi.com/messangi_mmc/rest/api/tools/sendPushToPhoneByFile/{instanceId}/{appName}/{msgTitle}/{expirationDate}/{publicKey}/{signature}

Please note that on the URL you won't see any POST parameters, only the regular parameters
All POST parameters will be highlighted in the following table.

Parameter Name Description
instanceId An instance id is the workspace identification number, if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
appName Your App's name which will receive your Push Notifications
to
POST
Recipients who will receive the message. Please read the phone list file guidelines for more information about this text file
msgTitle A title for this message. This parameter must be Base64 encoded. You can't exceed 200 characters
content
POST
A file that contains the content for your message. This is a text file that could contain HTML format
metadata
POST
A file that contains data, which provides information about other data. It can be used as either plain text. This file must be sent using POST Method. This parameter must be encoded using the “multipart/form-data” enctype.
expirationDate
The date in milliseconds (since 1970-01-01T00:00:00Z) when the push must expire. (Optional Field)
publicKey The public key to access this API. if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
signature The unique SHA256 signature for this call, it's involve all input parameters. To learn about generating the correct signature please visit our Java Example

Response

The Response XML is divided in a static part and a dynamic one, we call it dynamic because it will vary depending on the method you invoke. Please read our Response XML Basics section if you want to learn more about the response parts.

<input>sendPushToPhoneByFile</input>
<status>OK</status>
<description>Completed</description>
<result>
	<blast>
		<blastId>-2490820026197535447</blastId>
		<status>FINISHED</status>
		<type>PUSH</type>
		<statusDescription>Finished</statusDescription>
		<clientId>As223sdadq8d8287v5z</clientId>
		<appName>Inbox</appName>
                <timezone>America/Caracas</timezone>
                <initialDate>2016-04-08T17:13:00.044-04:30</initialDate>
                <endDate>2016-04-08T17:13:21.123-04:30</endDate>
	</blast>
</result>

Result parameters

Parameter Name Description Possible Values
blastId The unique blast identification, a blast is always needed to send one or more messages Text
status Indicates current the blast's status For more information please review the Message's Status page
type Indicates blast type that was sent PUSH
statusDescription A human readable explanation about the blast's status Text
clientId The client identification (sender) Text
appName The app name used to sent the message Text
timezone Timezone used for this blast Text
initialDate Time mark at the origination moment A formatted date string: yyyy-MM-dd'T'HH:mm:ss.SSSZZ
For more information please review the pattern letters quick reference
endDate Time mark at the culmination moment A formatted date string: yyyy-MM-dd'T'HH:mm:ss.SSSZZ
For more information please review the pattern letters quick reference
unreachedDevices A list of <phone> tags, each one with a mobile phone that couldn't be reached this moment XML

Sending Push to Phone By File (inapp)

Overview

Send multiple Push inapp Notification using a text file as the recipients list. You must send a defined metadata to send push as inapp.

This is a POST method, which means that you need to use it through a POST call

URL

Parameters on the following URL are inside braces { }

https://www.messangi.com/messangi_mmc/rest/api/tools/sendPushToPhoneByFile/{instanceId}/{appName}/{msgTitle}/{expirationDate}/{publicKey}/{signature}

Please note that on the URL you won't see any POST parameters, only the regular parameters
All POST parameters will be highlighted in the following table.

Parameter Name Description
instanceId An instance id is the workspace identification number, if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
appName Your App's name which will receive your Push Notifications
to
POST
Recipients who will receive the message. Please read the phone list file guidelines for more information about this text file
msgTitle A title for this message. This parameter must be Base64 encoded. You can't exceed 200 characters
content
POST
A file that contains the content for your message. This is a text file that could contain HTML format
metadata
POST
A file that contains data, which provides information about other data. It can be used as either plain text. This file must be sent using POST Method. This parameter must be encoded using the “multipart/form-data” enctype.
expirationDate
The date in milliseconds (since 1970-01-01T00:00:00Z) when the push must expire. (Optional Field)
publicKey The public key to access this API. if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
signature The unique SHA256 signature for this call, it's involve all input parameters. To learn about generating the correct signature please visit our Java Example

Metadada file

The metadata file must contain the field inapp with value true (Mandatory), other fields as deep-link, expiration or custom fields are optional.

{
   "ianpp" : "true",
   "deep-link" : "https://",
   "expiration" : "90"
}

Response

The Response XML is divided in a static part and a dynamic one, we call it dynamic because it will vary depending on the method you invoke. Please read our Response XML Basics section if you want to learn more about the response parts.

<input>sendPushToPhoneByFile</input>
<status>OK</status>
<description>Completed</description>
<result>
	<blast>
		<blastId>-2490820026197535447</blastId>
		<status>FINISHED</status>
		<type>PUSH</type>
		<statusDescription>Finished</statusDescription>
		<clientId>As223sdadq8d8287v5z</clientId>
		<appName>Inbox</appName>
                <timezone>America/Caracas</timezone>
                <initialDate>2016-04-08T17:13:00.044-04:30</initialDate>
                <endDate>2016-04-08T17:13:21.123-04:30</endDate>
	</blast>
</result>

Result parameters

Parameter Name Description Possible Values
blastId The unique blast identification, a blast is always needed to send one or more messages Text
status Indicates current the blast's status For more information please review the Message's Status page
type Indicates blast type that was sent PUSH
statusDescription A human readable explanation about the blast's status Text
clientId The client identification (sender) Text
appName The app name used to sent the message Text
timezone Timezone used for this blast Text
initialDate Time mark at the origination moment A formatted date string: yyyy-MM-dd'T'HH:mm:ss.SSSZZ
For more information please review the pattern letters quick reference
endDate Time mark at the culmination moment A formatted date string: yyyy-MM-dd'T'HH:mm:ss.SSSZZ
For more information please review the pattern letters quick reference
unreachedDevices A list of <phone> tags, each one with a mobile phone that couldn't be reached this moment XML

Sending Push to App

Overview

Send multiple Push Notification to all registered devices of an App.

This is a POST method, which means that you need to use it through a POST call

URL

Parameters on the following URL are inside braces { }

https://www.messangi.com/messangi_mmc/rest/api/tools/sendPushToApp/{instanceId}/{appName}/{platform}/{msgTitle}/{publicKey}/{signature}
Parameter Name Description
instanceId An instance id is the workspace identification number, if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
appName Your App's name which will receive your Push Notifications
platform The target platform for the push service. Valid values are: ANDROID or IOS
msgTitle A title for this message. This parameter must be Base64 encoded. You can't exceed 80 characters
content
POST
A file that contains the content for your message. This is a text file that could contain HTML format
publicKey The public key to access this API. if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
signature The unique SHA256 signature for this call, it's involve all input parameters. To learn about generating the correct signature please visit our Java Example

Response

The Response XML is divided in a static part and a dynamic one, we call it dynamic because it will vary depending on the method you invoke. Please read our Response XML Basics section if you want to learn more about the response parts.

<input>sendPushToApp</input>
<status>OK</status>
<description>Completed</description>
<result>
	<blast>
		<blastId>-2490820026197535447</blastId>
		<status>FINISHED</status>
		<statusDescription>Finished</statusDescription>
		<clientId>As223sdadq8d8287v5z</clientId>
		<appName>Inbox</appName>
		<platform>ANDROID</platform>
	</blast>
</result>

Result parameters

Parameter Name Description Possible Values
blastId The unique blast identification, a blast is always needed to send one or more messages Text
status Indicates current the blast's status For more information please review the Message's Status page
statusDescription A human readable explanation about the blast's status Text
clientId The client identification (sender) Text
appName The app name used to sent the message Text
platform The target platform used Valid values:
ANDROID
IOS

Send Response

Overview

If you are developing your own Android or iOS application you could use this method to allow users to give you some direct feedback through your Callback URL.

URL

Parameters on the following URL are inside braces { }

https://www.messangi.com/messangi_mmc/rest/api/tools/sendResponse/{instanceId}/{appName}/{from}/{platform}/{msgContent}/{publicKey}/{signature}
Parameter Name Description
instanceId An instance id is the workspace identification number, if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
appName Your App's name which will receive your Push Notifications
from Sender´s phone number or device id.
platform The target platform for the push service. Valid values are: ANDROID or IOS
msgContent The content of the message per se. This parameter must be Base64 encoded. You can't exceed 200 characters
publicKey The public key to access this API. if you don't know yours please request it using our ticketing tool, you will need to provide your Mobile Engagement Campaign Manager's URL and your user login
signature The unique SHA256 signature for this call, it's involve all input parameters. To learn about generating the correct signature please visit our Java Example

Response

The Response XML is divided in a static part and a dynamic one, we call it dynamic because it will vary depending on the method you invoke. Please read our Response XML Basics section if you want to learn more about the response parts.

<input>sendResponse</input>
<status>OK</status>
<description>Completed</description>
<result>
	<sendResponse>
         <type>USER_RESPONSE</type>
         <text>sendResponse Text</text>
         <appName>MessangiTest</appName>
         <platform>ANDROID</platform>
         <from>+12000000001</from>
      </sendResponse>
</result>
Result parameters
Parameter Name Description Possible Values
sendResponse.type Type of response Text
sendResponse.text Content of the response Text
sendResponse.appName App's name. Text
sendResponse.platform App's platform ANDROIR, IOS, FACEBOOK, TWITTER
sendResponse.from Origin of the response Text