Appearance
public-distributor-portal
26 endpoints.
GET /api/v1/public/website/procure/catalogue
Catalogue
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
q | query | no | ||
category | query | no | ||
brand | query | no | ||
distributor | query | no | ||
in_stock | query | no | boolean | |
sort | query | no | string | |
page | query | no | integer | |
per_page | query | no | integer | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/product/{product_id}
Product
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
product_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/accounts
List Accounts
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}PUT /api/v1/public/website/procure/accounts
Save Account
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"distributor_id": {
"type": "integer",
"title": "Distributor Id"
},
"account_number": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"title": "Account Number"
},
"rep_email": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Rep Email"
}
},
"type": "object",
"required": [
"distributor_id",
"account_number"
],
"title": "AccountIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}DELETE /api/v1/public/website/procure/accounts/{distributor_id}
Delete Account
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
distributor_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/orders
List Orders
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/orders
Create Orders
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"lines": {
"items": {
"properties": {
"offer_id": {
"type": "integer",
"title": "Offer Id"
},
"qty": {
"type": "integer",
"title": "Qty"
}
},
"type": "object",
"required": [
"offer_id",
"qty"
],
"title": "OrderLineIn"
},
"type": "array",
"maxItems": 200,
"minItems": 1,
"title": "Lines"
},
"channels": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"maxProperties": 50,
"title": "Channels"
},
"origin": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
],
"title": "Origin"
},
"buyer_reference": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Buyer Reference"
},
"delivery_method": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Delivery Method"
},
"delivery_address": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Delivery Address"
},
"notes": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Notes"
},
"quote_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Quote Id"
}
},
"type": "object",
"required": [
"lines"
],
"title": "OrderIn"
}201 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/orders/{order_id}/received
Order Received
The buyer confirms the goods arrived — the last step of the timeline.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
order_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/directory
Directory
Every brand, category and distributor in the catalogue with how many products each has. Names and counts only — no price or stock — so it is public, like the catalogue's own facets.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/pricelist
Pricelist
Every live offer matching the catalogue's filters, one row per distributor offer, for the buyer to load into their own systems. Rows, not a CSV body: the proxy to the books carries JSON, and the website writes the file.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
q | query | no | ||
category | query | no | ||
brand | query | no | ||
distributor | query | no | ||
in_stock | query | no | boolean | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/quotes
List Quotes
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/quotes
Create Quote
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"lines": {
"items": {
"properties": {
"offer_id": {
"type": "integer",
"title": "Offer Id"
},
"qty": {
"type": "integer",
"title": "Qty",
"default": 1
}
},
"type": "object",
"required": [
"offer_id"
],
"title": "QuoteLineIn"
},
"type": "array",
"maxItems": 200,
"minItems": 1,
"title": "Lines"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Title"
},
"margin_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Margin Pct"
}
},
"type": "object",
"required": [
"lines"
],
"title": "QuoteCreateIn"
}201 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/quotes/{quote_id}
Get Quote
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
quote_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}PUT /api/v1/public/website/procure/quotes/{quote_id}
Update Quote
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
quote_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Title"
},
"client_name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Client Name"
},
"client_company": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Client Company"
},
"client_email": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Client Email"
},
"notes": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
],
"title": "Notes"
},
"margin_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Margin Pct"
},
"valid_until": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Valid Until"
},
"lines": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array",
"maxItems": 200,
"title": "Lines"
},
"add_lines": {
"items": {
"properties": {
"offer_id": {
"type": "integer",
"title": "Offer Id"
},
"qty": {
"type": "integer",
"title": "Qty",
"default": 1
}
},
"type": "object",
"required": [
"offer_id"
],
"title": "QuoteLineIn"
},
"type": "array",
"maxItems": 200,
"title": "Add Lines"
}
},
"type": "object",
"title": "QuoteUpdateIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}DELETE /api/v1/public/website/procure/quotes/{quote_id}
Delete Quote
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
quote_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/quotes/{quote_id}/duplicate
Duplicate Quote
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
quote_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
201 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/quotes/{quote_id}/pdf
Quote Pdf
The client's PDF, base64 in JSON (the proxy to the books carries JSON).
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
quote_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/quotes/{quote_id}/send
Send Quote
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
quote_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"to": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "To"
},
"message": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
],
"title": "Message"
}
},
"type": "object",
"title": "QuoteSendIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/quotes/{quote_id}/request-approval
Request Quote Approval
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
quote_id | path | yes | integer | |
instance | query | yes | string | |
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"approver_email": {
"type": "string",
"maxLength": 255,
"title": "Approver Email"
},
"message": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Message"
},
"origin": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
],
"title": "Origin"
}
},
"type": "object",
"required": [
"approver_email"
],
"title": "QuoteApprovalIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/quote-approval/{token}
Quote Approval View
The approver's page. The token IS the permission — no sign-in, so the buyer's manager needs no Bulk Hub login to approve.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
token | path | yes | string | |
instance | query | yes | string | |
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/quote-approval/{token}
Quote Approval Decide
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
token | path | yes | string | |
instance | query | yes | string | |
x-website-secret | header | no |
Request body
json
{
"properties": {
"approve": {
"type": "boolean",
"title": "Approve"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Name"
},
"note": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Note"
}
},
"type": "object",
"required": [
"approve"
],
"title": "QuoteDecisionIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/supplier-applications
Supplier Application
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
x-website-secret | header | no |
Request body
json
{
"properties": {
"company_name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"title": "Company Name"
},
"contact_name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"title": "Contact Name"
},
"email": {
"type": "string",
"maxLength": 255,
"minLength": 3,
"title": "Email"
},
"phone": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Phone"
},
"website": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Website"
},
"feed_method": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Feed Method"
},
"product_count": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Product Count"
},
"brands": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Brands"
},
"message": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
],
"title": "Message"
},
"company_url": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Company Url"
}
},
"type": "object",
"required": [
"company_name",
"contact_name",
"email"
],
"title": "SupplierApplicationIn"
}201 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/public/website/procure/supplier
Supplier Dashboard
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
distributor_id | query | no | ||
authorization | header | no | ||
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}PUT /api/v1/public/website/procure/supplier/profile
Supplier Profile
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
distributor_id | query | no | ||
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"orders_email": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Orders Email"
},
"phone": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Phone"
},
"website": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Website"
},
"logo_url": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
],
"title": "Logo Url"
},
"shipping_policy": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Shipping Policy"
},
"free_delivery_over": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Free Delivery Over"
}
},
"type": "object",
"title": "SupplierProfileIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/supplier/upload
Supplier Upload
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
instance | query | yes | string | |
distributor_id | query | no | ||
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"filename": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "Filename"
},
"content_base64": {
"type": "string",
"maxLength": 37748736,
"minLength": 4,
"title": "Content Base64"
}
},
"type": "object",
"required": [
"content_base64"
],
"title": "SupplierUploadIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/website/procure/supplier/orders/{order_id}
Supplier Order Update
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
order_id | path | yes | integer | |
instance | query | yes | string | |
distributor_id | query | no | ||
authorization | header | no | ||
x-website-secret | header | no |
Request body
json
{
"properties": {
"status": {
"type": "string",
"maxLength": 16,
"title": "Status"
},
"note": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Note"
},
"courier": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Courier"
},
"tracking_number": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Tracking Number"
},
"tracking_url": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
],
"title": "Tracking Url"
},
"invoice_number": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Invoice Number"
},
"expected_delivery": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Expected Delivery"
},
"confirmed_total_ex_vat": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Confirmed Total Ex Vat"
}
},
"type": "object",
"required": [
"status"
],
"title": "SupplierOrderUpdateIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}