Configuring App Inbox for Mobile Apps

To configure the app inbox, you need to send the requests to

  • get an authentication token;
  • get the number of unread app inbox messages;
  • get the number of pages with messages;
  • get the list of all app inbox messages in the mobile app;
  • get the changed status of app inbox messages.
1018

Getting Authentication Token

Send the request from your server to eSputnik API to receive the user authentication token (authToken). Authenticate the request using one of the methods specified in the API instructions, for example, using an API key.

The request has to contain the known contact fields: email, phone, externalCustomerId (at least one field is required). Those fields are used for searching contacts in eSputnik.

Request methodPOST
Request URLhttps://esputnik.com/v1/auth/contact/token
Request headerContent-Type: application/json
Request body{
"email": string,
"phone": string,
"externalCustomerId": string
}
Response{
"token": string
}

Afterward, authToken is used for authentication of all app inbox requests. Pass it in the header of the ES-TOKEN request. The current token becomes invalidated after each request, and the ES-TOKEN response header passes the new one used in the following request.

If you receive status code 401 as a response to any app inbox request, resubmit the request to get the token.

Getting the Number of Unread App Inbox Messages

The request permits you to get information about unread messages in the client’s mobile app. You can send this request on a regular basis.

Request methodGET
Request URLhttps://esputnik.com/appinbox/v1/messages/count
Request headerES-TOKEN: authToken
Response headerES-TOKEN: newAuthToken
Response{
"count": int
}

If count > 0, you shall see the indicator of unread messages.

1039

Getting the List of All App Inbox Messages

The request permits to get in the response the list of messages in the mobile app, including the following data:

  • message ID;
  • date of creation;
  • header;
  • message text content;
  • image URL;
  • link URL;
  • message status (opened or unopened);
  • category;
  • custom data.
Request methodGET
Request URLhttps://api-reteno.com/appinbox/v1/messages?page={pageNumber}&pageSize={pageSize}&status={status}
Request headerES-TOKEN: authToken
Response headerES-TOKEN: newAuthToken
pageminimum value 0
pageSizeminimum value 1
statusOPENED/UNOPENED
Response{
"list": [{
"id" : string, // UUID
"createdDate" : long, //timestamp in milliseconds
"title": text,
"content": text,
"image": string, // URL
"link": string, // URL
"newMessage" : boolean // true for unread message
"status" : OPENED, UNOPENED // message status
},...],
"totalPages": int
}

If page , status or pageSize is not set, then return all actual messages.

Getting the Changed Status of App Inbox Messages

The request transfers the read message event. It is required to pass only the message IDs having newMessage=true.

Request methodPOST
Request URLhttps://esputnik.com/appinbox/v1/messages/status
Request headerES-TOKEN: authToken
Response headerES-TOKEN: newAuthToken
Request body{
"status" : "OPENED",
"ids": [string]
}
Responsenone

See this article to learn more about creating messages and campaigns.

πŸ“˜

Note

All contacts that enter eSputnik through the SDK have Device IDs. This means you can send them App Inbox messages.

To select all contacts with Device IDs in your database, create a dynamic segment and include the All contacts with device condition.

Creating segment