Alert Pixel
The alert pixel is Pinokio’s push channel for Ad Verification. When you create a project, you can configure an alert_pixel URL. Pinokio fires a request at that URL when something happens that you should know about.
This is how you get notified without polling Scan Results on a timer.
When the pixel fires
Section titled “When the pixel fires”Pinokio fires the alert pixel in two situations:
- Scan completed. Once a scan finishes for a project — whether it was on-demand (
scan_now=1) or part of the recurring schedule (times_per_day) — Pinokio fires the pixel so your side knows results are ready to read. - Change detected on a recurring project. When a project runs on a schedule and Pinokio notices that the ad creative or its placement changed between runs, the pixel fires to flag the change.
The pixel is a notification ping, not a verdict. To get the full detail of what changed or what was detected, follow up with Scan Results and Session Data.
How it works
Section titled “How it works”- You configure an
alert_pixelURL when creating a project. - The project runs — on its schedule (
times_per_day), onscan_now=1at create time, or both. - When a scan completes or a change is detected, Pinokio hits the alert pixel URL.
- Your endpoint reads the request, looks up the project, and triggers whatever you need on your side — page someone, update a status board, write a record into your warehouse, kick off a follow-up API call.
Endpoint requirements
Section titled “Endpoint requirements”There are no strict requirements on what your endpoint does — it just needs to be reachable from Pinokio’s scanning infrastructure. A few practical notes:
- Respond fast. Return
2xxas soon as you have the request. Do the actual processing asynchronously. - Be idempotent. If you build retries into your alerting downstream, identical pings should not double up.
- Expect minimal payload. The alert pixel is a notification ping, not a results dump. Fetch the detail with Scan Results and Session Data.
Example flow
Section titled “Example flow”A typical chain when the pixel fires:
- Pinokio hits your
alert_pixelURL. - Your handler returns
200immediately and queues a follow-up job. - The job calls
/v1/project/scan_results/{project_id}with a tight date range around now and picks up the latest session ID. - The job calls
/v1/project/session/{session_id}to fetch the full scan detail — what was scanned, what changed, what (if anything) was detected. - Your system records the result and notifies whoever needs to act.