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": "[email protected]",
"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
}
}
]