Zeyora Documentation

Developer guide for Zeyora integrations

A practical implementation checklist for developers connecting external systems to Zeyora.

Developer implementation guide

This guide is written for developers integrating a website, store, form, webchat widget or back-office system with Zeyora. The main rule is simple: keep secrets on the server, validate data before sending it, and log every request and response.

1. Choose the correct integration type

  • Use web-to-lead for website enquiry forms.
  • Use `insert_lead` when another system wants to queue lead data.
  • Use `create_invoice`, `create_credit_note` and `create_receipt` for finance records.
  • Use webchat endpoints for public website chat widgets connected to Omni Inbox.
  • Use lookup endpoints when an external system needs invoice, purchase or task activity context.

2. Never expose credentials in the browser

The `api_key` and `api_secret` must live in your server-side code or environment variables. If a public website form needs to send leads, submit the browser form to your server first, then forward the cleaned payload to Zeyora.

3. Validate and normalize data

Normalize dates to `YYYY-MM-DD`, pass numeric IDs as numbers, avoid empty item rows, include phone country codes, and map dropdown values to the IDs or labels configured in Zeyora.

4. Test with a small payload first

curl -X POST https://your-zeyora-domain.com/api/get_invoice_details \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode 'data={
    "connection":{"api_key":"YOUR_API_KEY","api_secret":"YOUR_API_SECRET"},
    "data":{"invoice_no":"INV-10045"}
  }'

5. Production checklist

  • Use HTTPS only.
  • Store API credentials in environment variables.
  • Log outgoing payloads without exposing secrets.
  • Log Zeyora responses and request IDs.
  • Retry only when the response indicates a temporary/pending condition.
  • Do not retry validation errors without changing the payload.
  • Monitor lead volume, duplicate submissions and spam sources.