Introduction
Welcome to the new home of Vungle’s API Documentation! We’ll be migrating our API docs to this one easy-to-find-and-search location.
Shout-out to Slate for this API documentation template!
Post Install Event Data (DEPRECATED)
The purpose of the event data API is for advertisers to help Vungle learn which users are valuable to you. By sending us event information within your app, Vungle can optimise your campaigns so that you get the users that matter to you.
This endpoint allows advertisers to send user-level event data to Vungle as they happen.
Deprecation
This document is deprecated, please find the latest at Vungle Support.
HTTP Request
http(s)://ingest.vungle.com/eventData
POST
curl -H "Content-Type: application/json" -d '{"data": "myData"}' "http://ingest.vungle.com/eventData"
We support POST
requests with the following body content-types:
application/x-www-form-urlencoded
application/json
GET
curl "http://ingest.vungle.com/eventData?data=myData"
We also support GET
requests using query parameters
Required Parameters
An example POST body:
{
"device_idfa" : "236A005B-700F-4889-B9CE-99",
"vungle_app_id" : "myVungleApp",
"event_id" : "595d73ee3087f51025000040",
"trk" : "tune",
"event_trk_id" : "uniqueID1234",
"event_name" : "tutorial-complete"
}
And example GET request:
curl "http://ingest.vungle.com/eventData?device_idfa=236A005B-700F-4889-B9CE-999EAB2B605D&vungle_app_id=myVungleApp&trk=tune&event_trk_id=uniqueID1234&event_name=tutorial-complete"
The above payloads would return a
200 OK
response, and are examples of the minimum request you can send to Vungle.
Each event that you send us has both required and optional parameters. We’ll reject any requests that don’t have the necessary parameters, and we’ll tell you which ones are missing. See the errors section for more details.
Device Identifier
We require at least ONE device identifier per event, so you don’t need to pass them all.
Parameter | Description |
---|---|
device_idfa | Apple IDFA or Google Play Services Advertising ID |
device_mac | Mac Address in canonical format, either hyphen or colon separated |
device_other_id | Some other unique identifier, e.g. Android ID, hashed identifiers, etc. |
Other Required Parameters
You need to pass all of the remaining required parameters for us to accept the event.
Parameter | Description |
---|---|
vungle_app_id | App ID as given on the Vungle dashboard |
trk | Source of the incoming event. In the case of a direct server to server integration, you should self-identifier, else you should identify the tracking provider, e.g. ‘tune’, 'kochava’,'adjust’,'appsflyer’,etc. |
event_trk_id | This should be an identifier that is unique to the event. Used for deduplication. |
event_id | The Vungle event identifier. If this event was performed by a user driven to your app by a Vungle campaign, this event identifier was passed to you in the view or click tracker. |
event_name | This should be a string that identifies the event that is consistent across users, e.g. 'tutorial-complete’, 'level-3’, etc. |
Optional Parameters
Example optional parameters:
{
"event_currency" : "usd",
"event_iap_event" : true,
"device_limit_track" : false,
"event_datetime" : "2015-03-15T13:27:36Z",
"device_ip" : "201.15.25.11",
"device_make" : "samsung",
"device_model" : "sm-g900v",
"device_carrier" : "verizon",
"device_language" : "es",
"device_country" : "us",
"device_user_agent" : "Mozilla/5.0 (Linux; U; Android 2.2.1; fr-fr; HTC_DesireZ_A7272 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko), Version/4.0 Mobile Safari/533.1",
"device_os" : "4.3.2",
"event_value" : 1.99
}
These parameters are optional, but they are important for Vungle to determine which are the users of value, so you should pass as many of them as possible.
Parameter | Default | Description |
---|---|---|
event_currency | 'usd' |
If event_value is an explicit monetary value, define the currency here. |
event_iap_event | false |
Set a flag here to state whether the event was an in-app-purchase. |
device_limit_track | false |
Boolean for whether device has 'limit ad tracking’ set. |
event_datetime | Timestamp of event reception | Timestamp of event occurrance. If timezone not specified, UTC assumed. Timestamp should be in ISO 8601 format. |
device_ip | None | IP address of device. |
device_make | None | Device manufacturer. |
device_model | None | Device model. |
device_carrier | None | Device cell carrier. |
device_language | None | ISO 639-1 language code of device (2 digits). |
device_country | None | ISO 3166 country code of source IP (2 digits). |
device_user_agent | None | Device’s browser user agent. |
device_os | None | Operating system version number. |
event_value | None | Some value associated with the event. Should be relative to other events that you send to Vungle. |
Error Codes
If we hit you back with a
400 BAD REQUEST
, then check the response body, we’ll do our best to diagnose what’s wrong, which is most likely going to be a missing field or two, e.g.
curl "http://ingest.vungle.com/eventData?trk=tune&event_trk_id=uniqueID1234"
Would return a response that looks like this:
{
"missing_fields":
[
"vungle_app_id",
"trk",
"event_trk_id",
"event_name",
"device_idfa | device_mac | device_other_id"
]
}
We return the following codes:
Error Code | Meaning |
---|---|
200 | OK – Thanks! |
400 | Bad Request – Your request sucks. Most likely you’ve omitted one of the required parameters. Check the response body for clues. |
500 | Internal Server Error – We had a problem with our server. Try again later. |
503 | Service Unavailable – We’re temporarially offline for maintanance. Please try again later. |