iVendNextDevelopers Request a sandbox

Webhook

A signed call to your service when a record changes. A manifest can install one.

Area: The retailer's setup · Why it is here: recipe webhook_receiver · Fields: 18

Read and write it

Every call runs as your app's own user, with its key in one header, at the retailer's own address. The user reads and writes only what its role allows: your app's user, and the rights the retailer gives it.

Read a list (only name unless you ask for fields):

curl -s "https://⟨site⟩/api/resource/Webhook?fields=%5B%22*%22%5D&limit_page_length=20" \
  -H "Authorization: token ⟨api key⟩:⟨api secret⟩"

Read one, with its tables:

curl -s "https://⟨site⟩/api/resource/Webhook/⟨name⟩" -H "Authorization: token ⟨api key⟩:⟨api secret⟩"

Create one (the required fields first), if your app's role may:

curl -s -X POST "https://⟨site⟩/api/resource/Webhook" -H "Authorization: token ⟨api key⟩:⟨api secret⟩" \
  -H "Content-Type: application/json" -d '{"webhook_doctype": …, "request_url": …, "request_method": …}'

Change one with PUT /api/resource/Webhook/⟨name⟩ and the fields you change; a table sent there replaces its rows, so send its existing rows too. All the record calls and their answers: the API reference.

Samples that use it

s1_warranty

Fields

Read from the product at POS 2.1.0.667 (till app 60147699c): its own fields, the fields iVendNext adds to it, and iVendNext's changes to any of them. Read-only fields are set by iVendNext; a hidden one is not on the form but can be read. Every record also has name (its id, in the address), owner, creation, modified, modified_by and docstatus (0 a draft, 1 submitted, 2 cancelled), all read-only.

Field Field name Type Required Read-only Hidden Links to
DocType webhook_doctype Link yes DocType
Doc Event webhook_docevent Select one of: after_insert, on_update, on_submit, on_cancel, on_trash, on_update_after_submit, on_change
Enabled enabled Check
Condition condition Small Text
Request URL request_url Small Text yes
Is Dynamic URL? is_dynamic_url Check
Request Timeout timeout Int
Background Jobs Queue background_jobs_queue Autocomplete
Request Method request_method Select yes one of: POST, PUT, DELETE
Request Structure request_structure Select one of: Form URL-Encoded, JSON
Enable Security enable_security Check
Webhook Secret webhook_secret Password
Headers webhook_headers Table Webhook Header
Data webhook_data Table Webhook Data
JSON Request Body webhook_json Code
Select Document preview_document Dynamic Link
Meets Condition? meets_condition Data
Request Body preview_request_body Code

Table: Webhook Data

The rows of webhook_data. Each row also has idx (its place), parent, parentfield and parenttype.

Field Field name Type Required Read-only Hidden Links to
Fieldname fieldname Select yes
Key key Data yes

Table: Webhook Header

The rows of webhook_headers. Each row also has idx (its place), parent, parentfield and parenttype.

Field Field name Type Required Read-only Hidden Links to
Key key Small Text
Value value Small Text

All record types · What you can use

This record type in the kit