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:
- Reservar pedido en GABO
- Realizar cobro
- Confirmar pedido en GABO
- 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
| Campo | Definición |
|---|---|
| storeCode | código de tienda, por default: santoestilo |
| payment | método de pago |
Order Item
| Campo | Definición |
|---|---|
| itemType | Tipo 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
}
}
]