Loading documentation…
{{ error }}
Synchronizing data
Combine full snapshots, weekly changes, and deletion identifiers safely.
Use stable IDs and idempotent upserts so repeated imports produce the same local result. Bulk data is optimized for the existing organizer application; its changes cover the current week from Sunday midnight in the server timezone, not the last seven days or a durable stream of events.
Start with a snapshot
Read /orders/all_data.json for compact order history. Read /{event_id}/order_lines/all_data/2.json for an event’s attendee history. Store the scope, IDs, and payload in one successful local transaction before treating the import as complete.
curl --user "$PAYDRO_EMAIL:$PAYDRO_PASSWORD" \
--header 'Accept: application/json' \
"$PAYDRO_ORIGIN/$EVENT_ID/order_lines/all_data/2.json"Apply changed records
Poll the matching changed_data resource. Changes include records modified since Sunday midnight in the server timezone; pending payment actions can also keep orders in the result. The weekly boundary resets the window, so recovering after a missed window requires a new full import.
Attendee changes check both order and order line modification dates. A global attendee snapshot covers events starting within the last two years; use the event scoped form for an older event.
Apply removals
Delta responses contain deleted_items, a list of order or order line IDs from the existing deletion tracking. Cancelled attendee IDs are also collected for recent cancelled orders. Remove matching local records by ID, not by a name or email. Periodically reconcile a full paginated view; the delta is not an indefinite deletion audit log.
Use HTTP caching
Save ETag and send If-None-Match on subsequent requests to supported snapshot resources. A 304 has no new payload; keep your previous data. Validators belong to the same origin, credentials, and exact path. Honor compression and cache headers.
Handle compact maps
Attendee responses are event keyed objects with event, orderlines, and products. Orders contain separate events and orders maps plus event_ids and event_scope. Reset cached data when the event scope changes. Respect the snapshot limits.