{"__v":15,"_id":"56ab93620b9e0b0d00616245","category":{"__v":4,"_id":"5693b82173f48f0d0075c90d","pages":["56ab8a0f678b58170031ebab","56ab93620b9e0b0d00616245","56af63088be2ea0d00b4886e","56d02fc81991690b003b2a8e"],"project":"568fce2a04440a1700e4cb47","version":"568fce2b04440a1700e4cb4a","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-01-11T14:11:45.170Z","from_sync":false,"order":8,"slug":"inbound-message-forwarding","title":"Forwarding"},"parentDoc":null,"project":"568fce2a04440a1700e4cb47","user":"55116f88e2990b0d00fb0552","version":{"__v":20,"_id":"568fce2b04440a1700e4cb4a","project":"568fce2a04440a1700e4cb47","createdAt":"2016-01-08T14:56:43.101Z","releaseDate":"2016-01-08T14:56:43.101Z","categories":["568fce2b04440a1700e4cb4b","568fd1b8b700ce0d002f4b1c","568fd23804440a1700e4cb5b","568fd2444719c119002ce5d8","568ff21204440a1700e4cbc1","5693732c8aa8040d009f2c28","5693738393445b0d00abdad0","5693740093445b0d00abdad1","56937445974aaa0d001ca699","5693b82173f48f0d0075c90d","5694c4cd1005590d0062cb25","569f854466a5640d00efa54c","56a264cdd15dd70d008d825b","56aa56bf318e6c1700a19ddb","56b0e6347ae4550d000627bd","56b200c0f48f270d00e0de6f","56b200c6f48f270d00e0de70","56b22a9665ddf50d0076ba40","56e92ef71996862200fd7f42","574d6577fb835c0e00ca316a"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-01-29T16:29:22.042Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"If your system needs to know whether URLs inserted into SMS messages have been clicked, check how long the clicker took between receiving the message and clicking the URL or discover details about the clicker's operating system, you can have details forwarded to a URL of your choosing. Simply enable Intelligent Tracking in the [Intelligent Messaging configuration page](https://apps.dynmark.com/DD/UserPortal/Home/IntelligentMessaging) of the Dynmark User Portal, then add your URL in the [Intelligent Tracking Configuration page](https://apps.dynmark.com/DD/IntelligentTracking/Home/ConfigureTracking#ForwardingTab) and choose whether you prefer JSON or XML format data.\n\n##Security\nAlthough you can specify an HTTP URL, we recommend that you specify HTTPS to ensure data security. We use only TLS 2048 bit encryption. We do not support SSL 2.0 or 3.0. Note that we cannot accommodate self signed certificates.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Tracked URL Click Handler\"\n}\n[/block]\nWe forward click-through events as an HTTP POST containing either JSON or XML. Each POST contains a batch of up to a maximum of 100 click events per submission, therefore you may receive any number of click details from 1 to 100 per request and possibly multiple requests. We attempt to serialise the requests to minimise contention for your servers, but we run a load balanced environment and if we receive multiple clicks across several servers there is a possibility of simultaneous requests arriving on your platform.\n\nYour URL handler must be publicly accessible and be capable of processing the received message within 10 seconds. Once you have processed you should return an HTTP 200 OK response. If we don’t receive a 200 OK response within 10 seconds the submission will be considered failed and be retried later. \n\nWe strongly recommend a buffer and then process model to ensure that you can respond successfully within the 10 seconds window. In this model you would accept the forwarding click through information and queue it into queuing system such as MSMQ, ActiveMQ or RabbitMQ for processing in batches.\n\n#Body\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Property\",\n    \"h-1\": \"Description\",\n    \"h-2\": \"Type\",\n    \"0-0\": \"<code>RequestIdentifier</code><span class=\\\"c-danger\\\">*</span>\",\n    \"1-0\": \"<code>ClickDetails</code><span class=\\\"c-danger\\\">*</span>\",\n    \"0-1\": \"A unique identifier for this request\",\n    \"1-1\": \"An array of 1 - 100 ClickDetail objects\",\n    \"0-2\": \"\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\n#ClickDetail Object\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"<code>TrackingUrlId</code><span class=\\\"c-danger\\\">*</span>\",\n    \"1-0\": \"<code>UserId</code>\",\n    \"2-0\": \"<code>PhoneNumber</code>\",\n    \"3-0\": \"<code>TrackedUrl</code>\",\n    \"4-0\": \"<code>ClientIdentifier</code>\",\n    \"5-0\": \"<code>UserAgent</code>\",\n    \"6-0\": \"<code>Referrer</code>\",\n    \"7-0\": \"<code>DeviceName</code>\",\n    \"8-0\": \"<code>DeviceManufacturer\",\n    \"9-0\": \"<code>IsWarningPageServed</code>\",\n    \"10-0\": \"<code>ShortenDate</code>\",\n    \"11-0\": \"<code>ClickDate</code>\",\n    \"11-1\": \"The date and time of the click\",\n    \"10-1\": \"The date and time the original URL was set for tracking\",\n    \"9-1\": \"If the tracked URL has been marked as unsafe, we will display a warning page on which the user be required to click an additional link to proceed to the tracked URL\",\n    \"8-1\": \"The clickers handset device manufacturers name if available (not widely supported in mobile browsers)\",\n    \"7-1\": \"The clickers handset device name if available (not widely supported in mobile browsers)\",\n    \"6-1\": \"The referrer IP address if available\",\n    \"5-1\": \"The user agent string of the clicker\",\n    \"4-1\": \"The original client identifier (e.g. a campaign name) if supplied\",\n    \"3-1\": \"The tracked URL the click relates to\",\n    \"2-1\": \"The international format phone number the click relates to e.g. for the UK: 447709000000\",\n    \"1-1\": \"The Id of the user who requested the tracked URL the click relates to\"\n  },\n  \"cols\": 2,\n  \"rows\": 12\n}\n[/block]\n##Examples\n\nThe format of the data (JSON or XML) that's forwarded to your handler URL is set in the Forwarding tab of the [Intelligent Tracking Configuration](https://apps.dynmark.com/DD/IntelligentTracking/Home/ConfigureTracking#ForwardingTab) page on the Dynmark User Portal.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"\\n{\\n\\t\\\"RequestIdentifier\\\":\\\"1c712b5c-af6d-4527-b6d7-5ebb199f174d\\\",\\n\\t\\\"ClickDetails\\\":\\n\\t[{\\n\\t\\t\\\"TrackedUrl\\\":\\\"http://www.dynmark.com/community.aspx?user=1\\\",\\n\\t\\t\\\"ClientIdentifier\\\":\\\"My Identifier\\\",\\n\\t\\t\\\"TrackingUrlId\\\":716005,\\n\\t\\t\\\"UserId\\\":1,\\n\\t\\t\\\"PhoneNumber\\\":\\\"447700900000\\\",\\n\\t\\t\\\"UserAgent\\\":\\\"Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) \\t\\t\\t\\tAppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.446 Mobile\\\",\\n\\t\\t\\\"Referrer\\\":\\\"127.0.0.1\\\",\\\"DeviceName\\\":\\\"BlackBerry 9800\\\",\\n\\t\\t\\\"DeviceManufacturer\\\":\\\"BlackBerry\\\",\\n\\t\\t\\\"IsWarningPageServed\\\":false,\\n\\t\\t\\\"ShortenDate\\\":\\\"\\\\/Date(1382000166965)\\\\/\\\",\\n\\t\\t\\\"ClickDate\\\":\\\"\\\\/Date(1382000769338)\\\\/\\\"\\n\\t},{\\n\\t\\t\\\"TrackedUrl\\\":\\\"http://www.dynmark.com/community.aspx?user=2\\\",\\n\\t\\t\\\"ClientIdentifier\\\":\\\"My Identifier\\\",\\n\\t\\t\\\"TrackingUrlId\\\":716006,\\n\\t\\t\\\"UserId\\\":1,\\n\\t\\t\\\"PhoneNumber\\\":\\\"447700900001\\\",\\n\\t\\t\\\"UserAgent\\\":\\\"Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) \\t\\t\\t\\tAppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.446 Mobile\\\",\\n\\t\\t\\\"Referrer\\\":\\\"127.0.0.1\\\",\\n\\t\\t\\\"DeviceName\\\":\\\"BlackBerry 9800\\\",\\n\\t\\t\\\"DeviceManufacturer\\\":\\\"BlackBerry\\\",\\n\\t\\t\\\"IsWarningPageServed\\\":false,\\n\\t\\t\\\"ShortenDate\\\":\\\"\\\\/Date(1382000166965)\\\\/\\\",\\n\\t\\t\\\"ClickDate\\\":\\\"\\\\/Date(1382000769617)\\\\/\\\"\\n\\t}]\\n}\\n\\n\",\n      \"language\": \"javascript\",\n      \"name\": \"JSON\"\n    },\n    {\n      \"code\": \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<ClickForward xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" \\t\\t\\t\\t\\txmlns:xsd=\\\"http://www.w3.org/2001/XMLSchema\\\">\\n  <RequestIdentifier>44e2c952-ff50-4774-a013-3fd1380355e7</RequestIdentifier>\\n  <ClickDetails>\\n    <ClickDetail>\\n      <TrackingUrlId>716007</TrackingUrlId>\\n      <UserId>1</UserId>\\n      <PhoneNumber>447700900000</PhoneNumber>\\n      <UserAgent>Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) \\t\\t\\t\\tAppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.446 Mobile\\n      </UserAgent>\\n      <Referrer>127.0.0.1</Referrer>\\n      <DeviceName>BlackBerry 9800</DeviceName>\\n      <DeviceManufacturer>BlackBerry</DeviceManufacturer>\\n      <IsWarningPageServed>false</IsWarningPageServed>\\n      <ShortenDate>2013-10-17T09:02:13.3924392Z</ShortenDate>\\n      <ClickDate>2013-10-17T09:12:15.7199392Z</ClickDate>\\n      <TrackedUrl>http://www.bbc.co.uk</TrackedUrl>\\n      <ClientIdentifier>My Identifier</ClientIdentifier>\\n    </ClickDetail>\\n    <ClickDetail>\\n      <TrackingUrlId>716008</TrackingUrlId>\\n      <UserId>1</UserId>\\n      <PhoneNumber>447700900001</PhoneNumber>\\n      <UserAgent>Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) \\t\\t\\t\\tAppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.446 Mobile\\n      </UserAgent>\\n      <Referrer>127.0.0.1</Referrer>\\n      <DeviceName>BlackBerry 9800</DeviceName>\\n      <DeviceManufacturer>BlackBerry</DeviceManufacturer>\\n      <IsWarningPageServed>false</IsWarningPageServed>\\n      <ShortenDate>2013-10-17T09:02:13.3936892Z</ShortenDate>\\n      <ClickDate>2013-10-17T09:12:15.9911892Z</ClickDate>\\n      <TrackedUrl>http://www.bbc.co.uk</TrackedUrl>\\n      <ClientIdentifier>My Identifier</ClientIdentifier>\\n    </ClickDetail>\\n  </ClickDetails>\\n</ClickForward>\\n\",\n      \"language\": \"xml\"\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"url-click-forwarding","type":"basic","title":"URL Click Forwarding"}

URL Click Forwarding


If your system needs to know whether URLs inserted into SMS messages have been clicked, check how long the clicker took between receiving the message and clicking the URL or discover details about the clicker's operating system, you can have details forwarded to a URL of your choosing. Simply enable Intelligent Tracking in the [Intelligent Messaging configuration page](https://apps.dynmark.com/DD/UserPortal/Home/IntelligentMessaging) of the Dynmark User Portal, then add your URL in the [Intelligent Tracking Configuration page](https://apps.dynmark.com/DD/IntelligentTracking/Home/ConfigureTracking#ForwardingTab) and choose whether you prefer JSON or XML format data. ##Security Although you can specify an HTTP URL, we recommend that you specify HTTPS to ensure data security. We use only TLS 2048 bit encryption. We do not support SSL 2.0 or 3.0. Note that we cannot accommodate self signed certificates. [block:api-header] { "type": "basic", "title": "Tracked URL Click Handler" } [/block] We forward click-through events as an HTTP POST containing either JSON or XML. Each POST contains a batch of up to a maximum of 100 click events per submission, therefore you may receive any number of click details from 1 to 100 per request and possibly multiple requests. We attempt to serialise the requests to minimise contention for your servers, but we run a load balanced environment and if we receive multiple clicks across several servers there is a possibility of simultaneous requests arriving on your platform. Your URL handler must be publicly accessible and be capable of processing the received message within 10 seconds. Once you have processed you should return an HTTP 200 OK response. If we don’t receive a 200 OK response within 10 seconds the submission will be considered failed and be retried later. We strongly recommend a buffer and then process model to ensure that you can respond successfully within the 10 seconds window. In this model you would accept the forwarding click through information and queue it into queuing system such as MSMQ, ActiveMQ or RabbitMQ for processing in batches. #Body [block:parameters] { "data": { "h-0": "Property", "h-1": "Description", "h-2": "Type", "0-0": "<code>RequestIdentifier</code><span class=\"c-danger\">*</span>", "1-0": "<code>ClickDetails</code><span class=\"c-danger\">*</span>", "0-1": "A unique identifier for this request", "1-1": "An array of 1 - 100 ClickDetail objects", "0-2": "" }, "cols": 2, "rows": 2 } [/block] #ClickDetail Object [block:parameters] { "data": { "0-0": "<code>TrackingUrlId</code><span class=\"c-danger\">*</span>", "1-0": "<code>UserId</code>", "2-0": "<code>PhoneNumber</code>", "3-0": "<code>TrackedUrl</code>", "4-0": "<code>ClientIdentifier</code>", "5-0": "<code>UserAgent</code>", "6-0": "<code>Referrer</code>", "7-0": "<code>DeviceName</code>", "8-0": "<code>DeviceManufacturer", "9-0": "<code>IsWarningPageServed</code>", "10-0": "<code>ShortenDate</code>", "11-0": "<code>ClickDate</code>", "11-1": "The date and time of the click", "10-1": "The date and time the original URL was set for tracking", "9-1": "If the tracked URL has been marked as unsafe, we will display a warning page on which the user be required to click an additional link to proceed to the tracked URL", "8-1": "The clickers handset device manufacturers name if available (not widely supported in mobile browsers)", "7-1": "The clickers handset device name if available (not widely supported in mobile browsers)", "6-1": "The referrer IP address if available", "5-1": "The user agent string of the clicker", "4-1": "The original client identifier (e.g. a campaign name) if supplied", "3-1": "The tracked URL the click relates to", "2-1": "The international format phone number the click relates to e.g. for the UK: 447709000000", "1-1": "The Id of the user who requested the tracked URL the click relates to" }, "cols": 2, "rows": 12 } [/block] ##Examples The format of the data (JSON or XML) that's forwarded to your handler URL is set in the Forwarding tab of the [Intelligent Tracking Configuration](https://apps.dynmark.com/DD/IntelligentTracking/Home/ConfigureTracking#ForwardingTab) page on the Dynmark User Portal. [block:code] { "codes": [ { "code": "\n{\n\t\"RequestIdentifier\":\"1c712b5c-af6d-4527-b6d7-5ebb199f174d\",\n\t\"ClickDetails\":\n\t[{\n\t\t\"TrackedUrl\":\"http://www.dynmark.com/community.aspx?user=1\",\n\t\t\"ClientIdentifier\":\"My Identifier\",\n\t\t\"TrackingUrlId\":716005,\n\t\t\"UserId\":1,\n\t\t\"PhoneNumber\":\"447700900000\",\n\t\t\"UserAgent\":\"Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) \t\t\t\tAppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.446 Mobile\",\n\t\t\"Referrer\":\"127.0.0.1\",\"DeviceName\":\"BlackBerry 9800\",\n\t\t\"DeviceManufacturer\":\"BlackBerry\",\n\t\t\"IsWarningPageServed\":false,\n\t\t\"ShortenDate\":\"\\/Date(1382000166965)\\/\",\n\t\t\"ClickDate\":\"\\/Date(1382000769338)\\/\"\n\t},{\n\t\t\"TrackedUrl\":\"http://www.dynmark.com/community.aspx?user=2\",\n\t\t\"ClientIdentifier\":\"My Identifier\",\n\t\t\"TrackingUrlId\":716006,\n\t\t\"UserId\":1,\n\t\t\"PhoneNumber\":\"447700900001\",\n\t\t\"UserAgent\":\"Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) \t\t\t\tAppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.446 Mobile\",\n\t\t\"Referrer\":\"127.0.0.1\",\n\t\t\"DeviceName\":\"BlackBerry 9800\",\n\t\t\"DeviceManufacturer\":\"BlackBerry\",\n\t\t\"IsWarningPageServed\":false,\n\t\t\"ShortenDate\":\"\\/Date(1382000166965)\\/\",\n\t\t\"ClickDate\":\"\\/Date(1382000769617)\\/\"\n\t}]\n}\n\n", "language": "javascript", "name": "JSON" }, { "code": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ClickForward xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \t\t\t\t\txmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n <RequestIdentifier>44e2c952-ff50-4774-a013-3fd1380355e7</RequestIdentifier>\n <ClickDetails>\n <ClickDetail>\n <TrackingUrlId>716007</TrackingUrlId>\n <UserId>1</UserId>\n <PhoneNumber>447700900000</PhoneNumber>\n <UserAgent>Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) \t\t\t\tAppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.446 Mobile\n </UserAgent>\n <Referrer>127.0.0.1</Referrer>\n <DeviceName>BlackBerry 9800</DeviceName>\n <DeviceManufacturer>BlackBerry</DeviceManufacturer>\n <IsWarningPageServed>false</IsWarningPageServed>\n <ShortenDate>2013-10-17T09:02:13.3924392Z</ShortenDate>\n <ClickDate>2013-10-17T09:12:15.7199392Z</ClickDate>\n <TrackedUrl>http://www.bbc.co.uk</TrackedUrl>\n <ClientIdentifier>My Identifier</ClientIdentifier>\n </ClickDetail>\n <ClickDetail>\n <TrackingUrlId>716008</TrackingUrlId>\n <UserId>1</UserId>\n <PhoneNumber>447700900001</PhoneNumber>\n <UserAgent>Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) \t\t\t\tAppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.446 Mobile\n </UserAgent>\n <Referrer>127.0.0.1</Referrer>\n <DeviceName>BlackBerry 9800</DeviceName>\n <DeviceManufacturer>BlackBerry</DeviceManufacturer>\n <IsWarningPageServed>false</IsWarningPageServed>\n <ShortenDate>2013-10-17T09:02:13.3936892Z</ShortenDate>\n <ClickDate>2013-10-17T09:12:15.9911892Z</ClickDate>\n <TrackedUrl>http://www.bbc.co.uk</TrackedUrl>\n <ClientIdentifier>My Identifier</ClientIdentifier>\n </ClickDetail>\n </ClickDetails>\n</ClickForward>\n", "language": "xml" } ] } [/block]