Skip to main content

Webhooks & job notifications

Long-running work in CataZenta (imports, exports, bulk updates) runs as jobs. Integrators should treat jobs as the primary async pattern.

  1. Start work — POST export/import job (Integration or Job API).
  2. Receive job_id in the response.
  3. Poll GET /v1/jobs/{id} until status is completed, failed, or cancelled.
  4. Read job items for per-SKU errors and payloads.

See recipes: Poll an export job · Export to channel.

Example poll loop

JOB_ID="your-job-uuid"
TOKEN="your-access-token"

until true; do
STATUS=$(curl -s "https://api.catazenta.com/v1/jobs/${JOB_ID}" \
-H "Authorization: Bearer ${TOKEN}" | jq -r '.data.status')
echo "status: $STATUS"
case "$STATUS" in
completed|failed|cancelled) break ;;
*) sleep 5 ;;
esac
done

Outbound webhooks (roadmap)

CataZenta is extending event notifications for:

Event (planned)Use case
export_job.completedTrigger downstream ERP update
export_job.failedAlert channel ops
import_job.completedKick off enrichment workflow
product.publishedSync to search index

When enabled for your tenant, configuration will include:

  • HTTPS callback URL
  • Signing secret for X-CataZenta-Signature verification
  • Retry policy (exponential backoff)

Contact your account team to join the webhooks preview.

Until webhooks are enabled

NeedApproach
Near-real-time export statusPoll job API every 5–15s
Dashboard visibilityPIM UI job monitor
AutomationScheduled poll + MCP list_export_jobs