Pedidos Web

Generación y obtención de pedidos web para la tienda en línea de Bsale (Checkout).

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": 34046,
"token": "858f2181f14632a521d519683370a4242a64defb4",
"clientCode": "07506009",
"clientName": "Wilfredo",
"clientLastName": "Sadueño Lazuth",
"clientEmail": "wsd@gmail.com",
"clientPhone": "997842410",
"id_tipo_documento_tributario": 10,
"clientCountry": "Perú",
"clientState": "Lima",
"clientCity": "Lima ",
"clientStreet": "Av. Micaela Bastidas 4433",
"clientCityZone": "Comas",
"clientPostcode": "51",
"clientBuildingNumber": "Block F21 Dep. 876",
"cartId": 49679,
"cartDetails": [
"https://api.bsale.io/v1/cart/49679/detail.json"
],
"spcId": 32,
"ptId": 14,
"payUrl": "https://bcash.bsalemarket.com/bank/v1",
"createAt": 1593796047,
"shippingCost": 5.000014,
"isMafs": 0,
"discountCost": 0,
"active": 1,
"shippingComment": "Cruce de av. Micaela bastidas con av. Retablo \nA 3 cuadras.",
"totalCart": 125.3,
"pickStoreId": 0,
"id_venta_documento_tributario": 22805,
"documentNumber": 22794,
"documentToken": "b1e2163ce2af6",
"storeId": 1,
"marketId": 1,
"isService": 0,
"withdrawStore": 0,
"payProcess": "for_validate",
"ptName": "Pago con tarjeta al repartidor",
"stName": "Despacho",
"total": 130.300014,
"userId": 10916,
"url": "https://api.bsale.io/v1/checkout/34046.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"
  }
}