Pedidos web


Estructura JSON

Al realizar una petición HTTP, el servicio retornara un JSON con la siguiente estructura:

{

"code": "200",

"data": {

"id": 1,

"token": "1c659e3ee5ba6ad93b8b5eadb9921ae4b0e76e76",

"clientName": "Horacio",

"clientLastName": "Hernandez",

"clientEmail": "hh@gmail.com",

"clientPhone": "+8890000001",

"cartId": 1,

"cartDetails": [

"https://api.bsale.io/v1/cart/1/detail.json"

],

"ptId": 1,

"createAt": 1482924586,

"shippingCost": 0.0,

"isMafs": 1,

"active": 1,

"totalCart": 2990.0,

"pickStoreId": 1,

"pickName": "Amelia Hernandez",

"pickCode": "16000666-0",

"id_venta_documento_tributario": 0,

"documentNumber": 0,

"marketId": 1,

"isService": 0,

"withdrawStore": 1,

"payProcess": "pending",

"url": "https://api.bsale.io/v1/checkout/1.json"

}

}

  • id, identificador único del checkout (Integer).

  • token, Hash identificador único del checkout (String).

  • clientName, Nombre del cliente (String).

  • clientLastName, Apellido del cliente (String).

  • clientEmail, Email del cliente (String).

  • clientPhone, Telefono del cliente (String).

  • id_tipo_documento_tributario, Id del tipo documento tributario (Integer).

  • clientCountry, Pais del cliente (String).

  • clientState, Región del cliente (String).

  • extrasUserData, Datos extras del documento tributario (hash).

  • clientStreet, Calle del cliente (Integer).

  • clientCityZone, Comuna del cliente (Integer).

  • clientPostcode, Código postal del cliente (Integer).

  • clientBuildingNumber, Numero de dirección del cliente (Integer).

  • cartId, Id del carro (Integer).

  • cartDetails, Detalle del carro (Hash).

  • spcId, Id del costo del shipping (Integer).

  • ptId, Id del medio de pago (Integer).

  • createAt, Fecha de creación (UNIX EPOCH).

  • isMafs, El despacho es gratuito (bool).

  • active, Activo (bool).

  • shippingComment, Comentario del despacho (Integer).

  • totalCart, Total bruto del carro (Integer).

  • pickName, Nombre del que retira el pedido (Integer).

  • pickCode, Rut del que retira el pedido (Integer).

  • pickStoreId, Oficina donde se retira el pedido (Integer).

  • id_venta_documento_tributario, Id del documento tributario (Integer).

  • documentNumber, Numero de documento (Integer).

  • documentToken, Token del documento (Integer).

  • storeId, Oficina que se genera el documento tributario(Integer).

  • marketId, Id del market (Integer).

  • isService, Indica si todos los producto del checkout son servicios (Integer).

  • payProcess, Proceso del pedido (Integer).

  • payError, Código de error (Integer).

  • payResponse, Mensaje de error del medio de pago (Integer).

  • integrationDetail, Url de integración del sistema (String)

  • url, Url del checkout (String).


GET un checkout

  • GET /v2/token/checkout/:token.json retornara un checkout específico.

Respuesta

{

"code": "200",

"data": {

"id": 1,

"token": "1c659e3ee5ba6ad93b8b5eadb9921ae4b0e76e76",

"clientName": "Hans",

"clientLastName": "Holzz",

"clientEmail": "h.holz@gmail.com",

"clientPhone": "+88655555500",

"cartId": 1,

"cartDetails": [

"https://api.bsale.io/v1/cart/1/detail.json"

],

"ptId": 1,

"payUrl": "",

"createAt": 1482924586,

"shippingCost": 0,

"isMafs": 1,

"active": 1,

"totalCart": 2990,

"pickStoreId": 1,

"pickName": "Helga Verona",

"pickCode": "14258512-5",

"id_venta_documento_tributario": 0,

"documentNumber": 0,

"marketId": 1,

"isService": 0,

"withdrawStore": 1,

"payProcess": "pending",

"ptName": "Webpay Mall",

"url": "https://api.bsale.io/v1/checkout/1.json"

}

}

POST un checkout

  • POST /v1/checkout.json

