Email messages logs
This method allows you to get logs for email messages.
Resource
https://api.infobip.com/email/1/logs
Parameters
Property name | Type | Description |
---|---|---|
from | string | Sender ID that can be alphanumeric or numeric. |
to | string | The message destination address. |
bulkId | int | The ID uniquely identifies a group of Email requests. This filter will enable you to query delivery reports for all the messages with the same bulk id using just one request. |
messageId | string | The ID that uniquely identifies the message sent. |
generalStatus | datetime | Sent email status group. Indicates whether the message is successfully sent, not sent, delivered, not delivered, waiting for delivery or any other possible status. |
sentSince | string | Lower limit on date and time of sending SMS. |
sentuntil | datetime | Upper limit on date and time of sending SMS. |
limit | int | Maximal number of messages in returned logs. Default value is 50. |
Request Example
GET /email/1/logs HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/json
Response
{
"results": [
{
"messageId": "64c98929-f160-4e2c-b156-ca88cc733547",
"to": "recipient@infobip.com",
"from": "sender@infobip.com",
"text": "Test text",
"sentAt": "2016-09-01T10:29:00.440+0000",
"doneAt": "2016-09-01T10:29:01.130+0000",
"price": {
"pricePerMessage": 0.0005,
"currency": "EUR"
},
"status": {
"groupId": 3,
"groupName": "DELIVERED",
"id": 5,
"name": "DELIVERED_TO_HANDSET",
"description": "Message delivered to handset"
},
"channel": "EMAIL"
}
]
}
None of the query parameters is mandatory for this request. Any combination of parameters can be used to filter results. Some examples are shown below.
IMPORTANT
Email logs are available for the last 48 hours!
Response format
If successful, the response header HTTP status code will be 200 OK
and the message logs will be returned.
If you try to send a message without authorization, you will get a response with HTTP status code 401 Unauthorized
.
If you use this method too many times in a short period of time, you will get the 429 Too Many Requests
status code. This prevents misusing logs in cases where reports would be more appropriate. For more information about when to use logs, please see the documentation.
SMSLogsResponse
Parameter | Type | Description |
---|---|---|
results | SentEmailLog | Collection of logs. |
SentEmailLog
Parameter | Type | Description |
---|---|---|
messageId | String | The ID that uniquely identifies the message sent. |
to | String | The message destination address. |
from | String | Sender email address. |
text | String | Text of the message that was sent. |
sentAt | Date | Tells when the email was sent. Has the following format: yyyy-MM-dd'T'HH:mm:ss.SSSZ . |
doneAt | Date | Tells when the email was finished processing by Infobip (i.e. delivered to destination). |
messageCount | int | Indicates how many parts the message was split into. It will always will be one for email. |
price | Price | Sent email price. |
status | Status | Indicates whether the message is successfully sent, not sent, delivered, not delivered, waiting for delivery or any other possible status. |
error | Error | Indicates whether the error occurred during the query execution. |
Price
Parameter | Type | Description |
---|---|---|
pricePerMessage | BigDecimal | Price per one email. |
currency | String | The currency in which the price is expressed. |
Status
Parameter | Type | Description |
---|---|---|
groupId | int | Status group ID. |
groupName | String | Status group name. |
id | int | Status ID. |
name | String | Status name. |
description | String | Human-readable description of the status. |
action | String | Action that should be taken to eliminate the error. |
Error
Parameter | Type | Description |
---|---|---|
groupId | int | Error group ID. |
groupName | String | Error group name. |
id | int | Error ID. |
name | String | Error name. |
description | String | Human-readable description of the error. |
permanent | boolean | Tells if the error is permanent. |
Get logs with multiple messageId filter
GET /email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/json
GET /email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/xml
curl -X GET
-H 'Accept: application/json'
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
https://api.infobip.com/email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da
<?php
$request = new HttpRequest();
$request->setUrl('https://api.infobip.com/email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'accept' => 'application/json',
'authorization' => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>
require 'uri'
require 'net/http'
url = URI("https://api.infobip.com/email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["authorization"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
request["accept"] = 'application/json'
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("api.infobip.com")
headers = {
'authorization': "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
'accept': "application/json"
}
conn.request("GET", "/email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://api.infobip.com/email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da")
.header("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==")
.header("accept", "application/json")
.asString();
var client = new RestClient("https://api.infobip.com/email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da");
var request = new RestRequest(Method.GET);
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
IRestResponse response = client.Execute(request);
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.infobip.com/email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da");
xhr.setRequestHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
xhr.setRequestHeader("accept", "application/json");
xhr.send(data);
Response:
{
"results": [
{
"messageId": "64c98929-f160-4e2c-b156-ca88cc733547",
"to": "recipient@infobip.com",
"from": "sender@infobip.com",
"text": "Test text",
"sentAt": "2016-09-01T10:29:00.440+0000",
"doneAt": "2016-09-01T10:29:01.130+0000",
"price": {
"pricePerMessage": 0.0005,
"currency": "EUR"
},
"status": {
"groupId": 3,
"groupName": "DELIVERED",
"id": 5,
"name": "DELIVERED_TO_HANDSET",
"description": "Message delivered to handset"
},
"channel": "EMAIL"
},
{
"messageId": "60d586a1-6448-4c5f-860d-be3ddbea16da",
"to": "recipient@infobip.com",
"from": "sender@infobip.com",
"text": "Test text",
"sentAt": "2016-09-01T10:29:00.317+0000",
"doneAt": "2016-09-01T10:29:00.807+0000",
"price": {
"pricePerMessage": 0.0005,
"currency": "EUR"
},
"status": {
"groupId": 3,
"groupName": "DELIVERED",
"id": 5,
"name": "DELIVERED_TO_HANDSET",
"description": "Message delivered to handset"
},
"channel": "EMAIL"
}
]
}
<?xml version='1.0' encoding='UTF-8'?>
<LogsResponse>
<results>
<result>
<messageId>64c98929-f160-4e2c-b156-ca88cc733547</messageId>
<to>recipient@infobip.com</to>
<from>sender@infobip.com</from>
<text>Test text</text>
<sentAt>2016-09-01T10:29:00.440+0000</sentAt>
<doneAt>2016-09-01T10:29:01.130+0000</doneAt>
<price>
<pricePerMessage>0.0005000000</pricePerMessage>
<currency>EUR</currency>
</price>
<status>
<groupId>3</groupId>
<groupName>DELIVERED</groupName>
<id>5</id>
<name>DELIVERED_TO_HANDSET</name>
<description>Message delivered to handset</description>
</status>
<channel>EMAIL</channel>
</result>
<result>
<messageId>60d586a1-6448-4c5f-860d-be3ddbea16da</messageId>
<to>recipient@infobip.com</to>
<from>sender@infobip.com</from>
<text>Test text</text>
<sentAt>2016-09-01T10:29:00.317+0000</sentAt>
<doneAt>2016-09-01T10:29:00.807+0000</doneAt>
<price>
<pricePerMessage>0.0005000000</pricePerMessage>
<currency>EUR</currency>
</price>
<status>
<groupId>3</groupId>
<groupName>DELIVERED</groupName>
<id>5</id>
<name>DELIVERED_TO_HANDSET</name>
<description>Message delivered to handset</description>
</status>
<channel>EMAIL</channel>
</result>
</results>
</LogsResponse>
Get logs with from, to and limit filters
from
, to
and limit
accept a single parameter which will be used to filter response message logs.
Request:
GET /email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/json
GET /email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/xml
curl -X GET
-H 'Accept: application/json'
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
https://api.infobip.com/email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1
<?php
$request = new HttpRequest();
$request->setUrl('https://api.infobip.com/email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'accept' => 'application/json',
'authorization' => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>
require 'uri'
require 'net/http'
url = URI("https://api.infobip.com/email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["authorization"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
request["accept"] = 'application/json'
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("api.infobip.com")
headers = {
'authorization': "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
'accept': "application/json"
}
conn.request("GET", "/email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://api.infobip.com/email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1")
.header("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==")
.header("accept", "application/json")
.asString();
var client = new RestClient("https://api.infobip.com/email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1");
var request = new RestRequest(Method.GET);
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
IRestResponse response = client.Execute(request);
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.infobip.com/email/1/logs?from=sender@infobip.com&to=recipient@infobip.com&limit=1");
xhr.setRequestHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
xhr.setRequestHeader("accept", "application/json");
xhr.send(data);
Response:
{
"results": [
{
"messageId": "54ddb941-2566-46e0-802a-22bea5cf94bc",
"to": "recipient@infobip.com",
"from": "sender@infobip.com",
"text": "Test text",
"sentAt": "2016-09-01T11:14:44.453+0000",
"doneAt": "2016-09-01T11:14:45.050+0000",
"price": {
"pricePerMessage": 0.0005,
"currency": "EUR"
},
"status": {
"groupId": 3,
"groupName": "DELIVERED",
"id": 5,
"name": "DELIVERED_TO_HANDSET",
"description": "Message delivered to handset"
},
"channel": "EMAIL"
}
]
}
<?xml version='1.0' encoding='UTF-8'?>
<LogsResponse>
<results>
<result>
<messageId>54ddb941-2566-46e0-802a-22bea5cf94bc</messageId>
<to>recipient@infobip.com</to>
<from>sender@infobip.com</from>
<text>Test text</text>
<sentAt>2016-09-01T11:14:44.453+0000</sentAt>
<doneAt>2016-09-01T11:14:45.050+0000</doneAt>
<price>
<pricePerMessage>0.0005000000</pricePerMessage>
<currency>EUR</currency>
</price>
<status>
<groupId>3</groupId>
<groupName>DELIVERED</groupName>
<id>5</id>
<name>DELIVERED_TO_HANDSET</name>
<description>Message delivered to handset</description>
</status>
<channel>EMAIL</channel>
</result>
</results>
</LogsResponse>
Get logs with date range and general status filters
sentSince
and generalStatus
accept a single parameter which will be used to filter response message logs.
Request:
GET /email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/json
GET /email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/xml
curl -X GET
-H 'Accept: application/json'
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
https://api.infobip.com/email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED
<?php
$request = new HttpRequest();
$request->setUrl('https://api.infobip.com/email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'accept' => 'application/json',
'authorization' => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>
require 'uri'
require 'net/http'
url = URI("https://api.infobip.com/email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["authorization"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
request["accept"] = 'application/json'
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("api.infobip.com")
headers = {
'authorization': "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
'accept': "application/json"
}
conn.request("GET", "/email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://api.infobip.com/email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED")
.header("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==")
.header("accept", "application/json")
.asString();
var client = new RestClient("https://api.infobip.com/email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED");
var request = new RestRequest(Method.GET);
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
IRestResponse response = client.Execute(request);
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.infobip.com/email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED");
xhr.setRequestHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
xhr.setRequestHeader("accept", "application/json");
xhr.send(data);
Response:
{
"results": [
{
"messageId": "54ddb941-2566-46e0-802a-22bea5cf94bc",
"to": "recipient@infobip.com",
"from": "sender@infobip.com",
"text": "Test text",
"sentAt": "2016-09-01T11:14:44.453+0000",
"doneAt": "2016-09-01T11:14:45.050+0000",
"price": {
"pricePerMessage": 0.0005,
"currency": "EUR"
},
"status": {
"groupId": 3,
"groupName": "DELIVERED",
"id": 5,
"name": "DELIVERED_TO_HANDSET",
"description": "Message delivered to handset"
},
"channel": "EMAIL"
}
]
}
<?xml version='1.0' encoding='UTF-8'?>
<LogsResponse>
<results>
<result>
<messageId>54ddb941-2566-46e0-802a-22bea5cf94bc</messageId>
<to>recipient@infobip.com</to>
<from>sender@infobip.com</from>
<text>Test text</text>
<sentAt>2016-09-01T11:14:44.453+0000</sentAt>
<doneAt>2016-09-01T11:14:45.050+0000</doneAt>
<price>
<pricePerMessage>0.0005000000</pricePerMessage>
<currency>EUR</currency>
</price>
<status>
<groupId>3</groupId>
<groupName>DELIVERED</groupName>
<id>5</id>
<name>DELIVERED_TO_HANDSET</name>
<description>Message delivered to handset</description>
</status>
<channel>EMAIL</channel>
</result>
</results>
</LogsResponse>
Get logs by Bulk ID
Request:
GET /email/1/logs?bulkId=lrzkq6gatdkxouhrkgni HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/json
GET /email/1/logs?bulkId=lrzkq6gatdkxouhrkgni HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/xml
curl -X GET \
-H 'Accept: application/json' \
-H "Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" \
https://api.infobip.com/email/1/logs?bulkId=lrzkq6gatdkxouhrkgni
<?php
$request = new HttpRequest();
$request->setUrl('https://api.infobip.com/email/1/logs');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData(array(
'bulkId' => 'lrzkq6gatdkxouhrkgni'
));
$request->setHeaders(array(
'accept' => 'application/json',
'authorization' => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
require 'uri'
require 'net/http'
url = URI("https://api.infobip.com/email/1/logs?bulkId=lrzkq6gatdkxouhrkgni")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["authorization"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
request["accept"] = 'application/json'
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("api.infobip.com")
headers = {
'authorization': "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
'accept': "application/json"
}
conn.request("GET", "/email/1/logs?bulkId=lrzkq6gatdkxouhrkgni", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://api.infobip.com/email/1/logs?bulkId=lrzkq6gatdkxouhrkgni")
.header("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==")
.header("accept", "application/json")
.asString();
var client = new RestClient("https://api.infobip.com/email/1/logs?bulkId=lrzkq6gatdkxouhrkgni");
var request = new RestRequest(Method.GET);
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
IRestResponse response = client.Execute(request);
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.infobip.com/email/1/logs?bulkId=lrzkq6gatdkxouhrkgni");
xhr.setRequestHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
xhr.setRequestHeader("accept", "application/json");
xhr.send(data);
Response:
{
"results": [
{
"bulkId": "lrzkq6gatdkxouhrkgni",
"messageId": "64c98929-f160-4e2c-b156-ca88cc733547",
"to": "recipient@infobip.com",
"from": "sender@infobip.com",
"text": "Test text",
"sentAt": "2016-09-01T10:29:00.440+0000",
"doneAt": "2016-09-01T10:29:01.130+0000",
"price": {
"pricePerMessage": 0.0005,
"currency": "EUR"
},
"status": {
"groupId": 3,
"groupName": "DELIVERED",
"id": 5,
"name": "DELIVERED_TO_HANDSET",
"description": "Message delivered to handset"
},
"channel": "EMAIL"
},
{
"bulkId": "lrzkq6gatdkxouhrkgni",
"messageId": "60d586a1-6448-4c5f-860d-be3ddbea16da",
"to": "recipient@infobip.com",
"from": "sender@infobip.com",
"text": "Test text",
"sentAt": "2016-09-01T10:29:00.317+0000",
"doneAt": "2016-09-01T10:29:00.807+0000",
"price": {
"pricePerMessage": 0.0005,
"currency": "EUR"
},
"status": {
"groupId": 3,
"groupName": "DELIVERED",
"id": 5,
"name": "DELIVERED_TO_HANDSET",
"description": "Message delivered to handset"
},
"channel": "EMAIL"
}
]
}
<?xml version='1.0' encoding='UTF-8'?>
<LogsResponse>
<results>
<result>
<bulkId>lrzkq6gatdkxouhrkgni</bulkId>
<messageId>64c98929-f160-4e2c-b156-ca88cc733547</messageId>
<to>recipient@infobip.com</to>
<from>sender@infobip.com</from>
<text>Test text</text>
<sentAt>2016-09-01T10:29:00.440+0000</sentAt>
<doneAt>2016-09-01T10:29:01.130+0000</doneAt>
<price>
<pricePerMessage>0.0005000000</pricePerMessage>
<currency>EUR</currency>
</price>
<status>
<groupId>3</groupId>
<groupName>DELIVERED</groupName>
<id>5</id>
<name>DELIVERED_TO_HANDSET</name>
<description>Message delivered to handset</description>
</status>
<channel>EMAIL</channel>
</result>
<result>
<bulkId>lrzkq6gatdkxouhrkgni</bulkId>
<messageId>60d586a1-6448-4c5f-860d-be3ddbea16da</messageId>
<to>recipient@infobip.com</to>
<from>sender@infobip.com</from>
<text>Test text</text>
<sentAt>2016-09-01T10:29:00.317+0000</sentAt>
<doneAt>2016-09-01T10:29:00.807+0000</doneAt>
<price>
<pricePerMessage>0.0005000000</pricePerMessage>
<currency>EUR</currency>
</price>
<status>
<groupId>3</groupId>
<groupName>DELIVERED</groupName>
<id>5</id>
<name>DELIVERED_TO_HANDSET</name>
<description>Message delivered to handset</description>
</status>
<channel>EMAIL</channel>
</result>
</results>
</LogsResponse>