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"
}
}