Saltar al contenido principal

Creación de pedidos M2 - GABO

Se explica como es la comunicación desde Magento hacia m2 y los momentos en que se realiza dicha comunicación

Creación de pedido

La creación del pedido del lado de M2 inicia cuando se hace click en el botón "Finalizar Compra"

Los pasos que se ejecutan son los siguientes:

  1. Reservar pedido en GABO
  2. Realizar cobro
  3. Confirmar pedido en GABO
  4. Confirmar pedido en m2

La documentación de GABO se puede consultar acá

Reservar pedido en GABO

Petición

POST - https://gabo.gaia.design/api/v1/order/reserve

{
"gaia_api_reserve": [
{
"incrementId": "SE-200401560", //id de pedido de m2
"storeCode": "santoestilo", //store code por default
"seller": null,
"createdAt": null,
"taxAmount": 0,
"shippingAmount": 0,
"discountAmount": 0,
"subtotal": 3799,
"grandTotal": 3799,
"totalPaid": 0,
"totalRefunded": 0,
"totalQtyOrdered": 1,
"totalCanceled": 0,
"totalInvoiced": 0,
"totalOnlineRefunded": 0,
"totalOfflineRefunded": 0,
"shippingFirstName": "Oliver",
"shippingMiddleName": "---",
"shippingLastName": "Test",
"shippingEmailAddress": "test@hotmail.com",
"shippingStreet": "amsterdam",
"shippingTown": "Cuauht\u00e9moc",
"shippingSuburb": "Hip\u00f3dromo",
"shippingNumber": "225",
"shippingInternalNumber": "501",
"shippingCity": "Ciudad de M\u00e9xico",
"shippingState": "Distrito Federal",
"shippingBetweenStreet1": "sonora",
"shippingBetweenStreet2": "celaya",
"shippingAdditionalInfo": null,
"shippingCompany": "---",
"shippingPostcode": "06100",
"shippingPhone": "55 4899 9150",
"shippingAdditionalPhone": "5548999150",
"shippingCountry": "MX",
"payment": "spreedly",
"items": [
{
"sku": "5883_1",
"name": "Bur\u00f3 Evo nogal - Negro",
"description": null,
"unitPriceWithoutDiscount": 3799,
"unitPrice": 3799,
"totalPrice": 3799,
"obs": null,
"itemType": 1,
"quantity": 1
}
],
"user": null,
"cupon": {
"ruleId": null,
"name": null,
"code": null
}
}
]
}

Respuesta

  • Cualquier 4XX o 5XX debe lanzar una excepción dentro de m2 que detiene el proceso de compra
[
{
"status": true,
"message": "Order reserved SETV-FZSM1TEST01",
"order": {
"isConsolidated": false,
"gaiaPurchaseOrderId": 1110102,
"incrementId": "SETV-FZSM1TEST01",
"storeCode": "televentas",
"status": "PENDING_PAYMENT",
"createdAt": "2025-09-22T15:29:45-0600",
"updatedAt": "2025-09-22T15:29:45-0600"
},
"items": [
{
"gaiaPurchaseOrderItemId": 2323603,
"sku": "11_1",
"name": "Sofá 2 cuerpos Marie - Gris claro <armado>",
"status": 1100,
"quantity": 2,
"quantityPurchased": 2,
"itemType": 1,
"unitPriceWithoutDiscount": 9999,
"unitPrice": 9999,
"totalPrice": 19998,
"deliveryType": 3
}
]
}
]

Definición de campos

Order

CampoDefinición
storeCodecódigo de tienda, por default: santoestilo
paymentmétodo de pago

Order Item

CampoDefinición
itemTypeTipo de item [web:1, takehome:2]

Confirmar

Para confirmar solo se necesita el número de pedido previamente reservado

Petición

POST - https://gabo.gaia.design/api/v1/order/confirm

{
"gaia_api_reserve":[
{
"incrementId":"SESHMOL-BE4F132147"
}
]
}

Respuesta

  • El proceso de compra no se detiene por un error en este paso
[
{
"status": true,
"message": "Order confirm successfull SETV-FZSM1TEST01",
"order": {
"gaiaPurchaseOrderId": 1110102,
"incrementId": "SETV-FZSM1TEST01",
"status": "PROCESSING",
"maxDeliveryTime": 5,
"maxDeliveryDate": "2025-09-29T00:00:00-0600",
"createdAt": "2025-09-22T15:29:45-0600",
"updatedAt": "2025-09-22T15:31:01-0600"
}
}
]

Unreserve

En caso de que el pedido se haya reservado pero no se pueda cobrar por falta de fondos o cualquier otra razón se debe hacer un un reserve para liberar el stock reservado

Petición

POST - https://gabo.gaia.design/api/v1/order/unreserve

{
"gaia_api_unreserve":[
{
"incrementId":"SESHMOL-BE4F132147"
}
]
}

Respuesta

  • El proceso de compra no se detiene por un error en este paso
[
{
"status": true,
"message": "Order SETV-FZSM1TEST02 unreserve successfull",
"source": {
"gaia_api_unreserve": [
{
"incrementId": "SETV-FZSM1TEST02"
}
]
}
}
]

Consultar costo de envio

Magento consulta con GABO el costo de envio indicando los skus, subtotal y codigo postal. En la respuesta se obtendra el atributo 'shippingPrice' que indica el monto de envio.

Petición

POST - https://gabo.gaia.design/api/v1/shipping/price

{
"items": [
"17156_2",
"9562_1"
],
"zipCode": "45650",
"subTotal": 20497
}

Respuesta

Ejemplo con respuesta exitosa

[
{
"status": true,
"message": "Success",
"shippingPrice": "1999.00",
"data": {
"zipCode": "45650",
"subTotal": 20497,
"items": [
"17156_2",
"9562_1"
]
}
}
]

Ejemplo con respuesta fallida

[
{
"status": false,
"message": "Error: No se puede calcular el costo de envío, CP sin cobertura.",
"source": {
"items": [
"17156_2",
"9562_1"
],
"zipCode": "99945650",
"subTotal": 20497
}
}
]