Se debe enviar un Json con la siguiente estructura.

{

"clientName": "Esteban",

"clientLastName": "Pruebas",

"clientEmail": "ebahamonde@imaginex.cl",

"clientPhone": "+90000001",

"id_tipo_documento_tributario": 1,

"clientCountry": "Chile",

"clientState": "Región Metropolitana",

"extrasUserData": {

"user_rut": "11111111-9",

"razon_social": "Rzon Social",

"giro_cliente": "Gro Clien",

"direccion": "Direccn",

"ciudad": "Ciudd",

"comuna": "Cmna"

},

"clientStreet": "las condes",

"clientCityZone": "Las Condes",

"clientPostcode": "ss",

"clientBuildingNumber": "123",

"cartDetails": [

{

"quantity": 1,

"unitValue": 29990,

"name": "ALIAS NOMBRE",

"image": "https://d09.cloudfront.net/1680/product/home223.jpg",

"idVarianteProducto": 171,

"productWebId": 8

}

]

}

Donde

  • token, Si no viene lo crea.

  • id_tipo_documento_tributario, Si viene valida que exista.

  • cartId, Si no viene lo crea, Si viene valida que exista .

  • cartDetails, Utiliza las reglas del carro.

  • spcId, Si viene valida que exista .

  • ptId, Si viene valida que exista .

  • createAt, Es del sistema siempre se crea en el post.

  • totalCart, Si no viene se calcula .

  • pickStoreId, Si viene valida que exista .

  • id_venta_documento_tributario, Si viene valida que exista .

  • documentNumber, Si viene valida que exista .

  • documentToken, Si viene valida que exista .

  • storeId, Si viene valida que exista.

  • marketId, Si viene valida que exista .

  • isService, Si no viene se calcula .

Respuesta

{

"code": "200",

"data": {

"id": 270,

"token": "509202b04403be34a122cd1e5010b7e30593bb0c",

"clientName": "Esteban",

"clientLastName": "Pruebas",

"clientEmail": "ebahamonde@imaginex.cl",

"clientPhone": "+90000001",

"id_tipo_documento_tributario": 1,

"clientCountry": "Chile",

"clientState": "Región Metropolitana",

"extrasUserData": {

"user_rut": "11111111-9",

"razon_social": "Rzon Social",

"giro_cliente": "Gro Clien",

"direccion": "Direccn",

"ciudad": "Ciudd",

"comuna": "Cmna"

},

"clientStreet": "las condes",

"clientCityZone": "Las Condes",

"clientPostcode": "ss",

"clientBuildingNumber": "123",

"cartId": 1062,

"cartDetails": [

{

"id": 3293,

"quantity": 1,

"unitValue": 29990,

"netUnitValue": 25201.6806722689,

"discount": 0,

"total": 29990,

"image": "https://dv09.cloudfront.net/1680/product/hom9963.jpg",

"idVarianteProducto": 171,

"sku": "HUA1259",

"link": "/product/",

"productWebId": 8,

"cartId": 1062,

"taxList": [

1

],

"value": 29990,

"cd_q": 1,

"cd_unit_value": 29990,

"cd_discount": 0,

"cd_sub_total": 29990,

"cd_id": 3293,

"cd_id_discount": 0,

"cd_image": "https://do9.cloudfront.net/1680/product/h-05963.jpg",

"id_variante_producto": 171,

"codigo_variante_producto": "HUA1259",

"href": "https://api.bsale.io/v1/cart/1062/detail/3293.json"

}

],

"createAt": 1578338363,

"shippingCost": 0,

"isMafs": 0,

"active": 1,

"totalCart": 29990,

"pickStoreId": 0,

"isService": 0,

"withdrawStore": 0,

"payProcess": "pending",

"url": "https://api.bsale.io/v1/checkout/270.json"

}

}

DELETE un checkout

  • DELETE /v1/checkout/5358.json desactiva un checkout.

