Result Delivery
Zenoo supports three methods for delivering verification results. Choose based on your infrastructure, latency requirements, and integration complexity.- Pull via Token
- Webhook Push
- Ping + Pull
Pull via Token
The simplest approach. After initiating a verification, poll the pull endpoint until results are ready.How it works:- Initiate a verification (sync or async). Save the
pulltoken from the response. - Poll
GET /sharable-payload/{pull_token}at intervals. - When results are ready, the endpoint returns
200with the full payload.
Polling Strategy
| Time Window | Poll Interval | Rationale |
|---|---|---|
| 0 to 2 minutes | Every 10 seconds | Most automated checks (screening, registry) complete in this window |
| 2 to 10 minutes | Every 30 seconds | Allows for slower providers or queued checks |
| After 10 minutes | Stop polling | Switch to webhook or contact support |
poll-results.js
Pull Endpoint Response Codes
| Status | Meaning |
|---|---|
200 | Results are ready. Response body contains the full verification payload. |
204 | Still processing. Retry after a short delay. |
404 | Token is invalid or has expired. |
Pull Token Lifetime
Pull tokens remain valid for 30 days after results become available. After that, the token expires and returns
404. Store results in your own system before the token expires.Comparison
| Aspect | Pull via Token | Webhook Push | Ping + Pull |
|---|---|---|---|
| Mechanism | Poll endpoint at intervals | Full results pushed to your endpoint | Lightweight notification, you fetch results |
| Latency | Depends on poll interval (10-30s) | Near-instant | Near-instant notification, you control fetch timing |
| Complexity | Lowest | Medium (webhook endpoint + sig verification) | Medium (webhook + pull call) |
| Reliability | High (you control timing) | Depends on webhook delivery | High (notification + guaranteed pull) |
| Payload size | N/A (you fetch on demand) | Full results in webhook | Small notification, full results on pull |
| Best for | POC, low-volume, simple integrations | Real-time processing, event-driven architectures | Production systems, high-reliability requirements |
Recommendation
For POC and development: Use Pull via Token. It requires no webhook infrastructure. Just initiate a verification and poll for results. For event-driven architectures: Use Webhook Push. If your system is already built around event processing (message queues, serverless functions), receiving full results via webhook fits naturally.Combining Methods
The most resilient pattern uses webhooks with polling as a fallback:- Configure webhooks for instant notification (push or ping+pull).
- Implement a background job that polls for any verifications that have been pending longer than expected.
- If a webhook is missed (endpoint down, network issue), the polling job catches it.
fallback-poller.js
Next Steps
- Webhooks — Set up webhook endpoints and signature verification
- Sync vs Async Flows — Choose between sync and async execution
- Error Handling — Handle failures and timeouts during result retrieval