Retail Extension Subscription
Your service at one extension point: its address, time limit, down answer, consent and the registers it answers. A manifest installs it switched off.
Area: Your app: its install, its user and its doors · Why it is here: contract desk_action; contract partner_capture; contract partner_check; contract partner_fulfil; contract partner_page; contract payer; contract price; guide chapter 09; recipe call_centre_orders; recipe configure_no_code; recipe desk_action; recipe expiry_markdown; recipe optical_prescriptions; recipe rule_guard · Fields: 28
iVendNext's own description: One partner service answering one extension point, with the shop's consent. Only a System Manager keeps these records.
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/Retail%20Extension%20Subscription?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/Retail%20Extension%20Subscription/⟨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/Retail%20Extension%20Subscription" -H "Authorization: token ⟨api key⟩:⟨api secret⟩" \
-H "Content-Type: application/json" -d '{"point": …, "partner_name": …, "label": …, "transport": …}'
Change one with PUT /api/resource/Retail%20Extension%20Subscription/⟨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
s16_pick_route · s17_partner_page · s18_rule_guard · s20_capture · s23_till_guard · s28_merge_and_history · s32_coupon_rules · s34_po_check · s35_call_centre_orders · s36_duty_free · s37_age_check · s38_expiry_markdown · s42_optical_prescriptions · s44_lucky_draw · s45_restaurant_back_office · s46_payment_method_rules · s47_customers_by_store · s48_customer_code_check · s49_post_sale_feedback · s50_required_sale_details · s51_refund_rules
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 |
|---|---|---|---|---|---|---|
| Extension point | point |
Autocomplete | yes | |||
| Partner | partner_name |
Autocomplete | yes | |||
| Label | label |
Data | yes | |||
| Enabled | enabled |
Check | ||||
| Order | sequence |
Int | ||||
| Only for these POS Profiles | scope |
Table MultiSelect | Retail Extension Subscription Profile | |||
| Answered by | transport |
Select | yes | one of: remote, wasm | ||
| Partner module | module |
Link | Retail Extension Module | |||
| Address | endpoint_url |
Data | ||||
| Signing secret | secret |
Password | ||||
| Time to answer (seconds) | timeout_seconds |
Float | ||||
| When the service is down | down_answer |
Autocomplete | ||||
| Settings for this extension point | settings |
Code | ||||
| May ask for a manager's approval | may_approve |
Check | ||||
| Send each line's lot and serial number | check_send_lots |
Check | ||||
| Most a module may take off a line (%) | max_discount_percent |
Percent | ||||
| Where it opens | page_placement |
Select | one of: Till key, Desk page, Till key and Desk page | |||
| Who may open the Desk page | page_roles |
Table MultiSelect | Has Role | |||
| Send the signed-in user's id | page_send_user |
Check | ||||
| Send the sale as the till holds it | page_send_sale |
Check | ||||
| The page may answer with a message | page_returns_message |
Check | ||||
| The page may answer with sale details | page_returns_sale_attributes |
Check | ||||
| Height on the till (%) | page_height |
Int | ||||
| The shop agrees to send these details to this address | consent_given |
Check | ||||
| Recorded by | consent_by |
Data | yes | |||
| Recorded on | consent_on |
Datetime | yes | |||
| Address consented to | consent_url |
Data | yes | |||
| Details consented to | consent_fields |
Small Text | yes |
Table: Has Role
The rows of page_roles. Each row also has idx (its place), parent, parentfield and parenttype.
| Field | Field name | Type | Required | Read-only | Hidden | Links to |
|---|---|---|---|---|---|---|
| Role | role |
Link | Role |
Table: Retail Extension Subscription Profile
The rows of scope. Each row also has idx (its place), parent, parentfield and parenttype.
| Field | Field name | Type | Required | Read-only | Hidden | Links to |
|---|---|---|---|---|---|---|
| POS Profile | pos_profile |
Link | yes | POS Profile |