Atributos dinámicos
Los atributos dinámicos son usados en documentos, formas de pago y clientes. como atributos opcionales en la mayoría de casos.
Estructura JSON
Al realizar una petición HTTP, el servicio retornara un JSON con la siguiente estructura:
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/5.json",
"id": 5,
"name": "Obser.",
"tip": "",
"type": 4,
"isMandatory": 0,
"state": 0,
"document_type": {
"href": "https://api.bsale.com.pe/v1/document_types/4.json",
"id": "4"
}
}
href, url del atributo dinámico (String).
id, identificador único del atributo dinámico (Integer).
name, nombre del atributo dinámico (String).
tip, tooltip del atributo dinámico (String).
isMandatory, indica si un atributo dinámico es obligatorio No(0) o Si(1) (Boolean).
state, estado del atributo dinámico indica si esta activo(0) o inactivo (1) (Boolean).
payment_type, nodo que indica la relación con las formas de pago.
GET de una colección de atributos dinámicos
GET /v1/dynamic_attributes.json retornara todos los Atributos dinámicos.
Parámetros
limit, limita la cantidad de items de una respuesta JSON, por defecto el limit es 25, el máximo permitido es 50.
offset, permite paginar los items de una respuesta JSON, por defecto el offset es 0.
fields, solo devolver atributos específicos de un recurso
expand, permite expandir instancias y colecciones.
name, Permite filtrar por nombre del atributo.
type, filtra tipo de atributo.
state, boolean (0 o 1) indica si las listas de precio están activas(0) inactivas (1).
paymenttypeid, filtra por la forma de pago.
documenttypeid, filtra por el tipo de documento.
Ejemplos
GET /v1/dynamic_attributes.json?limit=10&offset=0
GET /v1/dynamic_attributes.json?fields=[name,type,state]
GET /v1/dynamic_attributes.json?paymenttypeid=1
GET /v1/dynamic_attributes.json?expand=[coin,details]
GET /v1/dynamic_attributes.json?limit=2&offset=1
Respuesta
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes.json",
"count": 30,
"limit": 2,
"offset": 1,
"items": [
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/27.json",
"id": 27,
"name": "Código producto",
"tip": "",
"type": 4,
"isMandatory": 0,
"state": 0,
"document_type": {
"href": "https://api.bsale.com.pe/v1/document_types/1.json",
"id": "1"
}
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/28.json",
"id": 28,
"name": "código producto wsp",
"tip": "",
"type": 4,
"isMandatory": 0,
"state": 0,
"document_type": {
"href": "https://api.bsale.com.pe/v1/document_types/22.json",
"id": "22"
}
}
],
"previous": "https://api.bsale.com.pe/v1/dynamic_attributes.json?limit=2&offset=0",
"next": "https://api.bsale.com.pe/v1/dynamic_attributes.json?limit=2&offset=3"
}
GET de un atributo dinámico
GET /v1/dynamic_attributes/3.json
Parámetros
expand, permite expandir instancias y colecciones.
Ejemplos
GET /v1/dynamic_attributes/5.json?expand=[payment_type]
Respuesta
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/5.json",
"id": 5,
"name": "Obser.",
"tip": "",
"type": 4,
"isMandatory": 0,
"state": 0,
"document_type": {
"href": "https://api.bsale.com.pe/v1/document_types/4.json",
"id": "4"
}
}
GET detalles de un atributo dinámico
GET /v1/dynamic_attributes/8/details.json
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8.json",
"id": 8,
"name": "Tipo Traslado",
"tip": "",
"type": 7,
"isMandatory": 0,
"state": 1,
"document_type": {
"href": "https://api.bsale.com.pe/v1/document_types/4.json",
"id": "4"
},
"details": {
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details.json",
"count": 9,
"limit": 25,
"offset": 0,
"items": [
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/1.json",
"id": 1,
"name": "Operación Constituye Venta",
"state": 1
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/2.json",
"id": 2,
"name": "Venta por Efectuar",
"state": 1
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/3.json",
"id": 3,
"name": "Consignaciones",
"state": 1
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/4.json",
"id": 4,
"name": "Entrega Gratuita",
"state": 1
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/5.json",
"id": 5,
"name": "Traslado Interno",
"state": 1
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/6.json",
"id": 6,
"name": "Otros Traslados No Venta",
"state": 1
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/7.json",
"id": 7,
"name": "Guía Devolución",
"state": 1
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/8.json",
"id": 8,
"name": "Traslado para Exportación",
"state": 1
},
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/9.json",
"id": 9,
"name": "Venta para Exportación",
"state": 1
}
]
}
}
GET un de detalle de un atributo dinámico
GET /v1/dynamic_attributes/8/details/9.json
{
"href": "https://api.bsale.com.pe/v1/dynamic_attributes/8/details/8.json",
"id": 8,
"name": "Traslado para Exportación",
"state": 1
}