vendor/id5 · vendor documented
ID5 mobile S2S needs partner, ts, bundle, ver, ip, and ua
ID5 documents the in-app fetch as POST JSON to /ga/v1. partner is the Partner Number. Cookie sync GIFs are not this pack. CTV /gc/v1 is vendor/id5-ctv.
partner is the ID5 Partner Number
A /ga/v1 body with no partner is not tied to an ID5 account.
What this pack matches
Rules
Codes are stable. A finding in CI, MCP, or the playground lands on the same id.
| Field | Required | What it checks | Rule ids | Source |
|---|---|---|---|---|
partner |
required | It is the ID5 Partner Number. ID5 documents partner as required on /ga/v1. Fix: Set partner to the Partner Number ID5 issued. Use 173 only while testing. | vendor.id5.body.partner.missingvendor.id5.body.partner.emptyvendor.id5.body.partner.invalid |
docs |
ts |
required | It is the request timestamp. ID5 documents ts as required, as an ISO-8601 string with a time zone offset. Fix: Set ts to an ISO-8601 timestamp with offset, such as 2013-02-01T12:52:34+09:00. | vendor.id5.body.ts.missingvendor.id5.body.ts.empty |
docs |
bundle |
required | It is the app identifier. ID5 documents bundle as required: package name on Android, numeric ID on iOS. Fix: Set bundle to the app package name or iOS numeric ID. | vendor.id5.body.bundle.missingvendor.id5.body.bundle.empty |
docs |
ver |
required | It is the application version. ID5 documents ver as required. Fix: Set ver to the app version string. | vendor.id5.body.ver.missingvendor.id5.body.ver.empty |
docs |
ip |
required | It is the IPv4 address closest to the device. ID5 documents ip as required. Fix: Send the device-facing IPv4 address, unhashed. | vendor.id5.body.ip.missingvendor.id5.body.ip.empty |
docs |
ua |
required | It is the device default-browser user agent. ID5 documents ua as required. Fix: Send the raw user agent string, unhashed. | vendor.id5.body.ua.missingvendor.id5.body.ua.empty |
docs |
hem |
optional | It is a SHA-256 hash of the cleansed email. ID5 documents hem as sha256 when present. Fix: Cleanse the email, hash it with SHA-256, and send 64 lowercase hex characters. | vendor.id5.body.hem.emptyvendor.id5.body.hem.invalid |
docs |
phone |
optional | It is a SHA-256 hash of the cleansed phone number. Fix: Cleanse the phone number, hash it with SHA-256, and send 64 lowercase hex characters. | vendor.id5.body.phone.emptyvendor.id5.body.phone.invalid |
docs |
body.unhashed_email |
required | A field carries what looks like a raw email address. ID5 documents hem as a SHA-256 digest of a cleansed email. Fix: Cleanse the email, hash it with SHA-256, and send it as hem. | vendor.id5.body.unhashed_email |
docs |
Validate a payload
pixellint validate json @payload.json --rulepack vendor/id5
Try this failing payload in the playground. ID5 mobile S2S missing partner.
{"ts":"2013-02-01T12:52:34+09:00","bundle":"com.foo.mygame","ver":"1.2.0","ip":"198.51.100.42","ua":"Mozilla/5.0"}
cargo install pixellint
·
npm install pixellint