{"_id":"589d8d3ea8c63b3b00c36e9c","user":{"_id":"54eb4fdedf7add210007b29b","username":"","name":"Infobip"},"project":"54eb50e5615ffc1900305a16","__v":0,"initVersion":{"_id":"54eb63b859b1172100334fae","version":"1"},"hidden":false,"createdAt":"2017-02-10T09:51:58.664Z","fullscreen":false,"htmlmode":false,"html":"","body":"Get the latest API information right to your inbox! You will receive only API related emails when we upgrade or release new APIs.\n[block:html]\n{\n  \"html\": \"<div class=\\\"container middle-form\\\">\\n  <div class=\\\"row\\\">\\n\\t\\t<div class=\\\"col-md-6\\\">\\n  \\t\\t<form method=\\\"post\\\" name=\\\"newsletter-dev-subscription-form\\\" action=\\\"https://s436121246.t.eloqua.com/e/f2\\\" onsubmit=\\\"setTimeout(function(){if(document.querySelector){var s=document.querySelector('form#form91 input[type=submit]');if(s){s.disabled=true;}}},100);return true;\\\" id=\\\"form91\\\" class=\\\"elq-form form-inline\\\" >\\n    <h4>Subscribe to receive our API updates</h4>\\n    <input value=\\\"newsletter-dev-subscription-form\\\" type=\\\"hidden\\\" name=\\\"elqFormName\\\"  />\\n    <input value=\\\"436121246\\\" type=\\\"hidden\\\" name=\\\"elqSiteId\\\"  />\\n    <input name=\\\"elqCampaignId\\\" type=\\\"hidden\\\"  />\\n    <div id=\\\"formElement0\\\" class=\\\"sc-view form-design-field sc-static-layout item-padding sc-regular-size form-group col-md-6\\\" style=\\\"padding-left:0px;\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper \\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            \\n            <input id=\\\"field0\\\" placeholder=\\\"Email\\\" name=\\\"emailAddress\\\" type=\\\"text\\\" value=\\\"\\\" class=\\\"form-control field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement1\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field1\\\" class=\\\"label-position top \\\" >\\n              UTM Source\\n            </label>\\n            <input id=\\\"field1\\\" name=\\\"uTMSource1\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement2\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field2\\\" class=\\\"label-position top \\\" >\\n              UTM Medium\\n            </label>\\n            <input id=\\\"field2\\\" name=\\\"uTMMedium1\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement3\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field3\\\" class=\\\"label-position top \\\" >\\n              UTM Campaign\\n            </label>\\n            <input id=\\\"field3\\\" name=\\\"uTMCampaign1\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement4\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field4\\\" class=\\\"label-position top \\\" >\\n              UTM Term\\n            </label>\\n            <input id=\\\"field4\\\" name=\\\"uTMTerm1\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement5\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field5\\\" class=\\\"label-position top \\\" >\\n              Language\\n            </label>\\n            <input id=\\\"field5\\\" name=\\\"language1\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement6\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field6\\\" class=\\\"label-position top \\\" >\\n              Prefix Country\\n            </label>\\n            <input id=\\\"field6\\\" name=\\\"prefixCountry1\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement7\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field7\\\" class=\\\"label-position top \\\" >\\n              Country\\n            </label>\\n            <input id=\\\"field7\\\" name=\\\"country\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement8\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field8\\\" class=\\\"label-position top \\\" >\\n              Visitor Key\\n            </label>\\n            <input id=\\\"field8\\\" name=\\\"visitorKey1\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement9\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field9\\\" class=\\\"label-position top \\\" >\\n              Redirect\\n            </label>\\n            <input id=\\\"field9\\\" name=\\\"redirect1\\\" type=\\\"hidden\\\" value=\\\"https://dev.infobip.com/v1/page/newsletter-thank-you\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement10\\\" class=\\\"sc-view hidden form-design-field sc-static-layout  sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <input id=\\\"field10\\\" type=\\\"hidden\\\" name=\\\"hiddenField\\\" value=\\\"Online Forms\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement11\\\" class=\\\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <label for=\\\"field11\\\" class=\\\"label-position top \\\" >\\n              Traffic Source\\n            </label>\\n            <input id=\\\"field11\\\" name=\\\"sFDCLastCampaignID\\\" type=\\\"hidden\\\" value=\\\"\\\" class=\\\"field-size-top-large\\\"  />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\\\"formElement12\\\" class=\\\"sc-view form-design-field sc-static-layout item-padding sc-regular-size form-group\\\" >\\n      <div class=\\\"field-wrapper\\\" >\\n      </div>\\n      <div class=\\\"individual field-wrapper\\\" >\\n        <div class=\\\"_100 field-style\\\" >\\n          <p class=\\\"field-p\\\" >\\n            <input type=\\\"submit\\\" value=\\\"Submit\\\" class=\\\"btn btn-default ask\\\" style=\\\"background-color: #ff6002;;width: 100%;color:white;\\\" />\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n  </form>\\n\\t\\t</div>\\n\\t</div>\\n</div>\\n<style>\\n  .middle-form #btnSubmit {\\n  \\tmargin: 0!important;\\n  }\\n  \\n  .middle-form h4 {\\n  \\tmargin-left: 0px!important;\\n    margin-bottom: 20px!important;\\n  }\\n  \\n  .middle-form .requiredStar {\\n  \\tdisplay: none;\\n  }\\n\\n</style>\"\n}\n[/block]\n----\n#### December 6, 2017\n* We've made our URL Conversion rate tracking feature more customisable by adding an option to  override the base path used in url shortening. You can find out more about it [on a dedicated documentation page](https://dev.infobip.com/docs/url-shortening#section-custom-base-url).\n\n#### November 8, 2017\n* New Infobip **[API library for .NET framework 4.5 and above](/docs/libraries#active-libraries)** is released. Infobip API C# client solution also comes with the InfobipClientExamples project, where you can see, test, change and run examples of some of the common uses of the Infobip API.\n\n#### October 30, 2017\n* **[2FA Application configuration](/docs/2fa-application-setup#section-resource-description)** became a lot more intuitive in Application v2 API by using Time and Limit value formats.\n\n#### October 27, 2017\n* **[Push notifications](/docs/send-push-notifications)** now supports setting of `notifyUrl` when sending a message in order to receive [real time delivery reports](/docs/delivery-reports-on-notify-url). Delivery reports will be forwarded to the provided URL.\n\n#### October 18, 2017\n* New **[OMNI Chat API](/docs/omni-chat-introduction-and-setup)** enables you to send messages across various Chat channels by implementing a single API.\n\n#### October 11, 2017\n* **[Push notifications](/docs/send-push-notifications)** now support setting of message expiry by using `validityPeriod` and `validityPeriodTimeUnit` fields. When the period expires, it will not be allowed for message to be sent or message will be canceled if it's pending in Cloud (APNS or GCM).\n\n#### August 2, 2017\n* **[Push notifications](/docs/send-push-notifications)** now support actionable notifications like predefined Accept & Decline buttons specified in the `group` field.\n\n#### July 26, 2017\n* **[Call transfers](/docs/fully-featured-voice-messages)** are now supported in our fully featured Voice API. By using `callTransfers` you can send interactive message to your subscriber, providing them the opportunity to respond by pressing their phone keys. Key press will redirect call to set number.\n\n#### July 17, 2017\n* **[Number masking](/docs/number-masking)** service for voice calls is a new addition to our long line of API services. Protect privacy of two connected parties by masking their real phone numbers.\n\n#### July 5, 2017\n* **[Fully featured SMS](/docs/fully-featured-textual-message)** now supports `deliveryTimeWindow` option. Choose delivery time window and days of the week when message should be sent.\n\n#### June 20, 2017\n* **[Email API](/docs/fully-featured-email)** now supports `replyTo` address.\n* You can now **[test your PUSH notification](/docs/test-push-notifications-before-sending)** requests before you send out actual notifications. This feature comes in very handy for avoiding mistakes when targeting combination of different recipient segments in the same API request.\n\n#### June 19, 2017\n* **[API key](/docs/api-key)** methods have been enhanced with the `permissions` mechanism which can be used to limit authorization to only subset of methods, like `TFA` for [Two Factor Authorization](/docs/api-key-create). Additionally, you can now generate API keys not only for sub accounts, but also for the current account by passing `_` parameter instead of the (sub)account key.\n\n#### June 5, 2017\n* **[Email API](/docs/fully-featured-email)** now supports intermediate reports which can be forwarded to the URL of your choice in JSON or XML format.\n* **[Viber messaging](/docs/viber-introduction-and-setup)** now supports Viber Public Accounts. Besides Viber Service Messages available throught our [OMNI experience](/docs/omni-channel-viber-example), communication over Viber can be done by using Viber Public Accounts as well. \n* **[Telegram Messenger](/docs/telegram-introduction-and-setup)** best known for high security and speed standards, added to the Infobip's OTT portfolio. \n\n#### March 9, 2017\n* **[Send email method now also returns bulkId](/docs/simple-email)**. `bulkId` will be generated for each request and you can use it to get [delivery reports](/email-delivery-report) or [logs](/docs/email-messages-logs) for all recipients, over a single API call. You can also choose to provide custom `bulkId` which allows you to group multiple API requests under the same `bulkId` and to get logs for all messages included in multiple API send email requests.\n\n#### February 21, 2017\n* **[Voice message conversion tracking](/docs/fully-featured-voice-messages)** option is now available over fully featured voice message API.\n\n####February 10, 2017\n* You can now use the LINE chat API as a part of our OMNI FAILOVER service. See the **[LINE OMNI tutorial](/docs/omni-channel-line-example)** to learn how.\n \n####February 7, 2017\n* The [**LINE chat API**](/docs/line-chat-api-introduction-and-setup) has been released. At his point, it is still in a 'proof of concept' stage and for testing purposes only. Features in this release include:\n * sending messages\n * receiving messages\n * setup for receiving messages\n\n####January 19, 2017\n* Couple of new PUSH methods have been introduced as an upgrade from existing send push notification messages methods. Use new [**send push notification**](/docs/send-push-notifications) method to send one PUSH notification to one or multiple recipients; [**send bulk push notification**](/docs/send-bulk-push-notifications) when sending a large amount of notifications or target different user segments with different messages to optimize data traffic and increase performance.\n\n####January 16, 2017\n* Besides receiving SMS messages via [HTTP forward 'POST' method](/docs/action#section-create-http-post-forward-example), you can now choose to **[receive messages via 'GET' method](/docs/action#section-create-http-get-forward-example)**. By using 'GET' method, message data is forwarded as query string parameters, rather than JSON body.\n * Example: `someurl.com/message?sender=%sender%&text=%cleanText%`\n\n####January 3, 2017\n* It is now possible to **[buy and manage your numbers](/docs/receive-sms-introduction)** over API. Additionally, we have exposed a complete set of API methods for numbers configuration where you can choose a preferred method for receiving incoming SMS messages (pull or HTTP forward method).","slug":"api-changelog","title":"API changelog"}

