Overview
Revalidate notifies connected frontends when catalog content changes. Enad tracks which products, categories, and collections are out of date for each registered endpoint, then sends a JSON payload to the registered URL so cached pages can be refreshed, static paths rebuilt, or a CDN invalidated. Typical use cases:- On-demand ISR or static regeneration in Next.js, Nuxt, or similar frameworks
- Purging or warming CDN cache entries for product and category URLs
- Keeping headless storefronts in sync without polling Enad
How it works
- Registration: One or more revalidate endpoints are configured for the app (URL, optional auth header, optional channel, sync interval).
- Change detection: When a product, category, or collection is created or updated in Enad, it is marked as needing sync for every endpoint on that app. Channel-specific product content changes also mark the parent product.
- Scheduling: A background scheduler runs every second. Endpoints whose
next_sync_athas passed are picked up and their next run is rescheduled byinterval_minutes. - Delivery: For each dirty item, Enad sends a separate
POSTrequest to the registered URL with a typed JSON body. Items are sent concurrently. - Acknowledgement: A successful response (
2xx) clearsneed_syncfor that item and recordslast_sync_at. Failed items stay dirty and are retried on the next sync cycle for that endpoint.
Register an endpoint
Register revalidate endpoints in Enad Admin under System → Storefront revalidate. See Storefront revalidate in Admin for the full UI walkthrough. Each endpoint needs:- URL: HTTPS endpoint that accepts
POSTrequests with a JSON body. - Authentication (optional): Custom header name and value sent on every request.
- Channel (optional): When set, product payloads use channel-specific name, slug, and translations instead of the base product fields.
- Interval: How often Enad attempts to deliver pending updates for this endpoint (default: 15 minutes).
HTTP request
Enad calls the registered endpoint with the following contract.Timeouts
Redirects are not followed.
Authentication
When authentication is enabled on an endpoint, Enad adds a single custom header to every request. The header name and value are configured on the integration (for exampleAuthorization: Bearer <token> or x-api-key: <secret>).
The handler should validate this header before processing the payload.
URL requirements
For security, Enad only delivers to public HTTPS URLs. The following are rejected:- Non-HTTPS schemes (
http://, etc.) - Credentials in the URL (
https://user:pass@example.com/...) localhostand hostnames ending in.localhost,.local, or.internal- Private, loopback, link-local, and carrier-grade NAT IP addresses (including when resolved from a hostname)