APIs de Quick Order Form
Crea, actualiza, lista y elimina Quick Order Forms, colecciones Quick Buy y tablas de variantes Quick Buy con la Public API.
Esta página describe la Public API de la familia de funciones Quick Order Form. Un único endpoint gestiona los tres tipos de registro relacionados, que se distinguen por un campo type:
quick_order_page: una página independiente de Quick Order Form.quick_buy_collection: la función Quick Buy en las páginas de colección y tarjetas de producto.quick_buy_variant: la Variant Table en la página de un producto.
Las 4 operaciones comparten la misma URL base, los mismos encabezados y la misma autenticación que se describen en Public APIs.
Crear un registro
Sección titulada «Crear un registro»Endpoint
Sección titulada «Endpoint»POST https://wholesale.samita.io/api/v1/quick-order-formsEncabezados de la solicitud
Sección titulada «Encabezados de la solicitud»| Encabezado | Descripción | Obligatorio |
|---|---|---|
X-SAMITA-API-KEY |
Clave de API proporcionada en la aplicación Wholesale | Sí |
X-SAMITA-SHOP-URL |
Dominio de la tienda de Shopify con el formato xxx.myshopify.com | Sí |
CONTENT-TYPE |
Debe ser application/json |
Sí |
Esta API requiere el permiso Create en la clave de API, para el type concreto que vayas a crear.
Campos comunes (todos los tipos)
Sección titulada «Campos comunes (todos los tipos)»| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
title |
string, máx. 255 | Sí | El nombre del registro en la aplicación. |
status |
boolean | Sí | Si está activo. |
type |
string | Sí | quick_order_page, quick_buy_collection o quick_buy_variant. |
Los demás campos obligatorios dependen de type:
| Campo | Tipo | Notas |
|---|---|---|
apply_product |
object (obligatorio) | type: products o collections. |
apply_product.product_ids |
array | Obligatorio cuando type es products. |
apply_product.collection_ids |
array | Obligatorio cuando type es collections. |
display_on_page |
string (obligatorio) | El handle de la página de Shopify en la que se muestra este formulario. |
pagination |
object (obligatorio) | type: pagination o load_more_button; per_page: número de 1 a 50. |
columns |
object (obligatorio) | product_stock: boolean; muestra u oculta la columna de stock. |
Ejemplo:
{ "title": "Wholesale Order Form", "status": true, "type": "quick_order_page", "apply_product": { "type": "collections", "collection_ids": [123456789] }, "display_on_page": "wholesale-order-form", "pagination": { "type": "pagination", "per_page": 20 }, "columns": { "product_stock": true }}| Campo | Tipo | Notas |
|---|---|---|
apply_product |
object (obligatorio) | type: all, products, collections o product-tags, con los product_ids / collection_ids / product_tags correspondientes. |
exclude_product |
object (obligatorio) | type: none, products o collections, con los ID correspondientes. |
apply_customer |
object (obligatorio) | type: all, logged, non-logged o customer-tags, con tags cuando corresponda. |
exclude_customer |
object (obligatorio) | type: none o customer-tags, con tags cuando corresponda. |
display_on_pages |
array (obligatorio) | Cualquiera de index, collection, search, another_page. |
columns |
object (obligatorio) | Booleanos: stock_status, quantity, variant, volume_discount, add_to_cart. |
Ejemplo:
{ "title": "Quick Buy on Collections", "status": true, "type": "quick_buy_collection", "apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [] }, "exclude_product": { "type": "none", "product_ids": [], "collection_ids": [] }, "apply_customer": { "type": "customer-tags", "tags": ["wholesale"] }, "exclude_customer": { "type": "none", "tags": [] }, "display_on_pages": ["collection", "index"], "columns": { "stock_status": true, "quantity": true, "variant": true, "volume_discount": true, "add_to_cart": true }}| Campo | Tipo | Notas |
|---|---|---|
apply_product |
object (obligatorio) | Misma estructura que en quick_buy_collection. |
exclude_product |
object (obligatorio) | Misma estructura que en quick_buy_collection. |
apply_customer |
object (obligatorio) | Misma estructura que en quick_buy_collection. |
exclude_customer |
object (obligatorio) | Misma estructura que en quick_buy_collection. |
template |
string (obligatorio) | default o matrix-column. |
columns |
object (obligatorio) | stock: boolean; muestra u oculta la columna de stock. |
Ejemplo:
{ "title": "Variant Table", "status": true, "type": "quick_buy_variant", "apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [] }, "exclude_product": { "type": "none", "product_ids": [], "collection_ids": [] }, "apply_customer": { "type": "logged", "tags": [] }, "exclude_customer": { "type": "none", "tags": [] }, "template": "default", "columns": { "stock": true }}Respuesta
Sección titulada «Respuesta»200 – Success devuelve el registro creado. Consulta el ejemplo en Obtener un registro más abajo.
Actualizar un registro
Sección titulada «Actualizar un registro»PUT https://wholesale.samita.io/api/v1/quick-order-forms/{id}Mismos encabezados que en Create. Envía solo los campos que quieras cambiar: title, status, configs y product_configs son opcionales y los campos que no indiques conservan su valor actual. Esta API requiere el permiso Update.
Obtener un registro
Sección titulada «Obtener un registro»GET https://wholesale.samita.io/api/v1/quick-order-forms/{id}Mismos encabezados que en Create, sin cuerpo de solicitud. Esta API requiere el permiso View.
Ejemplo de 200 – Success (type: quick_order_page):
{ "id": 1, "title": "Wholesale Order Form", "status": true, "type": "quick_order_page", "apply_product": { "type": "collections", "product_ids": [], "collection_ids": [123456789] }, "display_on_page": "wholesale-order-form", "pagination": { "type": "pagination", "per_page": 20 }, "columns": { "product": true, "product_stock": true, "quantity": true, "action": true }, "created_at": "2026-01-15T10:00:00", "updated_at": "2026-01-15T10:00:00"}Eliminar un registro
Sección titulada «Eliminar un registro»DELETE https://wholesale.samita.io/api/v1/quick-order-forms/{id}Mismos encabezados que en Create. Pasa un parámetro ids, una lista separada por comas de los ID de los registros que quieres eliminar (como parámetro de la cadena de consulta o como campo del cuerpo JSON), por ejemplo ids=1,2,3. Esta API requiere el permiso Delete.
200 – Success:
{ "success": true}Respuestas de error
Sección titulada «Respuestas de error»Los 4 endpoints comparten las mismas respuestas de error que el resto de la Public API; consulta Public APIs para 401 Unauthorized, 403 Forbidden y 429 Too Many Requests.