{"_id":"55190583822f9c23006e9532","__v":4,"editedParams":true,"editedParams2":true,"parentDoc":null,"version":{"_id":"54eb63b859b1172100334fae","project":"54eb50e5615ffc1900305a16","forked_from":"54eb63a1867e1917009b711d","__v":28,"createdAt":"2015-02-23T17:30:32.501Z","releaseDate":"2015-02-23T17:30:32.501Z","categories":["54eb63b959b1172100334faf","54eb63b959b1172100334fb0","54eb63b959b1172100334fb1","54eb63b959b1172100334fb2","54ed8dd4ab373e2300f50eae","54ed99b2ab373e2300f50ede","55153a6de68daa2f00cff838","551546edbc466623002afe72","5515472ac28d6125001b8884","55154749c28d6125001b8885","555d9b4106dfec0d00d38ea7","5613e06e433e5735007c7708","5624bbb785a31117001c5403","56669e857cc81e0d00253f8e","568b8d837a42220d00498311","56a632277ef6620d00e2f18a","56d8147c3eb4dd0b00201aac","57a9ce2fac6db30e000d7efd","57a9cf4e944ea60e00dc3f74","58172386715dce0f00da4aa0","582dc59ee1b8692300c0dd03","589b19b4fec2730f0082e040","58b04a023529383900a759b5","58b92d1598157a0f004869bf","592e7685c58275000f20174f","59392839e376d4002f8a0474","59393064e376d4002f8a05a1","5947ae0d4005e2000f3a4fec","594a74df1d1de5001ab3517a","5954bc387a147f001b918915","59b8eeeb707542001076d3b6"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1"},"user":"54eb4fdedf7add210007b29b","category":{"_id":"55153a6de68daa2f00cff838","__v":12,"pages":["55154703c859ac2f0001b481","55155f2abc466623002afe88","55156601fd26132300e74e40","551594f3b2473817004172d6","5518fe6845b0d80d001521f3","55190583822f9c23006e9532","55191994337285170047f83e","55252726d919032b0057ac91","55376acc8021c00d00f54606","554a1276c5138431005d94a3","554a13b9c5138431005d94a6","565490a05ffae70d0078e4bb"],"project":"54eb50e5615ffc1900305a16","version":"54eb63b859b1172100334fae","sync":{"url":"","isSync":false},"reference":true,"createdAt":"2015-03-27T11:09:33.815Z","from_sync":false,"order":2,"slug":"send-sms","title":"Send SMS"},"project":"54eb50e5615ffc1900305a16","updates":["5881d410bc00701b00a6ce60"],"next":{"pages":[],"description":""},"createdAt":"2015-03-30T08:12:51.856Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","examples":{"codes":[{"name":"","code":"GET /sms/1/reports HTTP/1.1\nHost: api.infobip.com\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\nAccept: application/json","language":"json"}]},"method":"get","results":{"codes":[{"status":200,"language":"json","code":"{  \n   \"results\":[  \n      {  \n         \"bulkId\":\"8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb\",\n         \"messageId\":\"ff4804ef-6ab6-4abd-984d-ab3b1387e852\",\n         \"to\":\"385981178\",\n         \"sentAt\":\"2015-02-12T09:58:20.323+0100\",\n         \"doneAt\":\"2015-02-12T09:58:20.337+0100\",\n         \"smsCount\":1,\n         \"mccMnc\": \"21901\",\n         \"callbackData\": \"DLR callback data\",\n         \"price\":{  \n            \"pricePerMessage\":0.01,\n            \"currency\":\"EUR\"\n         },\n         \"status\":{  \n            \"id\":5,\n            \"groupId\":3,\n            \"groupName\":\"DELIVERED\",\n            \"name\":\"DELIVERED_TO_HANDSET\",\n            \"description\":\"Message delivered to handset\"\n         },\n         \"error\":{  \n            \"groupId\":0,\n            \"groupName\":\"OK\",\n            \"id\":0,\n            \"name\":\"NO_ERROR\",\n            \"description\":\"No Error\",\n            \"permanent\":false\n         }\n      }\n   ]\n}","name":""}]},"auth":"required","params":[{"_id":"55190583822f9c23006e9535","ref":"","in":"query","required":false,"desc":"The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to [more than one destination address](http://dev.infobip.com/v1/docs/send-single-sms#section-single-textual-message-to-one-destination).","default":"","type":"string","name":"bulkId"},{"_id":"55190583822f9c23006e9534","ref":"","in":"query","required":false,"desc":"The ID that uniquely identifies the message sent.","default":"","type":"string","name":"messageId"},{"_id":"55190583822f9c23006e9533","ref":"","in":"query","required":false,"desc":"Number of returned delivery reports. Default value is **50**. Max number per request is **1000**.","default":"","type":"string","name":"limit"}],"url":"/sms/:version/reports"},"isReference":true,"order":5,"body":"# Response format\n\nOn success, response header HTTP status code will be `200 OK` and delivery reports will be returned in the response body.\n\nIf you try to send a message without authorization, you will get a response with HTTP status code `401 Unauthorized`.\n\n### SMSReportResponse\n\n|Parameter|Type|Description|\n|-|-|-|\n|*results*|[SentSMSReport[]](#sentsmsreport)|Collection of reports, one per every message.|\n\n### SentSMSReport\n\n|Parameter|Type|Description|\n|-|-|-|\n|*bulkId*|String|Bulk ID.|\n|*messageId*|String|Message ID.|\n|*to*|String|Destination address.|\n|*from*|String|Sender ID that can be alphanumeric or numeric.|\n|*sentAt*|Date|Tells when the SMS was sent. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.|\n|*doneAt*|Date|Tells when the SMS was finished processing by Infobip (ie. delivered to destination, delivered to destination network, etc.)|\n|*smsCount*|int|Number of parts the sent SMS was split into.|\n|*mccMnc*|String|Mobile country and network codes.|\n|*callbackData*|String|Callback data sent through 'callbackData' field in fully featured SMS message|\n|*price*|[Price](#price)|Sent SMS price.|\n|*status*|[Status](#status)|Indicates whether the message is successfully sent, not sent, delivered, not delivered, waiting for delivery or any other possible status.|\n|*error*|[Error](#error)|Indicates whether the error occurred during the query execution.|\n\n#### Price\n\n|Parameter|Type|Description|\n|-|-|-|\n|*pricePerMessage*|BigDecimal|Price per one SMS.|\n|*currency*|String|The currency in which the price is expressed.|\n\n#### Status\n\n|Parameter|Type|Description|\n|-|-|-|\n|*groupId*|int|Status [group ID](http://dev.infobip.com/v1/docs/response-codes#status-object-example).|\n|*groupName*|String|Status [group name](http://dev.infobip.com/v1/docs/response-codes#status-object-example).|\n|*id*|int|Status [ID](http://dev.infobip.com/v1/docs/response-codes#status-object-example).|\n|*name*|String|Status [name](http://dev.infobip.com/v1/docs/response-codes#status-object-example).|\n|*description*|String|Human readable [description](http://dev.infobip.com/v1/docs/response-codes#status-object-example) of the status.|\n|*action*|String|[Action](http://dev.infobip.com/v1/docs/response-codes#status-object-example) that should be taken to eliminate the error.|\n\n#### Error\n\n|Parameter|Type|Description|\n|-|-|-|\n|*groupId*|int|Error [group ID](http://dev.infobip.com/v1/docs/response-codes#error-object-example).|\n|*groupName*|String|Error [group name](http://dev.infobip.com/v1/docs/response-codes#error-object-example).|\n|*id*|int|Error [ID](http://dev.infobip.com/v1/docs/response-codes#error-object-example).|\n|*name*|String|Error [name](http://dev.infobip.com/v1/docs/response-codes#error-object-example).|\n|*description*|String|Human readable [description](http://dev.infobip.com/v1/docs/response-codes#error-object-example) of the error.|\n|*permanent*|boolean|Tells if the error [is permanent](http://dev.infobip.com/v1/docs/response-codes#error-object-example).|\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Delivery report will be returned only once!\",\n  \"body\": \"Delivery reports are returned **only once**. Additional delivery report request will return empty collection.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Additional examples\"\n}\n[/block]\n# Getting reports without any query parameter\n\n**Request**\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"GET /sms/1/reports HTTP/1.1\\nHost: api.infobip.com\\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\nAccept: application/json\",\n      \"language\": \"json\"\n    },\n    {\n      \"code\": \"GET /sms/1/reports HTTP/1.1\\nHost: api.infobip.com\\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\nAccept: application/xml\",\n      \"language\": \"xml\"\n    },\n    {\n      \"code\": \"curl -X GET \\\\\\n-H 'Accept: application/json' \\\\\\n-H \\\"Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\" \\\\\\nhttps://api.infobip.com/sms/1/reports\",\n      \"language\": \"curl\"\n    },\n    {\n      \"code\": \"<?php\\n\\n$curl = curl_init();\\n\\ncurl_setopt_array($curl, array(\\n  CURLOPT_URL => \\\"http://api.infobip.com/sms/1/reports\\\",\\n  CURLOPT_RETURNTRANSFER => true,\\n  CURLOPT_ENCODING => \\\"\\\",\\n  CURLOPT_MAXREDIRS => 10,\\n  CURLOPT_TIMEOUT => 30,\\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\\n  CURLOPT_CUSTOMREQUEST => \\\"GET\\\",\\n  CURLOPT_HTTPHEADER => array(\\n    \\\"accept: application/json\\\",\\n    \\\"authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\"\\n  ),\\n));\\n\\n$response = curl_exec($curl);\\n$err = curl_error($curl);\\n\\ncurl_close($curl);\\n\\nif ($err) {\\n  echo \\\"cURL Error #:\\\" . $err;\\n} else {\\n  echo $response;\\n}\",\n      \"language\": \"php\"\n    },\n    {\n      \"code\": \"require 'uri'\\nrequire 'net/http'\\n\\nurl = URI(\\\"https://api.infobip.com/sms/1/reports\\\")\\n\\nhttp = Net::HTTP.new(url.host, url.port)\\nhttp.use_ssl = true\\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\\n\\nrequest = Net::HTTP::Get.new(url)\\nrequest[\\\"authorization\\\"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='\\nrequest[\\\"accept\\\"] = 'application/json'\\n\\nresponse = http.request(request)\\nputs response.read_body\",\n      \"language\": \"ruby\"\n    },\n    {\n      \"code\": \"import http.client\\n\\nconn = http.client.HTTPSConnection(\\\"api.infobip.com\\\")\\n\\nheaders = {\\n    'authorization': \\\"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\",\\n    'accept': \\\"application/json\\\"\\n    }\\n\\nconn.request(\\\"GET\\\", \\\"/sms/1/reports\\\", headers=headers)\\n\\nres = conn.getresponse()\\ndata = res.read()\\n\\nprint(data.decode(\\\"utf-8\\\"))\",\n      \"language\": \"python\"\n    },\n    {\n      \"code\": \"HttpResponse<String> response = Unirest.get(\\\"https://api.infobip.com/sms/1/reports\\\")\\n  .header(\\\"authorization\\\", \\\"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\")\\n  .header(\\\"accept\\\", \\\"application/json\\\")\\n  .asString();\",\n      \"language\": \"java\"\n    },\n    {\n      \"code\": \"var client = new RestClient(\\\"https://api.infobip.com/sms/1/reports\\\");\\n\\nvar request = new RestRequest(Method.GET);\\nrequest.AddHeader(\\\"accept\\\", \\\"application/json\\\");\\nrequest.AddHeader(\\\"authorization\\\", \\\"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\");\\n\\nIRestResponse response = client.Execute(request);\",\n      \"language\": \"csharp\"\n    },\n    {\n      \"code\": \"var data = null;\\n\\nvar xhr = new XMLHttpRequest();\\nxhr.withCredentials = true;\\n\\nxhr.addEventListener(\\\"readystatechange\\\", function () {\\n  if (this.readyState === this.DONE) {\\n    console.log(this.responseText);\\n  }\\n});\\n\\nxhr.open(\\\"GET\\\", \\\"https://api.infobip.com/sms/1/reports\\\");\\nxhr.setRequestHeader(\\\"authorization\\\", \\\"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\");\\nxhr.setRequestHeader(\\\"accept\\\", \\\"application/json\\\");\\n\\nxhr.send(data);\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\n**Response**\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"HTTP/1.1 200 OK\\nContent-Type: application/json\\n\\n{  \\n   \\\"results\\\":[  \\n      {  \\n         \\\"bulkId\\\":\\\"8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb\\\",\\n         \\\"messageId\\\":\\\"ff4804ef-6ab6-4abd-984d-ab3b1387e852\\\",\\n         \\\"to\\\":\\\"385981178\\\",\\n         \\\"sentAt\\\":\\\"2015-02-12T09:58:20.323+0100\\\",\\n         \\\"doneAt\\\":\\\"2015-02-12T09:58:20.337+0100\\\",\\n         \\\"smsCount\\\":1,\\n         \\\"mccMnc\\\": \\\"21901\\\",\\n         \\\"price\\\":{  \\n            \\\"pricePerMessage\\\":0.01,\\n            \\\"currency\\\":\\\"EUR\\\"\\n         },\\n         \\\"status\\\":{  \\n            \\\"id\\\":5,\\n            \\\"groupId\\\":3,\\n            \\\"groupName\\\":\\\"DELIVERED\\\",\\n            \\\"name\\\":\\\"DELIVERED_TO_HANDSET\\\",\\n            \\\"description\\\":\\\"Message delivered to handset\\\"\\n         },\\n         \\\"error\\\":{  \\n            \\\"groupId\\\":0,\\n            \\\"groupName\\\":\\\"OK\\\",\\n            \\\"id\\\":0,\\n            \\\"name\\\":\\\"NO_ERROR\\\",\\n            \\\"description\\\":\\\"No Error\\\",\\n            \\\"permanent\\\":false\\n         }\\n      }\\n   ]\\n}\",\n      \"language\": \"json\"\n    },\n    {\n      \"code\": \"HTTP/1.1 200 OK\\nContent-Type: application/xml\\n\\n<reportResponse>\\n   <results>\\n     <result>\\n      <bulkId>8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb</bulkId>\\n      <messageId>ff4804ef-6ab6-4abd-984d-ab3b1387e852</messageId>\\n      <to>385981178</to>\\n      <sentAt>2015-02-12T09:58:20.323+0100</sentAt>\\n      <doneAt>2015-02-12T09:58:20.337+0100</doneAt>\\n      <smsCount>1</smsCount>\\n      <mccMnc>21901</mccMnc>\\n      <price>\\n         <pricePerMessage>0.01</pricePerMessage>\\n         <currency>EUR</currency>\\n      </price>\\n      <status>\\n         <id>5</id>\\n         <groupId>3</groupId>\\n         <groupName>DELIVERED</groupName>\\n         <name>DELIVERED_TO_HANDSET</name>\\n         <description>Message delivered to handset</description>\\n      </status>\\n      <error>\\n         <groupId>0</groupId>\\n         <groupName>OK</groupName>\\n         <id>0</id>\\n         <name>NO_ERROR</name>\\n         <description>No Error</description>\\n         <permanent>false</permanent>\\n     </error>\\n     </result>\\n   </results>\\n</reportResponse>\",\n      \"language\": \"xml\"\n    }\n  ]\n}\n[/block]\n# Getting the initial two delivery reports\n\n**Request**\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"GET /sms/1/reports?limit=2 HTTP/1.1\\nHost: api.infobip.com\\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\nAccept: application/json\",\n      \"language\": \"json\"\n    },\n    {\n      \"code\": \"GET /sms/1/reports?limit=2 HTTP/1.1\\nHost: api.infobip.com\\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\nAccept: application/xml\",\n      \"language\": \"xml\"\n    },\n    {\n      \"code\": \"curl -X GET \\n-H 'Accept: application/json' \\n-H \\\"Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\"\\nhttps://api.infobip.com/sms/1/reports?limit=2\",\n      \"language\": \"curl\"\n    },\n    {\n      \"code\": \"<?php\\n\\n$curl = curl_init();\\n\\ncurl_setopt_array($curl, array(\\n  CURLOPT_URL => \\\"http://api.infobip.com/sms/1/reports?limit=2\\\",\\n  CURLOPT_RETURNTRANSFER => true,\\n  CURLOPT_ENCODING => \\\"\\\",\\n  CURLOPT_MAXREDIRS => 10,\\n  CURLOPT_TIMEOUT => 30,\\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\\n  CURLOPT_CUSTOMREQUEST => \\\"GET\\\",\\n  CURLOPT_HTTPHEADER => array(\\n    \\\"accept: application/json\\\",\\n    \\\"authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\"\\n  ),\\n));\\n\\n$response = curl_exec($curl);\\n$err = curl_error($curl);\\n\\ncurl_close($curl);\\n\\nif ($err) {\\n  echo \\\"cURL Error #:\\\" . $err;\\n} else {\\n  echo $response;\\n}\",\n      \"language\": \"php\"\n    },\n    {\n      \"code\": \"require 'uri'\\nrequire 'net/http'\\n\\nurl = URI(\\\"https://api.infobip.com/sms/1/reports?limit=2\\\")\\n\\nhttp = Net::HTTP.new(url.host, url.port)\\nhttp.use_ssl = true\\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\\n\\nrequest = Net::HTTP::Get.new(url)\\nrequest[\\\"authorization\\\"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='\\nrequest[\\\"accept\\\"] = 'application/json'\\n\\nresponse = http.request(request)\\nputs response.read_body\",\n      \"language\": \"ruby\"\n    },\n    {\n      \"code\": \"import http.client\\n\\nconn = http.client.HTTPSConnection(\\\"api.infobip.com\\\")\\n\\nheaders = {\\n    'authorization': \\\"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\",\\n    'accept': \\\"application/json\\\"\\n    }\\n\\nconn.request(\\\"GET\\\", \\\"/sms/1/reports?limit=2\\\", headers=headers)\\n\\nres = conn.getresponse()\\ndata = res.read()\\n\\nprint(data.decode(\\\"utf-8\\\"))\",\n      \"language\": \"python\"\n    },\n    {\n      \"code\": \"HttpResponse<String> response = Unirest.get(\\\"https://api.infobip.com/sms/1/reports?limit=2\\\")\\n  .header(\\\"authorization\\\", \\\"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\")\\n  .header(\\\"accept\\\", \\\"application/json\\\")\\n  .asString();\",\n      \"language\": \"java\"\n    },\n    {\n      \"code\": \"var client = new RestClient(\\\"https://api.infobip.com/sms/1/reports?limit=2\\\");\\n\\nvar request = new RestRequest(Method.GET);\\nrequest.AddHeader(\\\"accept\\\", \\\"application/json\\\");\\nrequest.AddHeader(\\\"authorization\\\", \\\"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\");\\n\\nIRestResponse response = client.Execute(request);\",\n      \"language\": \"csharp\"\n    },\n    {\n      \"code\": \"var data = null;\\n\\nvar xhr = new XMLHttpRequest();\\nxhr.withCredentials = true;\\n\\nxhr.addEventListener(\\\"readystatechange\\\", function () {\\n  if (this.readyState === this.DONE) {\\n    console.log(this.responseText);\\n  }\\n});\\n\\nxhr.open(\\\"GET\\\", \\\"https://api.infobip.com/sms/1/reports?limit=2\\\");\\nxhr.setRequestHeader(\\\"authorization\\\", \\\"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\\");\\nxhr.setRequestHeader(\\\"accept\\\", \\\"application/json\\\");\\n\\nxhr.send(data);\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\n**Response**\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"HTTP/1.1 200 OK\\nContent-Type: application/json\\n\\n{  \\n   \\\"results\\\":[  \\n      {  \\n         \\\"bulkId\\\":\\\"80664c0c-e1ca-414d-806a-5caf146463df\\\",\\n         \\\"messageId\\\":\\\"bcfb828b-7df9-4e7b-8715-f34f5c61271a\\\",\\n         \\\"to\\\":\\\"38598111\\\",\\n         \\\"sentAt\\\":\\\"2015-02-12T09:58:20.323+0100\\\",\\n         \\\"doneAt\\\":\\\"2015-02-12T09:58:20.337+0100\\\",\\n         \\\"smsCount\\\":1,\\n         \\\"mccMnc\\\": \\\"21901\\\",\\n         \\\"price\\\":{  \\n            \\\"pricePerMessage\\\":0.01,\\n            \\\"currency\\\":\\\"EUR\\\"\\n         },\\n         \\\"status\\\":{  \\n            \\\"groupId\\\":3,\\n            \\\"groupName\\\":\\\"DELIVERED\\\",\\n            \\\"id\\\":5,\\n            \\\"name\\\":\\\"DELIVERED_TO_HANDSET\\\",\\n            \\\"description\\\":\\\"Message delivered to handset\\\"\\n         },\\n         \\\"error\\\":{  \\n            \\\"groupId\\\":0,\\n            \\\"groupName\\\":\\\"OK\\\",\\n            \\\"id\\\":0,\\n            \\\"name\\\":\\\"NO_ERROR\\\",\\n            \\\"description\\\":\\\"No Error\\\",\\n            \\\"permanent\\\":false\\n         }\\n      },\\n      {  \\n         \\\"bulkId\\\":\\\"08fe4407-c48f-4d4b-a2f4-9ff583c985b8\\\",\\n         \\\"messageId\\\":\\\"12db39c3-7822-4e72-a3ec-c87442c0ffc5\\\",\\n         \\\"to\\\":\\\"385981112\\\",\\n         \\\"sentAt\\\":\\\"2015-02-12T09:58:20.345+0100\\\",\\n         \\\"doneAt\\\":\\\"2015-02-12T09:58:20.350+0100\\\",\\n         \\\"smsCount\\\":1,\\n         \\\"price\\\":{  \\n            \\\"pricePerMessage\\\":0.01,\\n            \\\"currency\\\":\\\"EUR\\\"\\n         },\\n         \\\"status\\\":{  \\n            \\\"groupId\\\":3,\\n            \\\"groupName\\\":\\\"DELIVERED\\\",\\n            \\\"id\\\":5,\\n            \\\"name\\\":\\\"DELIVERED_TO_HANDSET\\\",\\n            \\\"description\\\":\\\"Message delivered to handset\\\"\\n         },\\n         \\\"error\\\":{  \\n            \\\"groupId\\\":0,\\n            \\\"groupName\\\":\\\"OK\\\",\\n            \\\"id\\\":0,\\n            \\\"name\\\":\\\"NO_ERROR\\\",\\n            \\\"description\\\":\\\"No Error\\\",\\n            \\\"permanent\\\":false\\n         }\\n      }\\n   ]\\n}\",\n      \"language\": \"json\"\n    },\n    {\n      \"code\": \"HTTP/1.1 200 OK\\nContent-Type: application/xml\\n\\n<reportResponse>\\n   <results>\\n     <result>\\n      <bulkId>80664c0c-e1ca-414d-806a-5caf146463df</bulkId>\\n      <messageId>bcfb828b-7df9-4e7b-8715-f34f5c61271a</messageId>\\n      <to>38598111</to>\\n      <sentAt>2015-02-12T09:58:20.323+0100</sentAt>\\n      <doneAt>2015-02-12T09:58:20.337+0100</doneAt>\\n      <smsCount>1</smsCount>\\n      <mccMnc>21901</mccMnc>\\n      <price>\\n         <pricePerMessage>0.01</pricePerMessage>\\n         <currency>EUR</currency>\\n      </price>\\n      <status>\\n         <groupId>3</groupId>\\n         <groupName>DELIVERED</groupName>\\n         <id>5</id>\\n         <name>DELIVERED_TO_HANDSET</name>\\n         <description>Message delivered to handset</description>\\n      </status>\\n      <error>\\n         <groupId>0</groupId>\\n         <groupName>OK</groupName>\\n         <id>0</id>\\n         <name>NO_ERROR</name>\\n         <description>No Error</description>\\n         <permanent>false</permanent>\\n      </error>\\n   </result>\\n   <result>\\n      <bulkId>08fe4407-c48f-4d4b-a2f4-9ff583c985b8</bulkId>\\n      <messageId>12db39c3-7822-4e72-a3ec-c87442c0ffc5</messageId>\\n      <to>385981112</to>\\n      <sentAt>2015-02-12T09:58:20.345+0100</sentAt>\\n      <doneAt>2015-02-12T09:58:20.350+0100</doneAt>\\n      <smsCount>1</smsCount>\\n      <price>\\n         <pricePerMessage>0.01</pricePerMessage>\\n         <currency>EUR</currency>\\n      </price>\\n      <status>\\n         <groupId>3</groupId>\\n         <groupName>DELIVERED</groupName>\\n         <id>5</id>\\n         <name>DELIVERED_TO_HANDSET</name>\\n         <description>Message delivered to handset</description>\\n      </status>\\n      <error>\\n         <groupId>0</groupId>\\n         <groupName>OK</groupName>\\n         <id>0</id>\\n         <name>NO_ERROR</name>\\n         <description>No Error</description>\\n         <permanent>false</permanent>\\n      </error>\\n     </result>\\n   </results>\\n</reportResponse>\",\n      \"language\": \"xml\"\n    }\n  ]\n}\n[/block]","excerpt":"This method allows you to get one time delivery reports for sent SMS.","slug":"delivery-reports","type":"endpoint","title":"Delivery reports"}

getDelivery reports

This method allows you to get one time delivery reports for sent SMS.

Definition

{{ api_url }}{{ page_api_url }}

Parameters

Query Params

bulkId:
string
The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to [more than one destination address](http://dev.infobip.com/v1/docs/send-single-sms#section-single-textual-message-to-one-destination).
messageId:
string
The ID that uniquely identifies the message sent.
limit:
string
Number of returned delivery reports. Default value is **50**. Max number per request is **1000**.

Examples


Result Format


Documentation

# Response format On success, response header HTTP status code will be `200 OK` and delivery reports will be returned in the response body. If you try to send a message without authorization, you will get a response with HTTP status code `401 Unauthorized`. ### SMSReportResponse |Parameter|Type|Description| |-|-|-| |*results*|[SentSMSReport[]](#sentsmsreport)|Collection of reports, one per every message.| ### SentSMSReport |Parameter|Type|Description| |-|-|-| |*bulkId*|String|Bulk ID.| |*messageId*|String|Message ID.| |*to*|String|Destination address.| |*from*|String|Sender ID that can be alphanumeric or numeric.| |*sentAt*|Date|Tells when the SMS was sent. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.| |*doneAt*|Date|Tells when the SMS was finished processing by Infobip (ie. delivered to destination, delivered to destination network, etc.)| |*smsCount*|int|Number of parts the sent SMS was split into.| |*mccMnc*|String|Mobile country and network codes.| |*callbackData*|String|Callback data sent through 'callbackData' field in fully featured SMS message| |*price*|[Price](#price)|Sent SMS price.| |*status*|[Status](#status)|Indicates whether the message is successfully sent, not sent, delivered, not delivered, waiting for delivery or any other possible status.| |*error*|[Error](#error)|Indicates whether the error occurred during the query execution.| #### Price |Parameter|Type|Description| |-|-|-| |*pricePerMessage*|BigDecimal|Price per one SMS.| |*currency*|String|The currency in which the price is expressed.| #### Status |Parameter|Type|Description| |-|-|-| |*groupId*|int|Status [group ID](http://dev.infobip.com/v1/docs/response-codes#status-object-example).| |*groupName*|String|Status [group name](http://dev.infobip.com/v1/docs/response-codes#status-object-example).| |*id*|int|Status [ID](http://dev.infobip.com/v1/docs/response-codes#status-object-example).| |*name*|String|Status [name](http://dev.infobip.com/v1/docs/response-codes#status-object-example).| |*description*|String|Human readable [description](http://dev.infobip.com/v1/docs/response-codes#status-object-example) of the status.| |*action*|String|[Action](http://dev.infobip.com/v1/docs/response-codes#status-object-example) that should be taken to eliminate the error.| #### Error |Parameter|Type|Description| |-|-|-| |*groupId*|int|Error [group ID](http://dev.infobip.com/v1/docs/response-codes#error-object-example).| |*groupName*|String|Error [group name](http://dev.infobip.com/v1/docs/response-codes#error-object-example).| |*id*|int|Error [ID](http://dev.infobip.com/v1/docs/response-codes#error-object-example).| |*name*|String|Error [name](http://dev.infobip.com/v1/docs/response-codes#error-object-example).| |*description*|String|Human readable [description](http://dev.infobip.com/v1/docs/response-codes#error-object-example) of the error.| |*permanent*|boolean|Tells if the error [is permanent](http://dev.infobip.com/v1/docs/response-codes#error-object-example).| [block:callout] { "type": "warning", "title": "Delivery report will be returned only once!", "body": "Delivery reports are returned **only once**. Additional delivery report request will return empty collection." } [/block] [block:api-header] { "type": "basic", "title": "Additional examples" } [/block] # Getting reports without any query parameter **Request** [block:code] { "codes": [ { "code": "GET /sms/1/reports HTTP/1.1\nHost: api.infobip.com\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\nAccept: application/json", "language": "json" }, { "code": "GET /sms/1/reports HTTP/1.1\nHost: api.infobip.com\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\nAccept: application/xml", "language": "xml" }, { "code": "curl -X GET \\\n-H 'Accept: application/json' \\\n-H \"Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\" \\\nhttps://api.infobip.com/sms/1/reports", "language": "curl" }, { "code": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n CURLOPT_URL => \"http://api.infobip.com/sms/1/reports\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n CURLOPT_HTTPHEADER => array(\n \"accept: application/json\",\n \"authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\"\n ),\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}", "language": "php" }, { "code": "require 'uri'\nrequire 'net/http'\n\nurl = URI(\"https://api.infobip.com/sms/1/reports\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"authorization\"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='\nrequest[\"accept\"] = 'application/json'\n\nresponse = http.request(request)\nputs response.read_body", "language": "ruby" }, { "code": "import http.client\n\nconn = http.client.HTTPSConnection(\"api.infobip.com\")\n\nheaders = {\n 'authorization': \"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\",\n 'accept': \"application/json\"\n }\n\nconn.request(\"GET\", \"/sms/1/reports\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))", "language": "python" }, { "code": "HttpResponse<String> response = Unirest.get(\"https://api.infobip.com/sms/1/reports\")\n .header(\"authorization\", \"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\")\n .header(\"accept\", \"application/json\")\n .asString();", "language": "java" }, { "code": "var client = new RestClient(\"https://api.infobip.com/sms/1/reports\");\n\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"accept\", \"application/json\");\nrequest.AddHeader(\"authorization\", \"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\");\n\nIRestResponse response = client.Execute(request);", "language": "csharp" }, { "code": "var data = null;\n\nvar xhr = new XMLHttpRequest();\nxhr.withCredentials = true;\n\nxhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === this.DONE) {\n console.log(this.responseText);\n }\n});\n\nxhr.open(\"GET\", \"https://api.infobip.com/sms/1/reports\");\nxhr.setRequestHeader(\"authorization\", \"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\");\nxhr.setRequestHeader(\"accept\", \"application/json\");\n\nxhr.send(data);", "language": "javascript" } ] } [/block] **Response** [block:code] { "codes": [ { "code": "HTTP/1.1 200 OK\nContent-Type: application/json\n\n{ \n \"results\":[ \n { \n \"bulkId\":\"8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb\",\n \"messageId\":\"ff4804ef-6ab6-4abd-984d-ab3b1387e852\",\n \"to\":\"385981178\",\n \"sentAt\":\"2015-02-12T09:58:20.323+0100\",\n \"doneAt\":\"2015-02-12T09:58:20.337+0100\",\n \"smsCount\":1,\n \"mccMnc\": \"21901\",\n \"price\":{ \n \"pricePerMessage\":0.01,\n \"currency\":\"EUR\"\n },\n \"status\":{ \n \"id\":5,\n \"groupId\":3,\n \"groupName\":\"DELIVERED\",\n \"name\":\"DELIVERED_TO_HANDSET\",\n \"description\":\"Message delivered to handset\"\n },\n \"error\":{ \n \"groupId\":0,\n \"groupName\":\"OK\",\n \"id\":0,\n \"name\":\"NO_ERROR\",\n \"description\":\"No Error\",\n \"permanent\":false\n }\n }\n ]\n}", "language": "json" }, { "code": "HTTP/1.1 200 OK\nContent-Type: application/xml\n\n<reportResponse>\n <results>\n <result>\n <bulkId>8c20f086-d82b-48cc-b2b3-3ca5f7aca9fb</bulkId>\n <messageId>ff4804ef-6ab6-4abd-984d-ab3b1387e852</messageId>\n <to>385981178</to>\n <sentAt>2015-02-12T09:58:20.323+0100</sentAt>\n <doneAt>2015-02-12T09:58:20.337+0100</doneAt>\n <smsCount>1</smsCount>\n <mccMnc>21901</mccMnc>\n <price>\n <pricePerMessage>0.01</pricePerMessage>\n <currency>EUR</currency>\n </price>\n <status>\n <id>5</id>\n <groupId>3</groupId>\n <groupName>DELIVERED</groupName>\n <name>DELIVERED_TO_HANDSET</name>\n <description>Message delivered to handset</description>\n </status>\n <error>\n <groupId>0</groupId>\n <groupName>OK</groupName>\n <id>0</id>\n <name>NO_ERROR</name>\n <description>No Error</description>\n <permanent>false</permanent>\n </error>\n </result>\n </results>\n</reportResponse>", "language": "xml" } ] } [/block] # Getting the initial two delivery reports **Request** [block:code] { "codes": [ { "code": "GET /sms/1/reports?limit=2 HTTP/1.1\nHost: api.infobip.com\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\nAccept: application/json", "language": "json" }, { "code": "GET /sms/1/reports?limit=2 HTTP/1.1\nHost: api.infobip.com\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\nAccept: application/xml", "language": "xml" }, { "code": "curl -X GET \n-H 'Accept: application/json' \n-H \"Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\"\nhttps://api.infobip.com/sms/1/reports?limit=2", "language": "curl" }, { "code": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n CURLOPT_URL => \"http://api.infobip.com/sms/1/reports?limit=2\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n CURLOPT_HTTPHEADER => array(\n \"accept: application/json\",\n \"authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\"\n ),\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}", "language": "php" }, { "code": "require 'uri'\nrequire 'net/http'\n\nurl = URI(\"https://api.infobip.com/sms/1/reports?limit=2\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"authorization\"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='\nrequest[\"accept\"] = 'application/json'\n\nresponse = http.request(request)\nputs response.read_body", "language": "ruby" }, { "code": "import http.client\n\nconn = http.client.HTTPSConnection(\"api.infobip.com\")\n\nheaders = {\n 'authorization': \"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\",\n 'accept': \"application/json\"\n }\n\nconn.request(\"GET\", \"/sms/1/reports?limit=2\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))", "language": "python" }, { "code": "HttpResponse<String> response = Unirest.get(\"https://api.infobip.com/sms/1/reports?limit=2\")\n .header(\"authorization\", \"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\")\n .header(\"accept\", \"application/json\")\n .asString();", "language": "java" }, { "code": "var client = new RestClient(\"https://api.infobip.com/sms/1/reports?limit=2\");\n\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"accept\", \"application/json\");\nrequest.AddHeader(\"authorization\", \"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\");\n\nIRestResponse response = client.Execute(request);", "language": "csharp" }, { "code": "var data = null;\n\nvar xhr = new XMLHttpRequest();\nxhr.withCredentials = true;\n\nxhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === this.DONE) {\n console.log(this.responseText);\n }\n});\n\nxhr.open(\"GET\", \"https://api.infobip.com/sms/1/reports?limit=2\");\nxhr.setRequestHeader(\"authorization\", \"Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\");\nxhr.setRequestHeader(\"accept\", \"application/json\");\n\nxhr.send(data);", "language": "javascript" } ] } [/block] **Response** [block:code] { "codes": [ { "code": "HTTP/1.1 200 OK\nContent-Type: application/json\n\n{ \n \"results\":[ \n { \n \"bulkId\":\"80664c0c-e1ca-414d-806a-5caf146463df\",\n \"messageId\":\"bcfb828b-7df9-4e7b-8715-f34f5c61271a\",\n \"to\":\"38598111\",\n \"sentAt\":\"2015-02-12T09:58:20.323+0100\",\n \"doneAt\":\"2015-02-12T09:58:20.337+0100\",\n \"smsCount\":1,\n \"mccMnc\": \"21901\",\n \"price\":{ \n \"pricePerMessage\":0.01,\n \"currency\":\"EUR\"\n },\n \"status\":{ \n \"groupId\":3,\n \"groupName\":\"DELIVERED\",\n \"id\":5,\n \"name\":\"DELIVERED_TO_HANDSET\",\n \"description\":\"Message delivered to handset\"\n },\n \"error\":{ \n \"groupId\":0,\n \"groupName\":\"OK\",\n \"id\":0,\n \"name\":\"NO_ERROR\",\n \"description\":\"No Error\",\n \"permanent\":false\n }\n },\n { \n \"bulkId\":\"08fe4407-c48f-4d4b-a2f4-9ff583c985b8\",\n \"messageId\":\"12db39c3-7822-4e72-a3ec-c87442c0ffc5\",\n \"to\":\"385981112\",\n \"sentAt\":\"2015-02-12T09:58:20.345+0100\",\n \"doneAt\":\"2015-02-12T09:58:20.350+0100\",\n \"smsCount\":1,\n \"price\":{ \n \"pricePerMessage\":0.01,\n \"currency\":\"EUR\"\n },\n \"status\":{ \n \"groupId\":3,\n \"groupName\":\"DELIVERED\",\n \"id\":5,\n \"name\":\"DELIVERED_TO_HANDSET\",\n \"description\":\"Message delivered to handset\"\n },\n \"error\":{ \n \"groupId\":0,\n \"groupName\":\"OK\",\n \"id\":0,\n \"name\":\"NO_ERROR\",\n \"description\":\"No Error\",\n \"permanent\":false\n }\n }\n ]\n}", "language": "json" }, { "code": "HTTP/1.1 200 OK\nContent-Type: application/xml\n\n<reportResponse>\n <results>\n <result>\n <bulkId>80664c0c-e1ca-414d-806a-5caf146463df</bulkId>\n <messageId>bcfb828b-7df9-4e7b-8715-f34f5c61271a</messageId>\n <to>38598111</to>\n <sentAt>2015-02-12T09:58:20.323+0100</sentAt>\n <doneAt>2015-02-12T09:58:20.337+0100</doneAt>\n <smsCount>1</smsCount>\n <mccMnc>21901</mccMnc>\n <price>\n <pricePerMessage>0.01</pricePerMessage>\n <currency>EUR</currency>\n </price>\n <status>\n <groupId>3</groupId>\n <groupName>DELIVERED</groupName>\n <id>5</id>\n <name>DELIVERED_TO_HANDSET</name>\n <description>Message delivered to handset</description>\n </status>\n <error>\n <groupId>0</groupId>\n <groupName>OK</groupName>\n <id>0</id>\n <name>NO_ERROR</name>\n <description>No Error</description>\n <permanent>false</permanent>\n </error>\n </result>\n <result>\n <bulkId>08fe4407-c48f-4d4b-a2f4-9ff583c985b8</bulkId>\n <messageId>12db39c3-7822-4e72-a3ec-c87442c0ffc5</messageId>\n <to>385981112</to>\n <sentAt>2015-02-12T09:58:20.345+0100</sentAt>\n <doneAt>2015-02-12T09:58:20.350+0100</doneAt>\n <smsCount>1</smsCount>\n <price>\n <pricePerMessage>0.01</pricePerMessage>\n <currency>EUR</currency>\n </price>\n <status>\n <groupId>3</groupId>\n <groupName>DELIVERED</groupName>\n <id>5</id>\n <name>DELIVERED_TO_HANDSET</name>\n <description>Message delivered to handset</description>\n </status>\n <error>\n <groupId>0</groupId>\n <groupName>OK</groupName>\n <id>0</id>\n <name>NO_ERROR</name>\n <description>No Error</description>\n <permanent>false</permanent>\n </error>\n </result>\n </results>\n</reportResponse>", "language": "xml" } ] } [/block]

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}