ZapBounce and Make
Make bills per operation, and its iterator module makes it very easy to turn one scenario run into several thousand operations without noticing.
An iterator over a list, each item hitting an HTTP module, costs one operation per address per module. Two modules inside the loop doubles it.
The iterator multiplies operations by the length of your list
A scenario that iterates a thousand-row array through an HTTP module and a router consumes at least two thousand operations. On a mid-tier plan that is a meaningful share of a month.
The alternative is an aggregator: collect the addresses into one array, submit them as a job in a single HTTP call, and handle the results in a second scenario that polls for completion.
That turns thousands of operations into a handful, and it lets the server pace probes properly, which produces better results as well as a smaller bill.
How the data moves
Aggregate before the HTTP module
An Array Aggregator collects the iterator's output into one bundle, which the jobs endpoint takes in a single call.
Poll for completion
A scheduled scenario calls
GET /v1/jobs/{id}and starts the results scenario once the job completes.Route on the verdict
A router after the results parsing sends valid, catch-all and unknown down different paths without re-checking anything.
Use a data store to avoid re-verification
Make's data stores can hold a verdict per address, so a scenario that runs daily does not re-check what it checked yesterday.
Setting it up
- Build the scenario with an iterator feeding an Array Aggregator rather than an HTTP module.
- Submit the aggregated array to the jobs endpoint in one HTTP call.
- Create a second scheduled scenario that polls the job status.
- Parse the results and route on the verdict.
- Store verdicts in a Make data store keyed by address to avoid repeat checks.
- Keep the key in a Make connection rather than inline in the HTTP module.
Make: common questions
Why is my Make scenario so expensive?
Almost always an iterator feeding modules one item at a time. Aggregate and batch instead.
How do I know a job is done?
A scheduled second scenario that polls the job status. Polling with a sleep inside one scenario costs operations for the whole wait.
Can I cache verdicts?
Yes, in a data store keyed by address. Check it before calling out and the daily scenario stops re-verifying stable data.
Check a Make export today
100 free checks a month, no card. Unknown results are refunded.