API changelog


Get the latest API information right to your inbox! You will receive only API related emails when we upgrade or release new APIs. [block:html] { "html": "<div class=\"container middle-form\">\n <div class=\"row\">\n\t\t<div class=\"col-md-6\">\n \t\t<form method=\"post\" name=\"newsletter-dev-subscription-form\" action=\"https://s436121246.t.eloqua.com/e/f2\" onsubmit=\"setTimeout(function(){if(document.querySelector){var s=document.querySelector('form#form91 input[type=submit]');if(s){s.disabled=true;}}},100);return true;\" id=\"form91\" class=\"elq-form form-inline\" >\n <h4>Subscribe to receive our API updates</h4>\n <input value=\"newsletter-dev-subscription-form\" type=\"hidden\" name=\"elqFormName\" />\n <input value=\"436121246\" type=\"hidden\" name=\"elqSiteId\" />\n <input name=\"elqCampaignId\" type=\"hidden\" />\n <div id=\"formElement0\" class=\"sc-view form-design-field sc-static-layout item-padding sc-regular-size form-group col-md-6\" style=\"padding-left:0px;\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper \" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n \n <input id=\"field0\" placeholder=\"Email\" name=\"emailAddress\" type=\"text\" value=\"\" class=\"form-control field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement1\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field1\" class=\"label-position top \" >\n UTM Source\n </label>\n <input id=\"field1\" name=\"uTMSource1\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement2\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field2\" class=\"label-position top \" >\n UTM Medium\n </label>\n <input id=\"field2\" name=\"uTMMedium1\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement3\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field3\" class=\"label-position top \" >\n UTM Campaign\n </label>\n <input id=\"field3\" name=\"uTMCampaign1\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement4\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field4\" class=\"label-position top \" >\n UTM Term\n </label>\n <input id=\"field4\" name=\"uTMTerm1\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement5\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field5\" class=\"label-position top \" >\n Language\n </label>\n <input id=\"field5\" name=\"language1\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement6\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field6\" class=\"label-position top \" >\n Prefix Country\n </label>\n <input id=\"field6\" name=\"prefixCountry1\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement7\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field7\" class=\"label-position top \" >\n Country\n </label>\n <input id=\"field7\" name=\"country\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement8\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field8\" class=\"label-position top \" >\n Visitor Key\n </label>\n <input id=\"field8\" name=\"visitorKey1\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement9\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field9\" class=\"label-position top \" >\n Redirect\n </label>\n <input id=\"field9\" name=\"redirect1\" type=\"hidden\" value=\"https://dev.infobip.com/v1/page/newsletter-thank-you\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement10\" class=\"sc-view hidden form-design-field sc-static-layout sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <input id=\"field10\" type=\"hidden\" name=\"hiddenField\" value=\"Online Forms\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement11\" class=\"sc-view hidden form-design-field sc-static-layout item-padding sc-regular-size\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <label for=\"field11\" class=\"label-position top \" >\n Traffic Source\n </label>\n <input id=\"field11\" name=\"sFDCLastCampaignID\" type=\"hidden\" value=\"\" class=\"field-size-top-large\" />\n </p>\n </div>\n </div>\n </div>\n <div id=\"formElement12\" class=\"sc-view form-design-field sc-static-layout item-padding sc-regular-size form-group\" >\n <div class=\"field-wrapper\" >\n </div>\n <div class=\"individual field-wrapper\" >\n <div class=\"_100 field-style\" >\n <p class=\"field-p\" >\n <input type=\"submit\" value=\"Submit\" class=\"btn btn-default ask\" style=\"background-color: #ff6002;;width: 100%;color:white;\" />\n </p>\n </div>\n </div>\n </div>\n </form>\n\t\t</div>\n\t</div>\n</div>\n<style>\n .middle-form #btnSubmit {\n \tmargin: 0!important;\n }\n \n .middle-form h4 {\n \tmargin-left: 0px!important;\n margin-bottom: 20px!important;\n }\n \n .middle-form .requiredStar {\n \tdisplay: none;\n }\n\n</style>" } [/block] ---- #### December 6, 2017 * We've made our URL Conversion rate tracking feature more customisable by adding an option to override the base path used in url shortening. You can find out more about it [on a dedicated documentation page](https://dev.infobip.com/docs/url-shortening#section-custom-base-url). #### November 8, 2017 * New Infobip **[API library for .NET framework 4.5 and above](/docs/libraries#active-libraries)** is released. Infobip API C# client solution also comes with the InfobipClientExamples project, where you can see, test, change and run examples of some of the common uses of the Infobip API. #### October 30, 2017 * **[2FA Application configuration](/docs/2fa-application-setup#section-resource-description)** became a lot more intuitive in Application v2 API by using Time and Limit value formats. #### October 27, 2017 * **[Push notifications](/docs/send-push-notifications)** now supports setting of `notifyUrl` when sending a message in order to receive [real time delivery reports](/docs/delivery-reports-on-notify-url). Delivery reports will be forwarded to the provided URL. #### October 18, 2017 * New **[OMNI Chat API](/docs/omni-chat-introduction-and-setup)** enables you to send messages across various Chat channels by implementing a single API. #### October 11, 2017 * **[Push notifications](/docs/send-push-notifications)** now support setting of message expiry by using `validityPeriod` and `validityPeriodTimeUnit` fields. When the period expires, it will not be allowed for message to be sent or message will be canceled if it's pending in Cloud (APNS or GCM). #### August 2, 2017 * **[Push notifications](/docs/send-push-notifications)** now support actionable notifications like predefined Accept & Decline buttons specified in the `group` field. #### July 26, 2017 * **[Call transfers](/docs/fully-featured-voice-messages)** are now supported in our fully featured Voice API. By using `callTransfers` you can send interactive message to your subscriber, providing them the opportunity to respond by pressing their phone keys. Key press will redirect call to set number. #### July 17, 2017 * **[Number masking](/docs/number-masking)** service for voice calls is a new addition to our long line of API services. Protect privacy of two connected parties by masking their real phone numbers. #### July 5, 2017 * **[Fully featured SMS](/docs/fully-featured-textual-message)** now supports `deliveryTimeWindow` option. Choose delivery time window and days of the week when message should be sent. #### June 20, 2017 * **[Email API](/docs/fully-featured-email)** now supports `replyTo` address. * You can now **[test your PUSH notification](/docs/test-push-notifications-before-sending)** requests before you send out actual notifications. This feature comes in very handy for avoiding mistakes when targeting combination of different recipient segments in the same API request. #### June 19, 2017 * **[API key](/docs/api-key)** methods have been enhanced with the `permissions` mechanism which can be used to limit authorization to only subset of methods, like `TFA` for [Two Factor Authorization](/docs/api-key-create). Additionally, you can now generate API keys not only for sub accounts, but also for the current account by passing `_` parameter instead of the (sub)account key. #### June 5, 2017 * **[Email API](/docs/fully-featured-email)** now supports intermediate reports which can be forwarded to the URL of your choice in JSON or XML format. * **[Viber messaging](/docs/viber-introduction-and-setup)** now supports Viber Public Accounts. Besides Viber Service Messages available throught our [OMNI experience](/docs/omni-channel-viber-example), communication over Viber can be done by using Viber Public Accounts as well. * **[Telegram Messenger](/docs/telegram-introduction-and-setup)** best known for high security and speed standards, added to the Infobip's OTT portfolio. #### March 9, 2017 * **[Send email method now also returns bulkId](/docs/simple-email)**. `bulkId` will be generated for each request and you can use it to get [delivery reports](/email-delivery-report) or [logs](/docs/email-messages-logs) for all recipients, over a single API call. You can also choose to provide custom `bulkId` which allows you to group multiple API requests under the same `bulkId` and to get logs for all messages included in multiple API send email requests. #### February 21, 2017 * **[Voice message conversion tracking](/docs/fully-featured-voice-messages)** option is now available over fully featured voice message API. ####February 10, 2017 * You can now use the LINE chat API as a part of our OMNI FAILOVER service. See the **[LINE OMNI tutorial](/docs/omni-channel-line-example)** to learn how. ####February 7, 2017 * The [**LINE chat API**](/docs/line-chat-api-introduction-and-setup) has been released. At his point, it is still in a 'proof of concept' stage and for testing purposes only. Features in this release include: * sending messages * receiving messages * setup for receiving messages ####January 19, 2017 * Couple of new PUSH methods have been introduced as an upgrade from existing send push notification messages methods. Use new [**send push notification**](/docs/send-push-notifications) method to send one PUSH notification to one or multiple recipients; [**send bulk push notification**](/docs/send-bulk-push-notifications) when sending a large amount of notifications or target different user segments with different messages to optimize data traffic and increase performance. ####January 16, 2017 * Besides receiving SMS messages via [HTTP forward 'POST' method](/docs/action#section-create-http-post-forward-example), you can now choose to **[receive messages via 'GET' method](/docs/action#section-create-http-get-forward-example)**. By using 'GET' method, message data is forwarded as query string parameters, rather than JSON body. * Example: `someurl.com/message?sender=%sender%&text=%cleanText%` ####January 3, 2017 * It is now possible to **[buy and manage your numbers](/docs/receive-sms-introduction)** over API. Additionally, we have exposed a complete set of API methods for numbers configuration where you can choose a preferred method for receiving incoming SMS messages (pull or HTTP forward method).