{"__v":11,"_id":"561e11ae50e0a62100955946","category":{"__v":65,"_id":"551546edbc466623002afe72","pages":["551549c0bc466623002afe76","55154afbc859ac2f0001b486","55154daec859ac2f0001b48b","55154f36bc466623002afe7c","551550c5e68daa2f00cff84c","551551d4f854a31900368737","551552e7c859ac2f0001b494","551be4e3a0ee622b0087f69e","5527acc447b71d0d0044e6cd","552f84ad633a5b0d00e99daf","5537533df162750d00bbf7d0","554b3ffd6b448d0d00646d79","55506416fa289c0d0075e4f0","5550aaea00420e0d00d13113","55545865b450630d00041d80","55546906f9a7871700ef8e3c","555c4bf87e271d0d00f3c8c4","5564318c1fa8002300ea4bb0","556ffbd5910c090d00c432b6","557019f4cc189a21001ab258","55703aefcc189a21001ab2a3","5575a3c60b81dc230069c910","558ab69575eaf50d004e4cf3","55b0b41fb3171b3700b1539a","55ba2e48d72d1e1900276ac1","55ba45c804775a2f00628101","55c0b789344dc40d00f55933","55c0b8c837298d0d00088d88","55c0c095344dc40d00f55960","55d43e05b49ab11900328e2e","55d72c8c60fc730d00fc2738","55e6c564d678ad17001589ac","55e9b7780c9b420d0042b275","55f7cf2de32e9b0d00a2d4b6","56094efea7b2590d0089eb95","5613cdbeecbebc21003fa179","5613d8de6a092921004c30b8","5613de7c443514170060dbb6","5613e02823ecf6350009eefc","5613e4271db46e2100e142ad","5614d73c8113d20d00082e3e","561e11ae50e0a62100955946","561e2008efcf8217003adf77","5620f184b244890d001868e0","5620feb740e2c30d0002a899","562105ce40e2c30d0002a8a3","56210b3340e2c30d0002a8b3","56210c74b244890d0018690e","56249a0372ac510d00e49149","56249df185a31117001c53de","56249f0c85a31117001c53e1","5624a9e7c4bf501700bc5ec8","5624b29806e8040d005ed6a0","562507435a86b42300946324","563877854bfb360d00a463c1","5639e0f91846790d0089529a","565327d17d29410d004a0835","565457df04feff210074b17d","56545821ec189235002967af","565485099c4c6d0d00aeda02","5666f1f1f672550d000851ad","566abc7b74d574170070b700","566ad3c7c7c3cd1700265d14","566aede7b5ccc20d00817f71","566aef3147ebaf1900fe65d6"],"project":"54eb50e5615ffc1900305a16","version":"54eb63b859b1172100334fae","sync":{"url":"","isSync":false},"reference":true,"createdAt":"2015-03-27T12:02:53.314Z","from_sync":false,"order":9,"slug":"advanced-tutorials","title":"Advanced tutorials"},"parentDoc":null,"project":"54eb50e5615ffc1900305a16","user":"54eb4fdedf7add210007b29b","version":{"__v":21,"_id":"54eb63b859b1172100334fae","forked_from":"54eb63a1867e1917009b711d","project":"54eb50e5615ffc1900305a16","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"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-10-14T08:26:22.889Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":true,"order":17,"body":"Before receiving a final [Delivery report on your Notify URL](doc:notify-url) you can also receive a **real-time Intermediate delivery report** every time any **non-permanent [GSM error](http://dev.infobip.com/docs/response-codes#section-gsm-error-codes)** occurs. \n\nIntermediate delivery report is set as one of the parameters of the [Fully featured textual message](doc:fully-featured-textual-message) API method. It is pushed on the same **Notify URL** as final Delivery report.\n\nAs soon as any non-permanent GSM error is received (i.e. **`EC_ABSENT_SUBSCRIBER`**) in the Infobip system, it will be forwarded to specified Notify URL on your callback server. Besides GSM errors, you will also receive a real-time pricing information, message status, network and country codes.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Note:\",\n  \"body\": \"For more information regarding **GSM error codes** and **message statuses**, check out [Response codes](doc:response-codes) page.\"\n}\n[/block]\nThe example bellow shows how to set **`intermediateReport`** for instant message information as well as `notifyURL`, `notifyContentType` for the reports and the user's `callbackData`.\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /sms/1/text/advanced HTTP/1.1\\nHost: api.infobip.com\\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\nContent-Type: application/json\\n\\n{\\n   \\\"bulkId\\\":\\\"BULK-ID-123-xyz\\\",\\n   \\\"messages\\\":[\\n      {\\n         \\\"from\\\":\\\"InfoSMS\\\",\\n         \\\"destinations\\\":[\\n            {\\n               \\\"to\\\":\\\"41793026727\\\",\\n               \\\"messageId\\\":\\\"MESSAGE-ID-123-xyz\\\"\\n            },\\n            {\\n               \\\"to\\\":\\\"41793026731\\\"\\n            }\\n         ],\\n         \\\"text\\\":\\\"Mama always said life was like a box of chocolates. You never know what you're gonna get.\\\",\\n         \\\"intermediateReport\\\":true,\\n         \\\"notifyUrl\\\":\\\"http://www.example.com/sms/advanced\\\",\\n         \\\"notifyContentType\\\":\\\"application/json\\\",\\n         \\\"callbackData\\\":\\\"There's no place like home.\\\"\\n      }\\n    ]\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\nThe result you will receive on your Notify URL will have the same structure as **[Final delivery report](doc:sms-delivery-reports)**.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"results\\\": [\\n    {\\n      \\\"bulkId\\\": \\\"BULK-ID-123-xyz\\\",\\n      \\\"messageId\\\": \\\"c9823180-94d4-4ea0-9bf3-ec907e7534a6\\\",\\n      \\\"to\\\": \\\"41793026731\\\",\\n      \\\"sentAt\\\": \\\"2015-10-04T13:01:52.933+0000\\\",\\n      \\\"doneAt\\\": \\\"2015-10-04T13:02:00.134+0000\\\",\\n      \\\"smsCount\\\": 1,\\n      \\\"price\\\": {\\n        \\\"pricePerMessage\\\": 0.0001000000,\\n        \\\"currency\\\": \\\"EUR\\\"\\n      },\\n      \\\"status\\\": {\\n        \\\"groupId\\\": 3,\\n        \\\"groupName\\\": \\\"PENDING\\\",\\n        \\\"id\\\": 1,\\n        \\\"name\\\": \\\"PENDING_WAITING_DELIVERY\\\",\\n        \\\"description\\\": \\\"Message sent, waiting for delivery report\\\"\\n      },\\n      \\\"error\\\": {\\n        \\\"groupId\\\": 1,\\n        \\\"groupName\\\": \\\"HANDSET_ERRORS\\\",\\n        \\\"id\\\": 27,\\n        \\\"name\\\": \\\"EC_ABSENT_SUBSCRIBER\\\",\\n        \\\"description\\\": \\\"Absent Subscriber\\\",\\n        \\\"permanent\\\": false\\n      },\\n      \\\"callbackData\\\":\\\"There's no place like home.\\\"\\n    },\\n    {\\n      \\\"bulkId\\\": \\\"BULK-ID-123-xyz\\\",\\n      \\\"messageId\\\": \\\"MESSAGE-ID-123-xyz\\\",\\n      \\\"to\\\": \\\"41793026727\\\",\\n      \\\"sentAt\\\": \\\"2015-06-04T13:01:52.937+0000\\\",\\n      \\\"doneAt\\\": \\\"2015-06-04T13:02:01.204+0000\\\",\\n      \\\"smsCount\\\": 1,\\n      \\\"price\\\": {\\n        \\\"pricePerMessage\\\": 0.0001000000,\\n        \\\"currency\\\": \\\"EUR\\\"\\n      },\\n      \\\"status\\\": {\\n        \\\"groupId\\\": 3,\\n        \\\"groupName\\\": \\\"PENDING\\\",\\n        \\\"id\\\": 1,\\n        \\\"name\\\": \\\"PENDING_WAITING_DELIVERY\\\",\\n        \\\"description\\\": \\\"Message sent, waiting for delivery report\\\"\\n      },\\n      \\\"error\\\": {\\n        \\\"groupId\\\": 1,\\n        \\\"groupName\\\": \\\"HANDSET_ERRORS\\\",\\n        \\\"id\\\": 27,\\n        \\\"name\\\": \\\"EC_ABSENT_SUBSCRIBER\\\",\\n        \\\"description\\\": \\\"Absent Subscriber\\\",\\n        \\\"permanent\\\": false\\n      },\\n      \\\"callbackData\\\":\\\"There's no place like home.\\\"\\n    }\\n  ]\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]","excerpt":"Receive real-time Intermediate delivery reports on your callback server's Notify URL.","slug":"intermediate-delivery-reports","type":"basic","title":"Intermediate delivery reports"}

Intermediate delivery reports

Receive real-time Intermediate delivery reports on your callback server's Notify URL.

Before receiving a final [Delivery report on your Notify URL](doc:notify-url) you can also receive a **real-time Intermediate delivery report** every time any **non-permanent [GSM error](http://dev.infobip.com/docs/response-codes#section-gsm-error-codes)** occurs. Intermediate delivery report is set as one of the parameters of the [Fully featured textual message](doc:fully-featured-textual-message) API method. It is pushed on the same **Notify URL** as final Delivery report. As soon as any non-permanent GSM error is received (i.e. **`EC_ABSENT_SUBSCRIBER`**) in the Infobip system, it will be forwarded to specified Notify URL on your callback server. Besides GSM errors, you will also receive a real-time pricing information, message status, network and country codes. [block:callout] { "type": "info", "title": "Note:", "body": "For more information regarding **GSM error codes** and **message statuses**, check out [Response codes](doc:response-codes) page." } [/block] The example bellow shows how to set **`intermediateReport`** for instant message information as well as `notifyURL`, `notifyContentType` for the reports and the user's `callbackData`. [block:code] { "codes": [ { "code": "POST /sms/1/text/advanced HTTP/1.1\nHost: api.infobip.com\nAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\nContent-Type: application/json\n\n{\n \"bulkId\":\"BULK-ID-123-xyz\",\n \"messages\":[\n {\n \"from\":\"InfoSMS\",\n \"destinations\":[\n {\n \"to\":\"41793026727\",\n \"messageId\":\"MESSAGE-ID-123-xyz\"\n },\n {\n \"to\":\"41793026731\"\n }\n ],\n \"text\":\"Mama always said life was like a box of chocolates. You never know what you're gonna get.\",\n \"intermediateReport\":true,\n \"notifyUrl\":\"http://www.example.com/sms/advanced\",\n \"notifyContentType\":\"application/json\",\n \"callbackData\":\"There's no place like home.\"\n }\n ]\n}", "language": "json" } ] } [/block] The result you will receive on your Notify URL will have the same structure as **[Final delivery report](doc:sms-delivery-reports)**. [block:code] { "codes": [ { "code": "{\n \"results\": [\n {\n \"bulkId\": \"BULK-ID-123-xyz\",\n \"messageId\": \"c9823180-94d4-4ea0-9bf3-ec907e7534a6\",\n \"to\": \"41793026731\",\n \"sentAt\": \"2015-10-04T13:01:52.933+0000\",\n \"doneAt\": \"2015-10-04T13:02:00.134+0000\",\n \"smsCount\": 1,\n \"price\": {\n \"pricePerMessage\": 0.0001000000,\n \"currency\": \"EUR\"\n },\n \"status\": {\n \"groupId\": 3,\n \"groupName\": \"PENDING\",\n \"id\": 1,\n \"name\": \"PENDING_WAITING_DELIVERY\",\n \"description\": \"Message sent, waiting for delivery report\"\n },\n \"error\": {\n \"groupId\": 1,\n \"groupName\": \"HANDSET_ERRORS\",\n \"id\": 27,\n \"name\": \"EC_ABSENT_SUBSCRIBER\",\n \"description\": \"Absent Subscriber\",\n \"permanent\": false\n },\n \"callbackData\":\"There's no place like home.\"\n },\n {\n \"bulkId\": \"BULK-ID-123-xyz\",\n \"messageId\": \"MESSAGE-ID-123-xyz\",\n \"to\": \"41793026727\",\n \"sentAt\": \"2015-06-04T13:01:52.937+0000\",\n \"doneAt\": \"2015-06-04T13:02:01.204+0000\",\n \"smsCount\": 1,\n \"price\": {\n \"pricePerMessage\": 0.0001000000,\n \"currency\": \"EUR\"\n },\n \"status\": {\n \"groupId\": 3,\n \"groupName\": \"PENDING\",\n \"id\": 1,\n \"name\": \"PENDING_WAITING_DELIVERY\",\n \"description\": \"Message sent, waiting for delivery report\"\n },\n \"error\": {\n \"groupId\": 1,\n \"groupName\": \"HANDSET_ERRORS\",\n \"id\": 27,\n \"name\": \"EC_ABSENT_SUBSCRIBER\",\n \"description\": \"Absent Subscriber\",\n \"permanent\": false\n },\n \"callbackData\":\"There's no place like home.\"\n }\n ]\n}", "language": "json" } ] } [/block]