All guides

Connect Custom website to Qadiyo

For web developers · Developers

Send enquiries from your own code with one HTTPS request. Includes duplicate protection and optional signing.

  1. 1

    Create an API key in Qadiyo

    Sign in to Qadiyo and open Settings, then Integrations, then the Developer tab.

    Under API keys, create a key and name it after where it will be used, for example "Website form".

    Copy the key straight away. For your security it is shown only once. If you lose it, revoke it and create a new one.

  2. 2

    Send each enquiry from your server

    Post the form's answers from your server, never from the visitor's browser, so the key stays secret.

    Add an Idempotency-Key header with your own submission id. If the same enquiry is sent twice, Qadiyo keeps one.

    curl -X POST https://qadiyo.com/api/v1/webhooks/contact-form \
      -H "Authorization: Bearer <your API key>" \
      -H "Content-Type: application/json" \
      -H "Idempotency-Key: <submission id>" \
      -d '{"full_name":"Ahmed Khan","email":"ahmed@example.com","message":"Employment dispute"}'
  3. 3

    Match your form fields to Qadiyo

    Send each answer under the name on the left. Only a name plus an email or phone number is required; the rest is optional but helps the firm reply faster.

    full_name                 Full name
    email                     Email address
    phone                     Phone or WhatsApp number
    message                   What the enquiry is about
    matter_type               Practice area, e.g. Employment
    contact_type              individual, business or another_firm
    preferred_contact_method  email, phone or whatsapp
    deadlines                 Any hearing or deadline dates
    consent                   true when the privacy box is ticked
    page                      The page the form was on
  4. 4

    Read the reply

    202 means received. 200 means a duplicate that was already received (safe). 400 means a field is invalid, 401 means the key is wrong or revoked, 429 means too many requests: wait and try again.

  5. 5

    Send a test enquiry

    Fill in your form as if you were a client and submit it.

    In Qadiyo, open Leads. The enquiry appears within a few seconds with the source Website.

    If it does not arrive, open Settings, then Integrations, then My integrations. Recent enquiries received shows every attempt and any error.