Search the Omeda Knowledge Base
Email Clicks
Summary
This service retrieves Omail data related to clicks on links in emails using various parameters.
Base Resource URI
Production: https://ows.omeda.com/webservices/rest/brand/{brandAbbreviation}/omail/click/search/* Testing: https://ows.omedastaging.com/webservices/rest/brand/{brandAbbreviation}/omail/click/search/*
brandAbbreviationis the abbreviation for the brand
Technical Requirements
The HTTP header must contain the following elements: x-omeda-appid a unique id provided to you by Omeda to access your data. The request will fail without a valid id.content-typea content type supported by this resource. See Supported Content Types for more details. If omitted, the default content type is application/json.
Supported Content Types
If omitted, the default content type is application/json.JSONapplication/json
JSON is the preferred data exchange format, because it is lightweight and, in most cases, faster to process and utilizes less bandwidth. There are many available open-source JSON libraries available. See json.org for details.
Supported HTTP Methods
There is one HTTP method supported:POSTSee W3C’s POSTspecs for details.
Field Definition
The following table describes the hierarchical data elements.
Search Elements Submitted – Used for the POST request
Element Name | Required? | Data Type | Description |
---|---|---|---|
DeploymentName | optional* | string | text match for deployment name. *required if TrackId is not present |
TrackId | optional* | string | text match for deployment trackId. *required if DeploymentName is not present |
StartDate | optional* | string | deployments have been clicked after this date. Format: ‘yyyy-MM-dd HH:mm’, Ex. 2012-01-03 09:30. *required if EndDate is present |
EndDate | optional* | string | deployments have been clicked prior to this date. Format: ‘yyyy-MM-dd HH:mm’, Ex. 2012-02-03 21:30. *required if StartDate is present |
Deployment Click Elements Returned
Element Name | Required ? | Data Type | Description |
---|---|---|---|
DeploymentName | required | string | User-specified deployment name |
TrackId | required | string | Omail deployment tracking number. |
SentDate | required | string | Date that the deployment was sent |
Splits | required | string | JSON element containing one or more Split elements (see below) |
Split Elements Returned
Element Name | Required ? | Data Type | Description |
---|---|---|---|
Split | required | string | Split number |
SubjectLine | required | string | Email subject line for this split |
Links | required | string | JSON element containing one or more Link elements (see below) |
Link Elements Returned
Element Name | Required ? | Data Type | Description |
---|---|---|---|
TotalClicks | required | Integer | Sum of all of the NumberOfClicks returned in the Clicks array (see Click Elements Returned below) |
LinkURL | required | string | The URL of the link that was clicked |
Clicks | required | string | JSON element containing one or more Click elements (see Click Elements Returned below) |
TotalUnrealClicks | required | Integer | Sum of all of the NumberOfUnrealClicks (bot clicks) returned in the unrealClicks array (see UnrealClick Elements Returned below) |
UnrealClicks | required | string | JSON element containing one or more unrealClick (bot clicks) elements (see UnrealClick Elements Returned below) |
Click Elements Returned
Element Name | Required ? | Data Type | Description |
---|---|---|---|
NumberOfClicks | required | Integer | Number of the times that this customer clicked the link |
ClickDate | required | string | Date and time which the customer clicked the link |
FirstName | required | string | first name |
LastName | required | string | last name |
CustomerId | required | string | Internal customer id (for use on certain databases) |
EncryptedCustomerId | required | string | The Encrypted Customer Id for the customer |
EmailAddress | required | string | Email address for which the click occurred |
Keyword | optional | string | Keyword for the link which was clicked |
Category | optional | string | Category for the link which was clicked |
CategoryValue | optional | string | Category value for the link which was clicked |
UnrealClick Elements Returned
Element Name | Required ? | Data Type | Description |
---|---|---|---|
UnrealClicks | required | string | JSON element containing one or more UnrealClick (bot) Responses (see UnrealClick Reasons Returned below) |
FirstName | required | string | first name |
LastName | required | string | last name |
CustomerId | required | string | Internal customer id (for use on certain databases) |
EncryptedCustomerId | required | string | The Encrypted Customer Id for the customer |
EmailAddress | required | string | Email address for which the click occurred |
Keyword | optional | string | Keyword for the link which was clicked |
Category | optional | string | Category for the link which was clicked |
CategoryValue | optional | string | Category value for the link which was clicked |
UnrealClick Reasons Returned
Element Name | Required ? | Data Type | Description |
---|---|---|---|
NumberOfUnrealClicks | required | Integer | Number of the times that this customer (bot) clicked the link |
ClickDate | required | string | Date and time which the customer (bot) clicked the link |
Reason | required | string | Code for unreal click reason (see UnrealClick Reason Codes Legend below) |
UnrealClick Reason Codes Legend
Reason code | Reason Code Description | Which Clicks Are Negated? |
---|---|---|
1 | Two clicks within 2000 milliseconds (2 seconds) | Offending Click |
2 | More than 10 clicks within 30 seconds | All Clicks |
3 | Percentage of fake clicks exceeds 50% | First Click where the Second Click met Reason Code 1 |
4 | Number of unique source IP address exceeds 12 | All Clicks |
5 | Total number of clicks received exceeds 200 | All Clicks |
6 | Number of unique user agents exceeds 9 | All Clicks |
7 | User agent of click is within pre-defined list | Offending Click |
8 | Source IP address of click is within Ignored IPs list {tracking.agent_ip_range_ignore_list} | Offending Click |
9 | Source IP address of click is within pre-defined list | Offending Click |
10 | Link was clicked 5 seconds after send | Offending Click |
Request Example #1
This example would search the Omail system for clicks for the deployment with TrackId ‘OMP171010002S’ which occurred between 2017-10-26 00:25 and 2017-10-28 23:59.
{ "TrackId": "OMP171010002S", "StartDate": "2017-10-26 00:25", "EndDate": "2017-10-28 23:59" }
Request Example #2
This example would search the Omail system for clicks for the deployment with name ‘Requal Attempt’ which occurred between 2017-10-26 00:25 and 2017-10-28 23:59.
{ "DeploymentName": "Requal Attempt", "StartDate": "2017-10-26 00:25", "EndDate": "2017-10-28 23:59" }
Response Example
JSON Example
{ "DeploymentName":"Verification Test", "splits":[ { "SubjectLine":"Verification Tests", "links":[ { "TotalClicks":67, "TotalUnrealClicks":5, "LinkURL":"http://my.omeda.com", "clicks":[ { "EncryptedCustomerId":"", "Category":"", "NumberOfClicks":32, "Keyword":"", "FirstName":"Elist", "CategoryValue":"", "CustomerId":"", "LastName":"Omeda", "ClickDate":"2011-05-23 16:10", "EmailAddress":"elist@omeda.com" }, { "EncryptedCustomerId":"", "Category":"", "NumberOfClicks":1, "Keyword":"", "FirstName":"Jeff", "CategoryValue":"", "CustomerId":"", "LastName":"Bezos", "ClickDate":"2011-05-23 16:14", "EmailAddress":"jbezos@omeda.com" } ], "unrealClicks":[ { "EncryptedCustomerId":"", "Category":"", "Keyword":"", "FirstName":"John", "CategoryValue":"", "CustomerId":"123", "LastName":"Doe", "UnrealClicks":[ { "NumberOfUnrealClicks":1, "ClickDate":"2011-05-23 16:10", "Reason":1 }, { "NumberOfUnrealClicks":2, "ClickDate":"2011-05-23 16:10", "Reason":3 } ], "EmailAddress":"jdoe@omeda.com" }, { "EncryptedCustomerId":"", "Category":"", "Keyword":"", "FirstName":"Bill", "CategoryValue":"", "CustomerId":"", "LastName":"Gates", "UnrealClicks":[ { "NumberOfUnrealClicks":1, "ClickDate":"2011-05-23 16:10", "Reason":1 }, { "NumberOfUnrealClicks":1, "ClickDate":"2011-05-23 16:10", "Reason":3 } ], "EmailAddress":"bgates@omeda.com" } ] } ], "Split":"1" } ], "SentDate":"2011-05-23 00:00", "TrackId":"CGM110520002" }
Failed Submission
A failed POST submission may be due to several factors:
Status | Description |
---|---|
400 Bad Request | Typically, this error occurs when the request does not follow the specifications. |
403 Forbidden | Typically, this error occurs when the credentials are erroneous. Potentially, an incorrect x-omeda-appid. |
404 Not Found | Typically, this error occurs with a malformed URL or the resource that is searched for is not found. This can occur if a BrandAbbreviation submitted is not found in our system. |
405 Method Not Allowed | Typically, this error occurs when the resource accessed is not allowed by the HTTP Method utilized. Make sure you employ the correct HTTP Method (POST) for this request. |
This is not an exhaustive list of errors, but common ones. If an error occurs repeatedly, please contact your Omeda representative.
JSON Example
{ "SubmissionId" : "C95AE90C-BEC6-41F2-91E2-2BA9168D1D1F", "Errors" : [ { "Error": "The AppId submitted is forbidden access." } ] }