IPQS Postback API allows you to alter previous Device Fingerprint API requests to our API based on new or additional data for the purposes of receiving a new fraud score. This API also supports conversion tracking and allows for the conversion status to be updated.
You may want to update aspects of a device fingerprint request after it happens, such as confirming the conversion date and conversion status. This API allows you to update your request. Requests via this API can be made via POST or GET. For the purposes of our documentation we'll demonstrate GET requests. Parameters passed to the API wrapped as an update array will update the original request. Parameters outside of the update array will be used to look up the request. Custom tracking variables passed with your initial request must be listed on your account's custom tracking variables in order for the postback update to be successful.
Ideally all postback requests will be submitted using the original "request_id". This is a system unique ID that represents a single call to the API. However we realize that not every caller will be able to store the ID for each request. As a result, the API allows for custom variables to be used instead. Below is your base postback URL (Note this includes your API key. Please keep your API key secret):
Let's say we had a "request_id" of DWwJ and wanted to update the "transactionID" associated with that request to be 100. Here's how we'd do that:
Let's say we didn't have the "request_id" of the request, but we knew that the request had a "transactionID" of 99 before. Here's how we'd update it (Note: type is required, see the table below for acceptable values):
Sometimes when calling the API you may have multiple requests to different trackers with the same values. You can specify which tracker this request applies to like such:
Let's say we want to report a converted click along with the conversion date (Y-m-d or Y-m-d H:i:s) and we knew that the request had a "request_id" of "0v1EAC". Here's how we'd update it (Note: type is required, see the table below for acceptable values):
Below is a list of accepted parameters, a brief description and a listing of their required formatting.
|Parameter Name||Expected Values||Description||Update Example|
|ConversionStatus||Boolean, string true or string false||Allows you to flag a request as having lead to a conversion.||update[ConversionStatus]=true|
|ConversionDate||Date formatted Y-m-d or Y-m-d H:i:s||Allows you to set a date the request was made a conversion.||update[ConversionDate]=2017-01-01|
|ClickDate||Date formatted Y-m-d or Y-m-d H:i:s||Allows you to alter the first seen date on a device.||update[ClickDate]=2017-01-01|
|user_agent||String||Updates the user agent string.||update[user_agent]=Lynx/2.8.7dev.9%20libwww-FM/2.14|
|language||String||Updates the user's browser chosen language.||update[language]=en-US|
|request_id||String||A unique ID is provided for each request. This can be used for lookups.||request_id=DWwJ|
|type||String (proxy, email or devicetracker)||Required for request lookups when you don't provide a "request_id". Fetches a request of this type.||type=proxy|
|tracker_id||Integer (number associated with your tracker in the IPQS device tracker management screen.)||This is an optional parameter used to narrow the scope of a variable lookup for a device tracker postback.||tracker_id=233|
|Your custom variables (as defined in account settings):|
|Please login to display your custom variables for this API.|