{

"code": "200",

"data": {

"id": 5358,

"token": "c401b6d0b6e4a10884fe0909b83f249e9a03dffa",

"clientName": "adsa",

"clientLastName": "asdasd",

"clientEmail": "benjamind@imaginex.cl",

"clientPhone": "123123",

"id_tipo_documento_tributario": 1,

"clientCountry": "Chile",

"clientState": "Región Metropolitana",

"extrasUserData": {

"user_rut": "19",

"razon_social": "asdas",

"giro_cliente": "asd",

"direccion": "asd",

"ciudad": "asd",

"comuna": "asd"

},

"clientStreet": "las condes",

"clientCityZone": "Las Condes",

"clientPostcode": "ss",

"clientBuildingNumber": "123",

"cartId": 6804,

"cartDetails": [

"https://bsale-ecommerce-benjamin007.c9users.io:8081/v1/cart/6804/detail.json"

],

"spcId": 342,

"ptId": 1,

"createAt": 1506425440,

"shippingCost": 0,

"isMafs": 1,

"active": 0,

"shippingComment": "",

"totalCart": 147949,

"pickStoreId": 0,

"pickName": "",

"pickCode": "",

"id_venta_documento_tributario": 0,

"documentNumber": 0,

"storeId": 2,

"marketId": 1,

"isService": 0,

"withdrawStore": 0,

"payProcess": "pending",

"integrationDetail": "https://dojiw2m9tvv09.cloudfront.net/1680/product/home-productos-059963.jpg",

"url": "https://bsale-ecommerce-benjamin007.c9users.io:8081/v1/checkout/5358.json"

}

}

Obtener información del carro

  • GET /v1/cart/6805.json retornara un carro.

Al realizar una petición HTTP, el servicio retornará

{


GET lista de carro

  • GET /v1/cart.json retornara todos los carros.

Parametros

  • 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.

  • expand, permite expandir las dirreciones y de los carros. ej. expand=[cartDetails].

  • way, Flujo como se despliega la información.

  • order, Indica como se orderna el checkout, los valores son:id, createAt.

Ejemplos

  • GET /v1/cart.json?limit=10&offset=0

  • GET /v1/cart.json?way=desc

Respuesta

{

GET un carro

  • GET /v1/cart/6805.json retornara un carro.

Respuesta

{

POST un carro

  • POST /v1/cart.json

Se debe enviar un Json con la siguiente estructura.

{

Donde

  • netUnitValue, Si no viene lo crea (String).

  • unitValue, obligatorio (Integer).

  • discountId, Si viene valida que exista (Integer).

Respuesta

{

PUT un carro

  • PUT /v1/cart/6807.json

Se debe enviar un Json con la siguiente estructura.

{

Respuesta

{

Get un detalle del carro

  • GET /v1/cart/1026/detail.json Obtiene el detalle del carro.

{

"code": "200",

"href": "https://api.bsale.io/v1/cart/1026/detail.json",

"count": 1,

"limit": 0,

"offset": 20,

"data": [

{

"id": 1296,

"quantity": 3,

"unitValue": 4990,

"netUnitValue": 4193.27731092437,

"discount": 0,

"itemName": "PISCO\" MISTRAL 35°",

"total": 14970,

"discountId": 0,

"image": "https://dojiw2m9tvv09.cloudfront.net/11132/product/358978.jpg",

"idVarianteProducto": 26,

"sku": "PM-01",

"link": "/product/pisco-mistral-35",

"productWebId": 142,

"cartId": 1026,

"taxList": [

1

],

"shipping": {

"id": 18,

"weight": 2,

"width": 20,

"deph": 10,

"length": 15,

"match": 1

},

"name": "PISCO\" MISTRAL 35°",

"value": 4990,

"cd_q": 3,

"cd_unit_value": 4990,

"cd_discount": 0,

"cd_item_name": "PISCO\" MISTRAL 35°",

"cd_sub_total": 14970,

"cd_id": 1296,

"cd_id_discount": 0,

"cd_image": "https://dojiw2m9tvv09.cloudfront.net/11132/product/358978.jpg",

"id_variante_producto": 26,

"codigo_variante_producto": "PM-01",

"href": "https://api.bsale.io/v1/cart/1026/detail/1296.json"

}

],

"previous": "https://api.bsale.io/v1/cart/1026/detail.json?limit=0&offset=-20"

}


Get un detalle de un item en el carro

  • GET /v1/cart/1026/detail/1296.json Obtiene el detalle de un item en el carro.

{