Líneas de pedido
GET /v1/quo Listar registros ▶
| Parám. | Descripción | Defecto |
|---|---|---|
page | Número de página | 1 |
per_page | Registros por página (máx. 1000) | 20 |
since | Inicio del rango de creación (columna entered). Solo fecha = desde las 00:00:00 | — |
until | Fin del rango de creación. Solo fecha = hasta las 23:59:59 | — |
q | Búsqueda de texto en los campos indicados en cada recurso: name description bar | — |
s / o | Campo de ordenamiento · Sentido: asc o desc | según recurso |
f | Filtros exactos en JSON | — |
# página 2, 20 por página
curl -H "X-SYNCS-API-TOKEN: TU_TOKEN" "https://pionono-sandbox.extranet.business/v1/quo?page=2&per_page=20"
# creados en un rango de fechas, más recientes primero
curl -H "X-SYNCS-API-TOKEN: TU_TOKEN" "https://pionono-sandbox.extranet.business/v1/quo?since=2026-07-01&until=2026-07-31&s=entered&o=desc"
Respuesta
{
"status": "success",
"code": "200",
"message": "LIST",
"data": {
"a1b2c3d4-5e6f-7890-abcd-ef1234567890": {
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"order": 10,
"wrh_id": "WRH-01",
"wrh_loc_id": "WRH_LOC-01",
"lpn_id": "LPN-01",
"cur_id": "CUR-01",
"sts_id": "STS-01",
"amount_unit": 9.99,
"local_cur_id": "LOCAL_CUR-01",
"ser_id": "SER-01",
"num": 10,
"line": 10,
"quo_id": "QUO-01",
"prd_prc_id": "PRD_PRC-01",
"shp_id": "SHP-01",
"prd_id": "PRD-01",
"prd_sku_id": "PRD_SKU-01"
}
},
"meta": {
"page": 1,
"per_page": 20,
"count": 1,
"total": 134
}
}
GET /v1/quo/{id} Obtener un registro ▶
curl -H "X-SYNCS-API-TOKEN: TU_TOKEN" "https://pionono-sandbox.extranet.business/v1/quo/ID"
Respuesta
{
"status": "success",
"code": "200",
"message": "GET",
"data": {
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"order": 10,
"wrh_id": "WRH-01",
"wrh_loc_id": "WRH_LOC-01",
"lpn_id": "LPN-01",
"cur_id": "CUR-01",
"sts_id": "STS-01",
"amount_unit": 9.99,
"local_cur_id": "LOCAL_CUR-01",
"ser_id": "SER-01",
"num": 10,
"line": 10,
"quo_id": "QUO-01",
"prd_prc_id": "PRD_PRC-01",
"shp_id": "SHP-01",
"prd_id": "PRD-01",
"prd_sku_id": "PRD_SKU-01"
}
}
POST /v1/quo Crear un registro ▶
Solo se graban las columnas de la lista blanca de cada recurso (los campos grabables que aparecen en cada endpoint); cualquier otra clave del JSON se ignora en silencio. Los componentes de la clave primaria que no se envíen toman el valor ---. El id puede enviarse (máximo 45 caracteres alfanuméricos, _, - y .); si se omite, la API genera un UUID.
Requeridos en POST
order wrh_id wrh_loc_id lpn_id cur_id sts_id amount_unit local_cur_id ser_id num line quo_id prd_prc_id shp_id prd_id prd_sku_id
Componentes de la clave — si no se envían toman ---
com_suc_id cha_id sll_id pos_id sch_id ser_id num line quo_id prd_prc_id loc_id loc_pla_id shp_id prd_id prd_sku_id
Campos grabables order name description wrh_id wrh_loc_id lpn_id prd_cat_id prd_lin_id prd_seg_id prd_fam_id prd_cla_id prd_cod_id prd_man_id prd_bra_id prd_bat_id prd_rot_id bar_id date bar adr_id issued scheduled assigned assigned_to completed delivered invoiced duplicated uni_id quantity cur_id sts_id setup sync thumbnail amount_unit amount amount_subtotal amount_total amount_tax amount_discount amount_storage amount_shipping amount_shipping_discount amount_shipping_total amount_replacement amount_setup amount_tip amount_sell amount_received amount_change amount_cost amount_profit cur_xch local_cur_id local_amount_unit local_amount local_amount_subtotal local_amount_total local_amount_tax local_amount_discount local_amount_storage local_amount_shipping local_amount_shipping_discount local_amount_shipping_total local_amount_replacement local_amount_setup local_amount_tip local_amount_sell local_amount_received local_amount_change local_amount_cost local_amount_profit
curl -X POST "https://pionono-sandbox.extranet.business/v1/quo" \
-H "X-SYNCS-API-TOKEN: TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"order": 10,
"wrh_id": "WRH-01",
"wrh_loc_id": "WRH_LOC-01",
"lpn_id": "LPN-01",
"cur_id": "CUR-01",
"sts_id": "STS-01",
"amount_unit": 9.99,
"local_cur_id": "LOCAL_CUR-01",
"ser_id": "SER-01",
"num": 10,
"line": 10,
"quo_id": "QUO-01",
"prd_prc_id": "PRD_PRC-01",
"shp_id": "SHP-01",
"prd_id": "PRD-01",
"prd_sku_id": "PRD_SKU-01"
}'
Respuesta
{
"status": "success",
"code": "201",
"message": "ADD",
"data": {
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"order": 10,
"wrh_id": "WRH-01",
"wrh_loc_id": "WRH_LOC-01",
"lpn_id": "LPN-01",
"cur_id": "CUR-01",
"sts_id": "STS-01",
"amount_unit": 9.99,
"local_cur_id": "LOCAL_CUR-01",
"ser_id": "SER-01",
"num": 10,
"line": 10,
"quo_id": "QUO-01",
"prd_prc_id": "PRD_PRC-01",
"shp_id": "SHP-01",
"prd_id": "PRD-01",
"prd_sku_id": "PRD_SKU-01"
}
}
PATCH /v1/quo/{id} Actualizar un registro ▶
Ambos hacen exactamente lo mismo: actualización parcial. Solo se modifican las columnas presentes en el JSON, el resto queda intacto — no hace falta reenviar el registro completo. Se usa PATCH por corrección semántica y PUT por compatibilidad con clientes que no lo soportan. La API graba modified y modified_by automáticamente.
Si el id no existe (o ya se eliminó) responden 404 NO_DATA; si el JSON no trae ninguna columna válida, 400 NO_VALID_FIELDS.
Campos grabables order name description wrh_id wrh_loc_id lpn_id prd_cat_id prd_lin_id prd_seg_id prd_fam_id prd_cla_id prd_cod_id prd_man_id prd_bra_id prd_bat_id prd_rot_id bar_id date bar adr_id issued scheduled assigned assigned_to completed delivered invoiced duplicated uni_id quantity cur_id sts_id setup sync thumbnail amount_unit amount amount_subtotal amount_total amount_tax amount_discount amount_storage amount_shipping amount_shipping_discount amount_shipping_total amount_replacement amount_setup amount_tip amount_sell amount_received amount_change amount_cost amount_profit cur_xch local_cur_id local_amount_unit local_amount local_amount_subtotal local_amount_total local_amount_tax local_amount_discount local_amount_storage local_amount_shipping local_amount_shipping_discount local_amount_shipping_total local_amount_replacement local_amount_setup local_amount_tip local_amount_sell local_amount_received local_amount_change local_amount_cost local_amount_profit
curl -X PATCH "https://pionono-sandbox.extranet.business/v1/quo/ID" \
-H "X-SYNCS-API-TOKEN: TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"order": 10,
"wrh_id": "WRH-01"
}'
Respuesta
{
"status": "success",
"code": "200",
"message": "UPDATE",
"data": {
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"order": 10,
"wrh_id": "WRH-01"
}
}
PUT /v1/quo/{id} Actualizar (compatibilidad) — idéntico a PATCH ▶
Campos grabables order name description wrh_id wrh_loc_id lpn_id prd_cat_id prd_lin_id prd_seg_id prd_fam_id prd_cla_id prd_cod_id prd_man_id prd_bra_id prd_bat_id prd_rot_id bar_id date bar adr_id issued scheduled assigned assigned_to completed delivered invoiced duplicated uni_id quantity cur_id sts_id setup sync thumbnail amount_unit amount amount_subtotal amount_total amount_tax amount_discount amount_storage amount_shipping amount_shipping_discount amount_shipping_total amount_replacement amount_setup amount_tip amount_sell amount_received amount_change amount_cost amount_profit cur_xch local_cur_id local_amount_unit local_amount local_amount_subtotal local_amount_total local_amount_tax local_amount_discount local_amount_storage local_amount_shipping local_amount_shipping_discount local_amount_shipping_total local_amount_replacement local_amount_setup local_amount_tip local_amount_sell local_amount_received local_amount_change local_amount_cost local_amount_profit
curl -X PUT "https://pionono-sandbox.extranet.business/v1/quo/ID" \
-H "X-SYNCS-API-TOKEN: TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"order": 10,
"wrh_id": "WRH-01"
}'
DELETE /v1/quo/{id} Eliminar un registro — Elimina el registro ▶
curl -X DELETE "https://pionono-sandbox.extranet.business/v1/quo/ID" \
-H "X-SYNCS-API-TOKEN: TU_TOKEN"
Respuesta
{
"status": "success",
"code": "200",
"message": "DELETED",
"data": null
}