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.