{
  "item": [
    {
      "name": "Authentication",
      "item": [
        {
          "id": "8228f5cb-10d4-40ba-ba52-b9eb659f0cd5",
          "name": "API client login",
          "request": {
            "name": "API client login",
            "description": {
              "content": "Authenticates an integration client with `client_id` and `client_secret` and returns a JWT `access_token` that must be sent in the `Authorization: Bearer {token}` header in subsequent requests.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "auth",
                "client",
                "login"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "auth": {
              "type": "noauth"
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"client_id\": \"{{client_id}}\",\n  \"client_secret\": \"{{client_secret}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "aa446db8-345a-4760-b875-c6f6d3fbc7ac",
              "name": "Successful authentication",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "auth",
                    "client",
                    "login"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"client_demo\",\n  \"client_secret\": \"secret_demo\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Autenticación API exitosa\",\n  \"token\": {\n    \"access_token\": \"eyJhbGciOiJIUzI1NiJ9...\",\n    \"token_type\": \"Bearer\",\n    \"expires_in\": 900\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "4661c82b-3e5e-4e54-a277-b94c7ea44298",
              "name": "`client_id` or `client_secret` is missing, is not a string or is empty",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "auth",
                    "client",
                    "login"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"client_demo\",\n  \"client_secret\": \"secret_demo\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"client_id y client_secret deben ser válidos.\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "688b723f-e6ca-457a-8607-3af302154c35",
              "name": "Invalid credentials (the `client_id` does not exist or the `client_secret` does not match)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "auth",
                    "client",
                    "login"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"client_demo\",\n  \"client_secret\": \"secret_demo\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"error\",\n  \"response_message\": \"Credenciales inválidas\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "a679250c-fd51-4903-b5d5-e97473a1b79c",
              "name": "API client disabled",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "auth",
                    "client",
                    "login"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"client_demo\",\n  \"client_secret\": \"secret_demo\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Forbidden",
              "code": 403,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 403,\n  \"response_status\": \"error\",\n  \"response_message\": \"API client desactivado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "ba0c73b8-57eb-497b-842e-ec95470e6480",
              "name": "Internal error, or the body is not valid JSON",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "auth",
                    "client",
                    "login"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"client_demo\",\n  \"client_secret\": \"secret_demo\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error interno al autenticar API client\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "const body = pm.response.json();",
                  "if (body && body.token && body.token.access_token) {",
                  "  pm.collectionVariables.set('access_token', body.token.access_token);",
                  "  console.log('Token saved in access_token');",
                  "}"
                ]
              }
            }
          ],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "Orders",
      "item": [
        {
          "id": "467fa182-a6e4-4f9f-98ff-792fb1788a92",
          "name": "Create a new order",
          "request": {
            "name": "Create a new order",
            "description": {
              "content": "Creates a shipping order, generates the shipping label and deducts the cost from the prepaid balance.\n\n**Before creating the order, get these IDs:**\n\n| Order field | Where it comes from | Response field |\n| --- | --- | --- |\n| `branchInfo.branchAddressId` (pickup address) | `GET /api/branchs/branchsAddresses`, or the one returned by `POST /api/branchs/branchsAddresses` when creating it | `branchAddressId` |\n| `branchInfo.branchsClientId` (client and delivery address) | `GET /api/branchs/branchsClient` or `GET /api/branchs/branchsClient/search`, or the one returned by `POST /api/branchs/branchsClient` when registering it | `branchsClientId` |\n| `courier.courierServiceId` (courier and service) | `POST /api/courier` (quote), sending the pickup address and the client's municipality | `courierServiceId` |\n| `courier.agencias` (optional) | `GET /api/courier/agencies`, only if the courier works with agencies | Agency ID |\n\nThe delivery address is not sent separately: it is the one registered for the client.\n\nValidation is done by section (`branchInfo`, `courier`, `location`, `product`, `order`) and the first error found is reported.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "orders"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"branchInfo\": {\n    \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n    \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n  },\n  \"courier\": {\n    \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n    \"agencias\": {}\n  },\n  \"location\": {\n    \"latitude\": \"13.692940\",\n    \"longitude\": \"-89.218191\"\n  },\n  \"product\": {\n    \"productDescription\": \"Ropa\",\n    \"totalWeight\": 4,\n    \"cantPackages\": 1,\n    \"inventoryItems\": [\n      {\n        \"productId\": \"fd6dfd73-effe-1840-23a5-4b03c128d3d5\",\n        \"quantity\": 196,\n        \"price\": 9718.570034650365\n      },\n      {\n        \"productId\": \"40c6358c-f8f9-f3cc-4ec2-a2c2fd25fa0d\",\n        \"quantity\": 2544,\n        \"price\": 4333.668636879653\n      }\n    ]\n  },\n  \"order\": {\n    \"shippingAmount\": 10,\n    \"onDelivery\": 1,\n    \"paymentOrderCollection\": 0,\n    \"comments\": \"\",\n    \"integrationOrderRef\": \"string\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "4e6834ef-cf8f-4595-abf7-7d9fabc15a1a",
              "name": "Order created successfully",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchInfo\": {\n    \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n    \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n  },\n  \"courier\": {\n    \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n    \"agencias\": {}\n  },\n  \"location\": {\n    \"latitude\": \"13.692940\",\n    \"longitude\": \"-89.218191\"\n  },\n  \"product\": {\n    \"productDescription\": \"Ropa\",\n    \"totalWeight\": 4,\n    \"cantPackages\": 1,\n    \"inventoryItems\": [\n      {\n        \"productId\": \"1caae38d-4b5d-adfc-3acc-f0c0eebc02a5\",\n        \"quantity\": 7709,\n        \"price\": 5107.351292775633\n      },\n      {\n        \"productId\": \"09fc566e-d99f-a51a-ca6b-aa2816d131ec\",\n        \"quantity\": 4977,\n        \"price\": 8390.535545789222\n      }\n    ]\n  },\n  \"order\": {\n    \"shippingAmount\": 10,\n    \"onDelivery\": 1,\n    \"paymentOrderCollection\": 0,\n    \"comments\": \"\",\n    \"integrationOrderRef\": \"string\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 201,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Orden creada correctamente\",\n  \"data\": {\n    \"ordersId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n    \"clientName\": \"Cliente Prueba\",\n    \"clientEmail\": \"cliente.prueba@example.com\",\n    \"comprobante\": \"29137811\",\n    \"courierName\": \"Mensajería Ejemplo\",\n    \"requestDate\": \"2026-10-07 01:49:25.000000\",\n    \"availableBalance\": 42.22,\n    \"consignmentValue\": 10,\n    \"isFirstOrderOfDay\": 1\n  },\n  \"guide\": {\n    \"URLguide\": \"https://mensajeria.example.com/guias/GUIA-PRUEBA.pdf\"\n  },\n  \"tracking\": {\n    \"URLtracking\": \"https://tracking.example.com/?orderId=0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008&identifier=abc123\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "bcaa4957-693c-4d3c-ac21-79c45b9904f7",
              "name": "Invalid request data",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchInfo\": {\n    \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n    \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n  },\n  \"courier\": {\n    \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n    \"agencias\": {}\n  },\n  \"location\": {\n    \"latitude\": \"13.692940\",\n    \"longitude\": \"-89.218191\"\n  },\n  \"product\": {\n    \"productDescription\": \"Ropa\",\n    \"totalWeight\": 4,\n    \"cantPackages\": 1,\n    \"inventoryItems\": [\n      {\n        \"productId\": \"1caae38d-4b5d-adfc-3acc-f0c0eebc02a5\",\n        \"quantity\": 7709,\n        \"price\": 5107.351292775633\n      },\n      {\n        \"productId\": \"09fc566e-d99f-a51a-ca6b-aa2816d131ec\",\n        \"quantity\": 4977,\n        \"price\": 8390.535545789222\n      }\n    ]\n  },\n  \"order\": {\n    \"shippingAmount\": 10,\n    \"onDelivery\": 1,\n    \"paymentOrderCollection\": 0,\n    \"comments\": \"\",\n    \"integrationOrderRef\": \"string\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error en sección \\\"branchInfo\\\": Falta la sección completa\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "0beafdfd-5710-4751-9967-fb1b3f797599",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchInfo\": {\n    \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n    \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n  },\n  \"courier\": {\n    \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n    \"agencias\": {}\n  },\n  \"location\": {\n    \"latitude\": \"13.692940\",\n    \"longitude\": \"-89.218191\"\n  },\n  \"product\": {\n    \"productDescription\": \"Ropa\",\n    \"totalWeight\": 4,\n    \"cantPackages\": 1,\n    \"inventoryItems\": [\n      {\n        \"productId\": \"1caae38d-4b5d-adfc-3acc-f0c0eebc02a5\",\n        \"quantity\": 7709,\n        \"price\": 5107.351292775633\n      },\n      {\n        \"productId\": \"09fc566e-d99f-a51a-ca6b-aa2816d131ec\",\n        \"quantity\": 4977,\n        \"price\": 8390.535545789222\n      }\n    ]\n  },\n  \"order\": {\n    \"shippingAmount\": 10,\n    \"onDelivery\": 1,\n    \"paymentOrderCollection\": 0,\n    \"comments\": \"\",\n    \"integrationOrderRef\": \"string\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "d2ce4f2d-e65f-4003-a8ec-1cd7aa38ae5c",
              "name": "Business rule (insufficient amount, address that does not belong to the merchant, balance)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchInfo\": {\n    \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n    \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n  },\n  \"courier\": {\n    \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n    \"agencias\": {}\n  },\n  \"location\": {\n    \"latitude\": \"13.692940\",\n    \"longitude\": \"-89.218191\"\n  },\n  \"product\": {\n    \"productDescription\": \"Ropa\",\n    \"totalWeight\": 4,\n    \"cantPackages\": 1,\n    \"inventoryItems\": [\n      {\n        \"productId\": \"1caae38d-4b5d-adfc-3acc-f0c0eebc02a5\",\n        \"quantity\": 7709,\n        \"price\": 5107.351292775633\n      },\n      {\n        \"productId\": \"09fc566e-d99f-a51a-ca6b-aa2816d131ec\",\n        \"quantity\": 4977,\n        \"price\": 8390.535545789222\n      }\n    ]\n  },\n  \"order\": {\n    \"shippingAmount\": 10,\n    \"onDelivery\": 1,\n    \"paymentOrderCollection\": 0,\n    \"comments\": \"\",\n    \"integrationOrderRef\": \"string\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 409,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El monto a cobrar ($1.00) no cubre el costo del envío ($3.39) más las comisiones ($0.50). El monto mínimo requerido es $3.89\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "7e351dfe-dc85-4554-8039-3a6cdff5719f",
              "name": "The courier could not generate the shipping label receipt. Try again or choose another service from the quote.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchInfo\": {\n    \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n    \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n  },\n  \"courier\": {\n    \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n    \"agencias\": {}\n  },\n  \"location\": {\n    \"latitude\": \"13.692940\",\n    \"longitude\": \"-89.218191\"\n  },\n  \"product\": {\n    \"productDescription\": \"Ropa\",\n    \"totalWeight\": 4,\n    \"cantPackages\": 1,\n    \"inventoryItems\": [\n      {\n        \"productId\": \"1caae38d-4b5d-adfc-3acc-f0c0eebc02a5\",\n        \"quantity\": 7709,\n        \"price\": 5107.351292775633\n      },\n      {\n        \"productId\": \"09fc566e-d99f-a51a-ca6b-aa2816d131ec\",\n        \"quantity\": 4977,\n        \"price\": 8390.535545789222\n      }\n    ]\n  },\n  \"order\": {\n    \"shippingAmount\": 10,\n    \"onDelivery\": 1,\n    \"paymentOrderCollection\": 0,\n    \"comments\": \"\",\n    \"integrationOrderRef\": \"string\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 422,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Tuvimos un inconveniente al generar el comprobante con el courier. Intenta nuevamente o selecciona otro courier.\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "f2592870-c8da-4cc9-abd8-4da2f1037f15",
              "name": "Internal error while creating the order. The message may vary and include the error details.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchInfo\": {\n    \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n    \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n  },\n  \"courier\": {\n    \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n    \"agencias\": {}\n  },\n  \"location\": {\n    \"latitude\": \"13.692940\",\n    \"longitude\": \"-89.218191\"\n  },\n  \"product\": {\n    \"productDescription\": \"Ropa\",\n    \"totalWeight\": 4,\n    \"cantPackages\": 1,\n    \"inventoryItems\": [\n      {\n        \"productId\": \"1caae38d-4b5d-adfc-3acc-f0c0eebc02a5\",\n        \"quantity\": 7709,\n        \"price\": 5107.351292775633\n      },\n      {\n        \"productId\": \"09fc566e-d99f-a51a-ca6b-aa2816d131ec\",\n        \"quantity\": 4977,\n        \"price\": 8390.535545789222\n      }\n    ]\n  },\n  \"order\": {\n    \"shippingAmount\": 10,\n    \"onDelivery\": 1,\n    \"paymentOrderCollection\": 0,\n    \"comments\": \"\",\n    \"integrationOrderRef\": \"string\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al crear la orden\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "79a6b41b-0218-4cbb-ae53-3df4e9808d7f",
          "name": "Cancel orders",
          "request": {
            "name": "Cancel orders",
            "description": {
              "content": "Cancels one or more orders (up to 50) in a single request.\nThe overall response returns 200 if the request was processed; the result of **each order** must be checked in `data[]`.\n\nPossible codes in each `data[]` item: `200` (cancelled), an error code with the reason if the order cannot be cancelled (for example, because of its current status), `422` if the courier did not confirm the cancellation, and `500` for an internal error.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "orders"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "PATCH",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"Cliente solicitó cancelación\",\n  \"orderIds\": [\n    \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n    \"0199a1b2-8888-7e5f-8a6b-1c2d3e4f0009\"\n  ],\n  \"orderId\": \"9bba15dc-65c4-efb7-5682-2101d0c0d57f\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "842c0bfe-09ee-4d31-91cf-63eac9180c7c",
              "name": "Cancellation processed; check the result of each order in `data[]`",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"reason\": \"Cliente solicitó cancelación\",\n  \"orderIds\": [\n    \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n    \"0199a1b2-8888-7e5f-8a6b-1c2d3e4f0009\"\n  ],\n  \"orderId\": \"9bba15dc-65c4-efb7-5682-2101d0c0d57f\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Cancelación procesada\",\n  \"data\": [\n    {\n      \"orderId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n      \"response_code\": 409,\n      \"response_status\": \"Error\",\n      \"response_message\": \"La orden no puede ser cancelada en su estado actual (CANCELADO).\"\n    },\n    {\n      \"orderId\": \"0199a1b2-8888-7e5f-8a6b-1c2d3e4f0009\",\n      \"response_code\": 200,\n      \"response_status\": \"Success\",\n      \"response_message\": \"La orden fue cancelada exitosamente.\",\n      \"requestDate\": \"07/10/2026, 07:52 p. m.\"\n    },\n    {\n      \"orderId\": \"0199a1b2-9999-7e5f-8a6b-1c2d3e4f0010\",\n      \"response_code\": 422,\n      \"response_status\": \"Error\",\n      \"response_message\": \"No se logró cancelar la orden del lado del courier MENSAJERÍA EJEMPLO\"\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "a7ba4576-42ba-4400-88f7-ccec29a2b66a",
              "name": "Invalid parameters. Possible messages: `orderIds debe ser un UUID o un arreglo de UUIDs`, `orderIds no puede estar vacío`,\n`Máximo 50 órdenes por operación`, `Todos los orderIds deben ser UUIDs válidos`, `reason es requerido y debe ser una cadena válida`,\n`reason no puede exceder 255 caracteres`.\n",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"reason\": \"Cliente solicitó cancelación\",\n  \"orderIds\": [\n    \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n    \"0199a1b2-8888-7e5f-8a6b-1c2d3e4f0009\"\n  ],\n  \"orderId\": \"9bba15dc-65c4-efb7-5682-2101d0c0d57f\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"orderIds debe ser un UUID o un arreglo de UUIDs\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "f3849012-f322-4bbb-b288-b184be8b753e",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"reason\": \"Cliente solicitó cancelación\",\n  \"orderIds\": [\n    \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n    \"0199a1b2-8888-7e5f-8a6b-1c2d3e4f0009\"\n  ],\n  \"orderId\": \"9bba15dc-65c4-efb7-5682-2101d0c0d57f\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "86e8b826-52dd-4ef8-b68d-62d38d1196cf",
              "name": "Internal error while processing the cancellation, or the body is not valid JSON",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"reason\": \"Cliente solicitó cancelación\",\n  \"orderIds\": [\n    \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n    \"0199a1b2-8888-7e5f-8a6b-1c2d3e4f0009\"\n  ],\n  \"orderId\": \"9bba15dc-65c4-efb7-5682-2101d0c0d57f\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al procesar cancelación de órdenes\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "967e256a-7d7c-4458-a719-8859f4896969",
          "name": "Get the shipping label URL",
          "request": {
            "name": "Get the shipping label URL",
            "description": {
              "content": "Returns the URL of the shipping label (to view or print) of one of the merchant's orders.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "orders"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "OrderId",
                  "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008",
                  "description": "(Required) Order ID (`data.ordersId` when it was created)."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "b9088e59-78ed-4f64-9bf9-c1ac0fdad39c",
              "name": "Shipping label retrieved successfully",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Guía obtenida correctamente\",\n  \"data\": {\n    \"guideUrl\": \"https://mensajeria.example.com/guias/GUIA-PRUEBA.pdf\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "47394d97-93ba-4cdb-a372-85cf3e45a33f",
              "name": "The OrderId parameter is missing",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"OrderId es requerido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "8131b5fb-3ee3-49b4-b073-eecb4b14e7b4",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "e7b7673c-465e-4825-aedf-8953916f33ee",
              "name": "The order's shipping label was not found",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Not Found",
              "code": 404,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 404,\n  \"response_status\": \"Error\",\n  \"response_message\": \"No se ha encontrado la guía correspondiente a este número de orden. Verifique que la orden haya sido procesada correctamente o intente más tarde.\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "180baab4-0427-40c0-bdde-5dd945d2701e",
              "name": "Internal error while getting the shipping label",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener la guía del número de orden\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "e751132e-c99b-4379-a08a-fd47ef6c6c79",
          "name": "Get an order's tracking summary",
          "request": {
            "name": "Get an order's tracking summary",
            "description": {
              "content": "Returns the summary of one of the merchant's orders: merchant, recipient and order data, its movements (the last one is the current status) and the URLs of the shipping label and the public tracking page. Status codes are interpreted with `GET /api/statusMain`.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "orders",
                "tracking"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "OrderId",
                  "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008",
                  "description": "(Required) ID of the order to track."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "03650cbf-311d-480a-8c54-6987876f846c",
              "name": "Order summary found",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "tracking"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Resumen de la orden obtenido correctamente\",\n  \"data\": {\n    \"commerce\": {\n      \"branchsId\": \"0199a1b2-0000-7e5f-8a6b-1c2d3e4f0001\",\n      \"branchsName\": \"Comercio Prueba\",\n      \"branchsAddress\": \"Calle Principal 123, Colonia Prueba\",\n      \"branchDepartment\": \"SAN SALVADOR\",\n      \"branchsMunicipality\": \"SAN SALVADOR CENTRO\"\n    },\n    \"recipient\": {\n      \"recipientName\": \"Cliente Prueba\",\n      \"recipientAddress\": \"Calle Ficticia #123\",\n      \"recipientDepartment\": \"LA LIBERTAD\",\n      \"recipientMunicipality\": \"LA LIBERTAD SUR\",\n      \"comments\": \"Entregar en horario de oficina\"\n    },\n    \"order\": {\n      \"orderId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n      \"comprobante\": \"VOL-000123\",\n      \"courierName\": \"Mensajería Ejemplo\",\n      \"createdAt\": \"2026-10-07 10:15:00\",\n      \"onDelivery\": true,\n      \"consignmentValue\": 25,\n      \"deliveryCost\": 3.5,\n      \"totalWeight\": 1.5,\n      \"cantPackages\": 1,\n      \"productDescription\": \"Ropa\"\n    },\n    \"trackingMovement\": [\n      {\n        \"statusMainCode\": \"CONFIRMED\",\n        \"statusMainDescription\": \"Pedido confirmado\",\n        \"subStatusCode\": \"CONFIRMED\",\n        \"subStatusDescription\": \"Pedido confirmado\",\n        \"statusColor\": \"#2E7D32\",\n        \"statusIcon\": \"fa-solid fa-check\",\n        \"dateMovement\": \"2026-10-07 10:15:00\",\n        \"datetimeMovementFormatted\": \"07/10/2026 10:15 a. m.\"\n      },\n      {\n        \"statusMainCode\": \"IN_ROUTE\",\n        \"statusMainDescription\": \"En ruta de entrega\",\n        \"subStatusCode\": \"IN_ROUTE\",\n        \"subStatusDescription\": \"En ruta de entrega\",\n        \"statusColor\": \"#1565C0\",\n        \"statusIcon\": \"fa-solid fa-truck\",\n        \"dateMovement\": \"2026-10-07 14:30:00\",\n        \"datetimeMovementFormatted\": \"07/10/2026 2:30 p. m.\"\n      }\n    ],\n    \"guide\": {\n      \"URLguide\": \"https://mensajeria.example.com/guias/GUIA-PRUEBA.pdf\"\n    },\n    \"tracking\": {\n      \"URLtracking\": \"https://tracking.example.com/?orderId=0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008&identifier=abc123\"\n    }\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "6a829f43-3481-4aa9-a798-dee8eaf4da22",
              "name": "The OrderId parameter is missing",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "tracking"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Debe enviar un orderId válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "9bb4b49c-aa84-4fb5-b846-fd148e41f336",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "tracking"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "dcafe351-bd4e-4a82-b8e7-8ec392b425af",
              "name": "Internal error while getting the order summary",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "tracking"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error inesperado al obtener el resumen de la orden\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "a8b47f09-39bb-43a3-bfd5-3b1df53c12b3",
          "name": "Get orders with incidents",
          "request": {
            "name": "Get orders with incidents",
            "description": {
              "content": "Returns the merchant's orders that are currently in an incident (for example, recipient not available or wrong address), with their latest incident and the courier.\nIncludes a summary: total orders in incident, distinct couriers and incident types, and the date of the most recent incident.\n\nIt is a query: it does not register incidents. The body is required, but its fields are optional: with `{}` it returns the first page (10 orders).\nTo see every incident of an order, use `GET /api/orders/incidents/{ordersId}`.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "orders",
                "incidents"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filters\": {\n    \"search\": \"29137811\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 10\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "ba56136d-3d9a-4dd1-86c7-67347a8edd7d",
              "name": "Orders in incident retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"search\": \"29137811\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 10\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Incidencias actuales obtenidas correctamente.\",\n  \"data\": {\n    \"pagination\": {\n      \"page\": 1,\n      \"limit\": 10,\n      \"total\": 1,\n      \"totalPages\": 1,\n      \"hasNext\": 0,\n      \"hasPrev\": 0\n    },\n    \"summary\": {\n      \"totalOrdersInIncident\": 1,\n      \"totalDistinctCouriers\": 1,\n      \"totalDistinctIncidentStatuses\": 1,\n      \"latestIncidentAt\": \"2026-10-08 09:30:00\"\n    },\n    \"orders\": [\n      {\n        \"orderId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n        \"comprobante\": \"29137811\",\n        \"integrationOrderRef\": null,\n        \"courier\": {\n          \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n          \"courierName\": \"Mensajería Ejemplo\",\n          \"courierLogo\": \"https://storage.example.com/logos/mensajeria-ejemplo.png\"\n        },\n        \"latestIncident\": {\n          \"incidentId\": \"0199a1b2-1717-7e5f-8a6b-1c2d3e4f0071\",\n          \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0025\",\n          \"statusDescription\": \"Incidencia\",\n          \"subStatusId\": \"0199a1b2-6666-7e5f-8a6b-1c2d3e4f0035\",\n          \"subStatusDescription\": \"Incidencia reportada\",\n          \"comment\": \"No se encontró al destinatario en la dirección.\",\n          \"reportedAt\": \"2026-10-08 09:30:00\"\n        }\n      }\n    ]\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "185ca79e-4cbd-4b27-82c0-f81ca7b47096",
              "name": "Invalid filter or pagination. Message format: `Error en campo \"<campo>\": <motivo>` (error in field \"<field>\": <reason>).",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"search\": \"29137811\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 10\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error en campo \\\"filters.search\\\": debe ser texto válido (máx. 250 caracteres)\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "7d8c5d77-0080-45dd-b29b-2ff768d2e7b8",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"search\": \"29137811\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 10\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "23a038eb-7e25-42e7-90a8-89dba13d297f",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"search\": \"29137811\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 10\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener las incidencias actuales\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "e649bd67-a588-4a93-94a2-bee65d136188",
          "name": "Get an order's incidents (by parameter)",
          "request": {
            "name": "Get an order's incidents (by parameter)",
            "description": {
              "content": "Same as `GET /api/orders/incidents/{ordersId}`, but receives the order ID as the `OrderId` URL parameter.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "orders",
                "incidents"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "OrderId",
                  "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008",
                  "description": "(Required) Order ID (`data.ordersId` when creating it)."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "d8557bf2-5d57-4d5a-a9fb-eae77fb9593f",
              "name": "Order's incidents retrieved. Same response as `GET /api/orders/incidents/{ordersId}`.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Incidencias de la orden obtenidas correctamente.\",\n  \"data\": {\n    \"order\": {\n      \"orderId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n      \"comprobante\": \"29137811\",\n      \"integrationOrderRef\": null,\n      \"isCurrentlyInIncident\": true,\n      \"currentStatus\": {\n        \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0025\",\n        \"description\": \"Incidencia\",\n        \"flowGroup\": \"incident\",\n        \"color\": \"#e67e22\",\n        \"icon\": \"triangle-exclamation\"\n      }\n    },\n    \"summary\": {\n      \"totalIncidents\": 1\n    },\n    \"incidents\": [\n      {\n        \"incidentId\": \"0199a1b2-1717-7e5f-8a6b-1c2d3e4f0071\",\n        \"trackingId\": \"0199a1b2-1818-7e5f-8a6b-1c2d3e4f0072\",\n        \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0025\",\n        \"statusDescription\": \"Incidencia\",\n        \"statusColor\": \"#e67e22\",\n        \"statusIcon\": \"triangle-exclamation\",\n        \"subStatusId\": \"0199a1b2-6666-7e5f-8a6b-1c2d3e4f0035\",\n        \"subStatusDescription\": \"Incidencia reportada\",\n        \"comment\": \"No se encontró al destinatario en la dirección.\",\n        \"source\": \"tracking\",\n        \"reportedAt\": \"2026-10-08 09:30:00\"\n      }\n    ]\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "1f84d37d-d1c9-4818-aab8-fa23162cb469",
              "name": "The OrderId parameter is missing",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"OrderId es requerido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "a0de11ad-1e8d-4494-a9ff-7a4bfb34a3fd",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "80dea975-3ee7-4fa7-9ebe-6a95bdf7324b",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener las incidencias de la orden\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "4d411d67-7f5e-4ee6-bb20-c1da56431e45",
          "name": "Get an order's incidents",
          "request": {
            "name": "Get an order's incidents",
            "description": {
              "content": "Returns the current status of one of the merchant's orders and all its incidents, from the most recent to the oldest.\n`order.isCurrentlyInIncident` indicates whether the order is still in an incident.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "orders",
                "incidents",
                ":ordersId"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": [
                {
                  "disabled": false,
                  "type": "any",
                  "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008",
                  "key": "ordersId",
                  "description": "(Required) Order ID (`data.ordersId` when creating it)."
                }
              ]
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "193baa8e-1ff9-4f97-afea-e3d9d61d652e",
              "name": "Order's incidents retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents",
                    ":ordersId"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008",
                      "key": "ordersId",
                      "description": "(Required) Order ID (`data.ordersId` when creating it)."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Incidencias de la orden obtenidas correctamente.\",\n  \"data\": {\n    \"order\": {\n      \"orderId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n      \"comprobante\": \"29137811\",\n      \"integrationOrderRef\": null,\n      \"isCurrentlyInIncident\": true,\n      \"currentStatus\": {\n        \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0025\",\n        \"description\": \"Incidencia\",\n        \"flowGroup\": \"incident\",\n        \"color\": \"#e67e22\",\n        \"icon\": \"triangle-exclamation\"\n      }\n    },\n    \"summary\": {\n      \"totalIncidents\": 1\n    },\n    \"incidents\": [\n      {\n        \"incidentId\": \"0199a1b2-1717-7e5f-8a6b-1c2d3e4f0071\",\n        \"trackingId\": \"0199a1b2-1818-7e5f-8a6b-1c2d3e4f0072\",\n        \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0025\",\n        \"statusDescription\": \"Incidencia\",\n        \"statusColor\": \"#e67e22\",\n        \"statusIcon\": \"triangle-exclamation\",\n        \"subStatusId\": \"0199a1b2-6666-7e5f-8a6b-1c2d3e4f0035\",\n        \"subStatusDescription\": \"Incidencia reportada\",\n        \"comment\": \"No se encontró al destinatario en la dirección.\",\n        \"source\": \"tracking\",\n        \"reportedAt\": \"2026-10-08 09:30:00\"\n      }\n    ]\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "b8b6379e-64d0-437c-b015-49df00b36a99",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents",
                    ":ordersId"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008",
                      "key": "ordersId",
                      "description": "(Required) Order ID (`data.ordersId` when creating it)."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "f1bc9378-236b-43d5-8fa0-2a03d966641c",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "orders",
                    "incidents",
                    ":ordersId"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": [
                    {
                      "disabled": false,
                      "type": "any",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008",
                      "key": "ordersId",
                      "description": "(Required) Order ID (`data.ordersId` when creating it)."
                    }
                  ]
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener las incidencias de la orden\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "Couriers",
      "item": [
        {
          "id": "03cafbab-e70c-4406-866d-70b766ba3655",
          "name": "Get service modes",
          "request": {
            "name": "Get service modes",
            "description": {
              "content": "Returns the available service modes. The `serviceModeCode` is sent as `typeService` when quoting (`POST /api/courier`).",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier",
                "serviceMode"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "63b09989-a24f-484a-9694-cfa961d8d714",
              "name": "Service modes retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "serviceMode"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Modos de servicio obtenidos correctamente\",\n  \"data\": [\n    {\n      \"serviceModeId\": \"0199a1b2-eeee-7e5f-8a6b-1c2d3e4f000f\",\n      \"serviceModeCode\": \"NORMAL\",\n      \"serviceModeName\": \"Entrega estándar\",\n      \"serviceModeDescription\": \"Entrega en los días hábiles indicados por el courier.\",\n      \"requiresCoverageValidation\": true\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "7466f8b1-c614-4f3b-a797-ee7e902325ee",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "serviceMode"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "da5c3535-197c-4f7c-964d-f199db8e7a67",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "serviceMode"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error inesperado al obtener modos de servicio\",\n  \"data\": []\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "31169011-d526-48fe-ad04-8d5fb92eb51d",
          "name": "Quote a shipment (available couriers)",
          "request": {
            "name": "Quote a shipment (available couriers)",
            "description": {
              "content": "Returns the shipping services available for a pickup address and a destination, with their cost, commission, estimated dates and agencies.\nTake the `courierServiceId` of the chosen service to create the order (`POST /api/orders`).\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"shippingAmount\": 10,\n  \"weight\": 4,\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"courierName\": \"\",\n  \"typeService\": \"NORMAL\",\n  \"cantPackages\": 1\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "859ec9a5-7b00-4e27-9952-ce9bb2b16b26",
              "name": "Available services with their cost",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"shippingAmount\": 10,\n  \"weight\": 4,\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"courierName\": \"\",\n  \"typeService\": \"NORMAL\",\n  \"cantPackages\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Consulta ejecutada correctamente\",\n  \"data\": [\n    {\n      \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n      \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n      \"courierName\": \"Mensajería Ejemplo\",\n      \"serviceName\": \"Entrega a domicilio\",\n      \"serviceTypeName\": \"Servicio Normal\",\n      \"path_logo\": \"https://example.com/logos/mensajeria-ejemplo.png\",\n      \"isSameDay\": false,\n      \"enableGeoreference\": false,\n      \"deliveryCost\": 3.39,\n      \"hasDeliveryPromotion\": 0,\n      \"previousDeliveryCost\": null,\n      \"ComCCE\": 0.5,\n      \"hasCommissionPromotion\": 0,\n      \"previousComCCE\": null,\n      \"enablePromotionLabel\": false,\n      \"enableRecommended\": true,\n      \"courierDates\": {\n        \"collectionDate\": \"2026-10-08\",\n        \"collectionDay\": \"Jueves\",\n        \"pickupStartTime\": \"08:00\",\n        \"pickupEndTime\": \"17:00\",\n        \"deliveryDate\": \"2026-10-09\",\n        \"deliveryDay\": \"Viernes\",\n        \"collectionDate_byCoverage\": \"2026-10-08\",\n        \"deliveryDate_byCoverage\": \"2026-10-09\",\n        \"collectionMessage\": \"Recolección hoy\",\n        \"deliveryMessage\": \"Entrega mañana\",\n        \"alertColor_collection\": \"#2E7D32\",\n        \"alertColor_delivery\": \"#2E7D32\",\n        \"collectionAlert\": 0\n      },\n      \"courierInfo\": {\n        \"weightLimit\": 50,\n        \"sizeLimit\": \"60x60x60 cm\",\n        \"additionalPoundCost\": 0.25,\n        \"insuranceCoverage\": 100,\n        \"returnCost\": 2.5,\n        \"returnTimeEstimate\": 3,\n        \"maximumEffectiveLimit\": 500,\n        \"minimumConsignmentRequired\": 0,\n        \"baseCommissionTotal\": 0.5,\n        \"maximumCollectionTime\": \"13:00\",\n        \"collectionTime\": null,\n        \"deliveryTime\": null,\n        \"text_coverage\": \"Cobertura nacional\",\n        \"phoneNumber\": \"70000000\",\n        \"averageRating\": \"4.5\"\n      },\n      \"courierLabels\": {\n        \"labels\": [\n          {\n            \"label\": \"Recomendado\",\n            \"label_color\": \"#2E7D32\",\n            \"icon\": null,\n            \"iconVariant\": null\n          }\n        ],\n        \"customLabels\": []\n      },\n      \"agencies\": []\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "94e6a05b-336b-45cb-a6e5-6c37f4762485",
              "name": "Invalid data. Message format: `Error en campo \"<campo>\": <motivo>` (error in field \"<field>\": <reason>).\nFirst it checks that every required field was sent (`es requerido y no fue enviado`, is required and was not sent), then the format of each field; the first error found is reported.\n\nReasons per field (in Spanish):\n- `branchAddressId`, `municipalityCode`: `debe ser un UUID válido` (must be a valid UUID)\n- `shippingAmount`: `debe ser un número válido con hasta dos decimales` (must be a valid number with up to two decimals)\n- `weight`: `debe ser un número válido mayor a 0` (must be a valid number greater than 0)\n- `cantPackages`: `debe ser un número entero válido mayor a 0` (must be a valid integer greater than 0)\n- `courierName`: `es texto, puede ir vacío, no debe exceder 100 caracteres` (is text, may be empty, must not exceed 100 characters)\n- `typeService`: `debe ser un string válido` (must be a valid string)\n",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"shippingAmount\": 10,\n  \"weight\": 4,\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"courierName\": \"\",\n  \"typeService\": \"NORMAL\",\n  \"cantPackages\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error en campo \\\"typeService\\\": es requerido y no fue enviado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "bda72885-1c7a-467f-ae6f-010ef8b12c26",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"shippingAmount\": 10,\n  \"weight\": 4,\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"courierName\": \"\",\n  \"typeService\": \"NORMAL\",\n  \"cantPackages\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "5183fdfa-03f1-48a1-a5cd-7759c7f39871",
              "name": "Internal error. A 500 is also returned when the body is not valid JSON.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"shippingAmount\": 10,\n  \"weight\": 4,\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"courierName\": \"\",\n  \"typeService\": \"NORMAL\",\n  \"cantPackages\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener couriers\",\n  \"data\": []\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "c9aff3a4-d9d1-4e60-b850-cdc771fb2197",
          "name": "Get couriers by service",
          "request": {
            "name": "Get couriers by service",
            "description": {
              "content": "Returns the services of all active couriers, grouped by service code, with their limits, prices and delivery conditions.\nThe groups come in alphabetical order, with the agency services last.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "01259583-f629-4e20-991d-cd5b482a175b",
              "name": "Services grouped by service code. Each key of `data` is a service code.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Couriers obtenidos correctamente\",\n  \"data\": {\n    \"DOMICILIO\": [\n      {\n        \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n        \"courier\": {\n          \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n          \"courierName\": \"Mensajería Ejemplo\",\n          \"courierLogo\": \"https://example.com/logos/mensajeria-ejemplo.png\",\n          \"courierLabelText\": null,\n          \"courierEnableGeoreference\": false,\n          \"courierAverageRating\": 4.5\n        },\n        \"service\": {\n          \"serviceCode\": \"DOMICILIO\",\n          \"serviceName\": \"Entrega a domicilio\",\n          \"serviceType\": {\n            \"serviceTypeCode\": \"NORMAL\",\n            \"serviceTypeName\": \"Servicio Normal\",\n            \"serviceTypeRequiresCoverageValidation\": true\n          }\n        },\n        \"limits\": {\n          \"limitMaximumWeight\": 50,\n          \"limitWeightUnit\": \"lb\",\n          \"limitMaximumDimensions\": \"60x60x60 cm\",\n          \"limitMaximumCashAmount\": 500,\n          \"limitMaximumPickupTime\": \"17:00\"\n        },\n        \"pricing\": {\n          \"pricingRateRange\": \"$2.50 - $5.00\",\n          \"pricingAdditionalWeightUnitCost\": 0.25,\n          \"pricingInsurancePerShipment\": null,\n          \"pricingReturnCost\": 2.5,\n          \"pricingComCCE\": 0.5\n        },\n        \"delivery\": {\n          \"deliverySameDayService\": false,\n          \"deliveryFreeAttempts\": 2,\n          \"deliveryReturnTimeEstimateDays\": 3,\n          \"deliveryCoverageText\": \"Cobertura nacional\",\n          \"deliveryPromotionLabelEnabled\": false\n        },\n        \"agencies\": {\n          \"agenciesHasAgencies\": false,\n          \"agenciesCount\": 0\n        }\n      }\n    ]\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "7ba37dde-4472-45bd-9396-bd38564c20b5",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "06094c43-039c-400a-8b27-7e4543f6cde9",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error inesperado al obtener los couriers por servicio\",\n  \"data\": {}\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "deac7c67-a324-44c5-8111-ec3769288004",
          "name": "Get the coverage of a courier service",
          "request": {
            "name": "Get the coverage of a courier service",
            "description": {
              "content": "Returns the departments, municipalities and districts covered by a courier service, with the coverage days of each district.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier",
                "coverage"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "courierServiceId",
                  "value": "019f88a7-40d5-75b5-add9-87e652d9ba69",
                  "description": "(Required) Courier service (`courierServiceId` from the quote or from `GET /api/courier`)."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "c1ed6150-3e4e-4fc8-9678-73267a627656",
              "name": "Coverage retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Cobertura obtenida correctamente\",\n  \"data\": [\n    {\n      \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n      \"serviceId\": \"0199a1b2-ffff-7e5f-8a6b-1c2d3e4f0010\",\n      \"courierName\": \"Mensajería Ejemplo\",\n      \"departments\": [\n        {\n          \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\",\n          \"departmentName\": \"SAN SALVADOR\",\n          \"municipalities\": [\n            {\n              \"municipalityId\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n              \"municipalityName\": \"SAN SALVADOR CENTRO\",\n              \"districts\": [\n                {\n                  \"districtId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0006\",\n                  \"districtName\": \"SAN SALVADOR\",\n                  \"daysCoverage\": \"Lunes a sábado\"\n                }\n              ]\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "12e54da5-63a6-4178-b41a-fdad41ab004e",
              "name": "The courierServiceId is missing or is not a valid UUID",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"courierServiceId es requerido y debe ser un UUID válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "42bc6e20-cd2c-4645-8cd9-54774c376917",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "1b7d6cab-629e-49b6-825f-b9184a5ac5af",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener la cobertura del courier.\",\n  \"data\": []\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "4e282d74-abe9-4bd2-85ff-7f2775a3056e",
          "name": "Get a courier's agencies",
          "request": {
            "name": "Get a courier's agencies",
            "description": {
              "content": "Returns the agencies of a courier, for services that deliver or pick up at an agency. The `agencyId` is sent in `courier.agencias` when creating the order.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier",
                "agencies"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "courierId",
                  "value": "019f81b1-a481-77d5-be76-6c74b42c1e59",
                  "description": "(Required) Courier (`courierId` from the quote or from `GET /api/courier`)."
                },
                {
                  "disabled": false,
                  "key": "searchText",
                  "value": "string",
                  "description": "Optional. Filters the agencies by text."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "67a14a4d-5945-4f2d-a77c-228fc3efc8f0",
              "name": "Agencies retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "agencies"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierId",
                      "value": "019f81b1-a481-77d5-be76-6c74b42c1e59"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Agencias obtenidas correctamente\",\n  \"data\": {\n    \"agencies\": [\n      {\n        \"agencyId\": \"0199a1b2-abcd-7e5f-8a6b-1c2d3e4f0011\",\n        \"agencyName\": \"Agencia Centro\",\n        \"agencyAddress\": \"Calle Ficticia #123, San Salvador\",\n        \"scheduleDescription\": \"Lunes a viernes de 8:00 a 17:00\",\n        \"isActive\": true,\n        \"createdAt\": \"2026-01-15T10:00:00Z\",\n        \"location\": {\n          \"district\": {\n            \"districtId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0006\",\n            \"code\": \"060101\",\n            \"name\": \"SAN SALVADOR\"\n          },\n          \"municipality\": {\n            \"municipalityId\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n            \"code\": \"0601\",\n            \"name\": \"SAN SALVADOR CENTRO\"\n          },\n          \"department\": {\n            \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\",\n            \"code\": \"06\",\n            \"name\": \"SAN SALVADOR\"\n          }\n        }\n      }\n    ]\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "13efe7b7-94c9-49a2-a3a4-d0b025d1794b",
              "name": "The courierId is missing or is not a valid UUID",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "agencies"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierId",
                      "value": "019f81b1-a481-77d5-be76-6c74b42c1e59"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El parámetro courierId es requerido y debe ser un UUID válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "cddbc0a4-d549-495d-a16b-f111b768dda0",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "agencies"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierId",
                      "value": "019f81b1-a481-77d5-be76-6c74b42c1e59"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "2b31502c-aa85-40fc-858b-9540fc7e6afa",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "agencies"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierId",
                      "value": "019f81b1-a481-77d5-be76-6c74b42c1e59"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener agencias del courier\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "a11f9a73-d988-4882-a156-a948c4e6914e",
          "name": "Get general courier rates",
          "request": {
            "name": "Get general courier rates",
            "description": {
              "content": "Returns the general rates of the couriers available to the authenticated merchant, per service.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier",
                "generalRates"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "68825e53-66dc-4359-baaa-7c88894c8dff",
              "name": "Rates retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "generalRates"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Tarifas obtenidas correctamente\",\n  \"data\": [\n    {\n      \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n      \"courierLogo\": \"https://example.com/logos/mensajeria-ejemplo.png\",\n      \"courierName\": \"Mensajería Ejemplo\",\n      \"services\": [\n        {\n          \"serviceId\": \"0199a1b2-aaaa-7e5f-8a6b-1c2d3e4f0041\",\n          \"serviceName\": \"DEPARTAMENTAL / NEXT DAY\",\n          \"serviceTypes\": [\n            {\n              \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n              \"serviceTypeId\": \"0199a1b2-bbbb-7e5f-8a6b-1c2d3e4f0042\",\n              \"serviceTypeName\": \"Servicio Normal\",\n              \"rate\": 3.1\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "00d78783-720b-47be-98ee-c53ad9ca8690",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "generalRates"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "e8336ba2-086a-4a06-9058-ce3530ad04b0",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "generalRates"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error al obtener tarifas generales de couriers\",\n  \"data\": []\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "2740d08b-b204-419e-a2a0-ec330ff0b187",
          "name": "Get couriers by service type",
          "request": {
            "name": "Get couriers by service type",
            "description": {
              "content": "Returns the active couriers' services grouped by service type (for example, `NORMAL` or `PRIORITY`).\nFor each service: the courier, its limits (weight, dimensions, maximum cash amount, pickup cut-off time), prices, delivery conditions and whether it works with agencies.\n\nUse it to show the shipping options and their conditions. For the exact price of a shipment, quote with `POST /api/courier`.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier",
                "services"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "serviceTypeId",
                  "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23",
                  "description": "Optional. Returns only the services of this service type (`serviceModeId` from `GET /api/courier/serviceMode`). Ignored if sent empty."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "4cdfbf53-4722-4799-ba58-2050d120c433",
              "name": "Couriers grouped by service type. Each key of `data` is the service type code.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "services"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "serviceTypeId",
                      "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Couriers agrupados por tipo de servicio obtenidos correctamente\",\n  \"data\": {\n    \"NORMAL\": [\n      {\n        \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n        \"flags\": {\n          \"isNextDay\": true,\n          \"isSameDay\": false\n        },\n        \"courier\": {\n          \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n          \"courierName\": \"Mensajería Ejemplo\",\n          \"courierLogo\": \"https://example.com/logos/mensajeria-ejemplo.png\",\n          \"courierLabelText\": null,\n          \"courierEnableGeoreference\": false,\n          \"courierAverageRating\": 4.5\n        },\n        \"service\": {\n          \"serviceCode\": \"NEXT_DAY\",\n          \"serviceName\": \"DEPARTAMENTAL / NEXT DAY\",\n          \"serviceType\": {\n            \"serviceTypeCode\": \"NORMAL\",\n            \"serviceTypeName\": \"Servicio Normal\",\n            \"serviceTypeRequiresCoverageValidation\": true\n          }\n        },\n        \"limits\": {\n          \"limitMaximumWeight\": 50,\n          \"limitWeightUnit\": \"lb\",\n          \"limitMaximumDimensions\": \"50x50x50\",\n          \"limitMaximumCashAmount\": 1000,\n          \"limitMaximumPickupTime\": \"13:00:00\"\n        },\n        \"pricing\": {\n          \"pricingRateRange\": \"$3.10\",\n          \"pricingAdditionalWeightUnitCost\": 0.13,\n          \"pricingInsurancePerShipment\": 100,\n          \"pricingReturnCost\": 0,\n          \"pricingComCCE\": 2\n        },\n        \"delivery\": {\n          \"deliverySameDayService\": false,\n          \"deliveryFreeAttempts\": 2,\n          \"deliveryReturnTimeEstimateDays\": 3,\n          \"deliveryCoverageText\": null,\n          \"deliveryPromotionLabelEnabled\": false\n        },\n        \"agencies\": {\n          \"agenciesHasAgencies\": false,\n          \"agenciesCount\": 0\n        }\n      }\n    ]\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "240520b1-e285-435d-9de6-0c31b9f10783",
              "name": "serviceTypeId is not a valid UUID",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "services"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "serviceTypeId",
                      "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El parámetro \\\"serviceTypeId\\\" debe ser un UUID válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "eedab31d-17da-4b8d-819d-8b03457d34cc",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "services"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "serviceTypeId",
                      "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "87217349-4724-4070-bc0a-b533222f9296",
              "name": "No active courier offers the given service type.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "services"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "serviceTypeId",
                      "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Not Found",
              "code": 404,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 4117,\n  \"response_status\": \"Error\",\n  \"response_message\": \"string\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "94e0df12-756d-4876-8884-9f08ceac1dc6",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "services"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "serviceTypeId",
                      "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error inesperado al obtener los couriers por tipo de servicio\",\n  \"data\": {}\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "ba90dc5d-7c88-4d3a-b3b7-d7873a186023",
          "name": "Get delivery promises",
          "request": {
            "name": "Get delivery promises",
            "description": {
              "content": "Returns the catalog of delivery promises: the time each type of service commits to deliver in (for example, next-day delivery).",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier",
                "deliveryPromise"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "9c888e72-aace-4272-b6c5-94a8cd255797",
              "name": "Delivery promises retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "deliveryPromise"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Promesas de entrega obtenidas correctamente\",\n  \"data\": [\n    {\n      \"deliveryPromiseId\": \"01970000-0000-7000-8000-000000000048\",\n      \"deliveryPromiseCode\": \"NEXT_DAY\",\n      \"deliveryPromiseName\": \"DEPARTAMENTAL / NEXT DAY\",\n      \"deliveryPromiseDescription\": \"Entrega al día siguiente\"\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "84513421-75c9-42ec-87e5-68da35cbedc7",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "deliveryPromise"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "773f49d9-0596-4747-9a99-43c3cafaefc2",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "deliveryPromise"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error inesperado al obtener promesas de entrega\",\n  \"data\": []\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "b5511d0c-25c3-42a2-8604-5c277a71072b",
          "name": "Get a service's operational coverage",
          "request": {
            "name": "Get a service's operational coverage",
            "description": {
              "content": "Returns, by department and municipality, where a shipping service operates: whether it has pickup and delivery coverage, the days it operates and the pickup hours.\nUse it to know before quoting whether a service reaches the client's municipality.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "courier",
                "coverage",
                "operational"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "key": "courierServiceId",
                  "value": "019f88a7-40d5-75b5-add9-87e652d9ba69",
                  "description": "(Required) Shipping service (`courierServiceId` from `POST /api/courier` or from `GET /api/courier/services`)."
                },
                {
                  "disabled": false,
                  "key": "coverageType",
                  "value": "ALL",
                  "description": "Coverage type: pickup, delivery or both. Case-insensitive."
                },
                {
                  "disabled": false,
                  "key": "departmentsJson",
                  "value": "[\"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"]",
                  "description": "Optional. JSON array with the UUIDs of the departments to query (`departmentId` from `GET /api/open/departments`)."
                },
                {
                  "disabled": false,
                  "key": "searchText",
                  "value": "string",
                  "description": "Optional. Text to search in the department and municipality names."
                }
              ],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "f9148ff1-7f7f-4a58-82dc-380b853424a3",
              "name": "Operational coverage retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage",
                    "operational"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    },
                    {
                      "key": "coverageType",
                      "value": "ALL"
                    },
                    {
                      "key": "departmentsJson",
                      "value": "[\"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"]"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Coberturas operativas del courier obtenidas correctamente\",\n  \"data\": [\n    {\n      \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n      \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n      \"courierName\": \"Mensajería Ejemplo\",\n      \"coverageType\": \"ALL\",\n      \"coverage\": {\n        \"label\": \"Coberturas operativas\",\n        \"departments\": [\n          {\n            \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\",\n            \"departmentName\": \"Ahuachapán\",\n            \"municipalities\": [\n              {\n                \"municipalityId\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n                \"municipalityName\": \"Ahuachapán\",\n                \"hasPickupCoverage\": true,\n                \"hasDeliveryCoverage\": true,\n                \"daysCoverage\": \"L,M,Mi,J,V,S\",\n                \"pickupStartTime\": \"08:00:00\",\n                \"pickupEndTime\": \"14:00:00\"\n              }\n            ]\n          }\n        ]\n      }\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "3f8f90f6-3c8f-4e68-83cc-eae61cbadce7",
              "name": "Invalid parameters",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage",
                    "operational"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    },
                    {
                      "key": "coverageType",
                      "value": "ALL"
                    },
                    {
                      "key": "departmentsJson",
                      "value": "[\"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"]"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El parámetro courierServiceId es requerido y debe ser un UUID válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "ede71335-92d2-47e8-be77-2449dac3877f",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage",
                    "operational"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    },
                    {
                      "key": "coverageType",
                      "value": "ALL"
                    },
                    {
                      "key": "departmentsJson",
                      "value": "[\"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"]"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "424cb7fd-779f-41bd-a172-ee015dbec369",
              "name": "The service does not exist or is not active",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage",
                    "operational"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    },
                    {
                      "key": "coverageType",
                      "value": "ALL"
                    },
                    {
                      "key": "departmentsJson",
                      "value": "[\"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"]"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Not Found",
              "code": 404,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 404,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El courierServiceId (019f88a7-40d5-75b5-add9-87e652d9ba69) no existe o no está activo\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "bf3bb435-cbfd-4339-9c31-05c477230515",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "courier",
                    "coverage",
                    "operational"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "key": "courierServiceId",
                      "value": "019f88a7-40d5-75b5-add9-87e652d9ba69"
                    },
                    {
                      "key": "coverageType",
                      "value": "ALL"
                    },
                    {
                      "key": "departmentsJson",
                      "value": "[\"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"]"
                    },
                    {
                      "key": "searchText",
                      "value": "string"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener las coberturas operativas del courier.\",\n  \"data\": []\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "Branches",
      "item": [
        {
          "name": "Pickup addresses",
          "item": [
            {
              "id": "cfd6e46e-2504-44b2-a7e9-6f3849a6585e",
              "name": "Get branch addresses",
              "request": {
                "name": "Get branch addresses",
                "description": {
                  "content": "Returns the merchant's pickup addresses. Send `-1` to get all of them, or the UUID of an address to get only that one.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsAddresses"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "key": "branchAddressId",
                      "value": "-1",
                      "description": "(Required) `-1` for all addresses, or the UUID of an address."
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET"
              },
              "response": [
                {
                  "id": "568fc820-ebf8-45a9-8524-a12a98840016",
                  "name": "Addresses retrieved successfully",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "branchAddressId",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Direcciones procesadas correctamente\",\n  \"data\": [\n    {\n      \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n      \"branchAddressName\": \"Casa / Domicilio · Bodega Prueba\",\n      \"defaultAddress\": 1,\n      \"branchsId\": \"0199a1b2-0000-7e5f-8a6b-1c2d3e4f0001\",\n      \"typeBranchAddress\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\",\n      \"typeBranchAddressIcon\": \"fa-solid fa-house\",\n      \"nameBranchAddress\": \"Casa / Domicilio\",\n      \"collectionAddress\": \"Bodega Prueba\",\n      \"contactName\": \"Cliente Prueba\",\n      \"principalPhone\": \"70000000\",\n      \"emailContact\": \"cliente.prueba@example.com\",\n      \"georeference\": \"13.692940,-89.218191\",\n      \"municipalityCode\": \"0102\",\n      \"municipalitiesName\": \"APANECA\",\n      \"departmentsCodigo\": \"01\",\n      \"departmentsName\": \"AHUACHAPÁN\"\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "5c01fc1c-6a13-4a9b-a372-e86d5b66e380",
                  "name": "The branchAddressId parameter is missing",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "branchAddressId",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"branchAddressId es requerido\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "c7718071-1087-4123-a506-ae3fa92150c1",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "branchAddressId",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "7bfeab87-3d6a-44c0-be7f-c8a12147bc1b",
                  "name": "The merchant has no addresses or the address does not exist. The message includes the value sent in `branchAddressId`.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "branchAddressId",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Not Found",
                  "code": 404,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 404,\n  \"response_status\": \"Error\",\n  \"response_message\": \"No se encontró dirección con branchAddressId 0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"data\": []\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "35015daf-6ac1-4042-8dad-b864dc882c87",
                  "name": "Internal error (for example, a `branchAddressId` that is neither `-1` nor a valid UUID).",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "branchAddressId",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al capturar las direcciones: <detalle>\",\n  \"data\": []\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "cd370b2d-973a-47c8-ac26-65388487530b",
              "name": "Create a branch address",
              "request": {
                "name": "Create a branch address",
                "description": {
                  "content": "Registers a new pickup address for the merchant. The address type comes from `GET /api/open/typeBranchAddress` and the municipality from `POST /api/open/municipality`.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsAddresses"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"phoneNumber\": \"70000000\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "2b94a228-ce5d-49a0-a187-1ec7f8641a9e",
                  "name": "Address registered",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"phoneNumber\": \"70000000\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Created",
                  "code": 201,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 201,\n  \"response_status\": \"success\",\n  \"response_message\": \"Dirección registrada correctamente.\",\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "d174b04c-9e9a-4b81-be72-952f88f72e96",
                  "name": "Validation errors. The API joins all errors into a single message, separated by `;`.\nPossible messages per field (in Spanish): `es requerido` (is required), `debe ser una cadena` (must be a string), `debe tener al menos N caracteres` (must have at least N characters), `no debe exceder los N caracteres` (must not exceed N characters), `tiene un formato inválido` (has an invalid format).\n",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"phoneNumber\": \"70000000\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Errores de validación en los campos: \\\"phoneNumber\\\": tiene un formato inválido; \\\"typeBranchAddressId\\\": debe ser una cadena\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "87492a01-77d6-4389-b0fd-a9b82919998c",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"phoneNumber\": \"70000000\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "ebe4cec9-80d2-4682-a066-69ef6c8460cb",
                  "name": "An active address with the same name already exists",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"phoneNumber\": \"70000000\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Conflict",
                  "code": 409,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 409,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Ya existe otra dirección activa con el mismo nombre en tu comercio.\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "a63cfafa-223a-4a6e-bff8-864f0ac74db1",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"phoneNumber\": \"70000000\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al crear dirección de recolecta: <detalle>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "e58d276b-6601-4d40-8aac-fb830b7f941d",
              "name": "Update a branch address",
              "request": {
                "name": "Update a branch address",
                "description": {
                  "content": "Updates an existing pickup address. Send all the creation fields plus the `branchAddressId`.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsAddresses"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PUT",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"phoneNumber\": \"70000000\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "88065abb-6369-44bf-a599-2fc7ca1b7162",
                  "name": "Address updated",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"phoneNumber\": \"70000000\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Dirección actualizada correctamente\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "fb79caf0-ee33-4c66-bc21-99b653d4e798",
                  "name": "Validation errors (same format as on creation; includes `branchAddressId`)",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"phoneNumber\": \"70000000\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Errores de validación en los campos: \\\"branchAddressId\\\": es requerido\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "4511a4fe-5b8d-4158-98ed-1a8a245f7b8a",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"phoneNumber\": \"70000000\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "316a657d-b72e-4ef2-9b51-057cd338cacf",
                  "name": "Business rule (for example, duplicate name)",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"phoneNumber\": \"70000000\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Conflict",
                  "code": 409,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 409,\n  \"response_status\": \"Error\",\n  \"response_message\": \"<motivo de la regla de negocio>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "e00a73ee-c815-4151-8739-dfc1d6deb775",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\",\n  \"branchAddressName\": \"Bodega Prueba\",\n  \"collectionAddress\": \"Calle Ficticia #123, Colonia Prueba, San Salvador\",\n  \"contactName\": \"Cliente Prueba\",\n  \"emailContact\": \"cliente.prueba@example.com\",\n  \"latitude\": \"13.692940\",\n  \"longitude\": \"-89.218191\",\n  \"municipalityCodigo\": \"0102\",\n  \"phoneNumber\": \"70000000\",\n  \"typeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al actualizar dirección de recolecta: <detalle>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "c0ac2d7a-d002-4cee-bc09-11293389ae3f",
              "name": "Delete a branch address",
              "request": {
                "name": "Delete a branch address",
                "description": {
                  "content": "Deletes a pickup address of the merchant. The ID is sent in the body.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsAddresses"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "8ad4d714-e469-4c57-81db-9477052392d9",
                  "name": "Address deleted",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "DELETE",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Dirección eliminada correctamente\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "e8841f74-1c7d-4e18-b4b9-46cb3476a071",
                  "name": "The branchAddressId is missing or is not a string",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "DELETE",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El campo \\\"branchAddressId\\\" es requerido y debe ser una cadena (UUID).\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "223d39c3-0ba5-4d4c-a8d9-2704063208d1",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "DELETE",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "505237ba-ddc9-4527-b97d-a19be86f0691",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "DELETE",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al eliminar la dirección de recolecta: <detalle>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "15c68bbe-acce-4f09-baf6-ab0d0d7fdec3",
              "name": "Set the default address",
              "request": {
                "name": "Set the default address",
                "description": {
                  "content": "Marks an address as the merchant's default (`defaultAddress = 1`).",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsAddresses"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "7ab3702b-e77c-4d2d-a8c1-20e43876e3e7",
                  "name": "Default address updated",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PATCH",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Dirección predeterminada establecida correctamente\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "8d966611-5f7f-4c9c-8904-615cc3bca06b",
                  "name": "The branchAddressId is missing or is not a string",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PATCH",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El campo \\\"branchAddressId\\\" es requerido y debe ser una cadena (UUID).\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "dba20501-f3dc-4a3f-8a4c-ec2c24355aef",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PATCH",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "5366403f-4796-476e-953a-a69f470695c7",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsAddresses"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PATCH",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchAddressId\": \"0199a1b2-3c4d-7e5f-8a6b-1c2d3e4f5a6b\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al establecer la dirección predeterminada: <detalle>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            }
          ]
        },
        {
          "name": "Clients and delivery addresses",
          "item": [
            {
              "id": "b2edd86c-b501-4786-b7e2-36b91b62168f",
              "name": "Get branch clients",
              "request": {
                "name": "Get branch clients",
                "description": {
                  "content": "Returns the merchant's clients/recipients, with favorites first. Allows getting a single client or filtering by favorites.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsClient"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "key": "branchsClientId",
                      "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23",
                      "description": "Optional. UUID of a client to get only that record. If it is missing or is not a valid UUID, it is ignored and all clients are returned."
                    },
                    {
                      "disabled": false,
                      "key": "favorite",
                      "value": "-1",
                      "description": "`-1` = all, `1` or `true` = favorites only, `0` = non-favorites only. If omitted or set to any other value, `0` is used: send `-1` to get all of them."
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET"
              },
              "response": [
                {
                  "id": "1d465f89-8d22-4885-8d57-8b29c16507d8",
                  "name": "Clients retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "branchsClientId",
                          "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23"
                        },
                        {
                          "key": "favorite",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Clientes obtenidos correctamente\",\n  \"data\": [\n    {\n      \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n      \"recipientName\": \"Cliente Prueba\",\n      \"recipientEmail\": \"cliente.prueba@example.com\",\n      \"recipientPhone\": \"70000000\",\n      \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n      \"districtId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0006\",\n      \"districtName\": \"SAN SALVADOR\",\n      \"municipalityId\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n      \"municipalityName\": \"SAN SALVADOR CENTRO\",\n      \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\",\n      \"departmentName\": \"SAN SALVADOR\",\n      \"postalCode\": \"1101\",\n      \"favorite\": true,\n      \"recipientCreateAt\": \"lunes 2 de junio a las 12:30\"\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "791968fa-03fb-47c7-8321-b220ba1f86d7",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "branchsClientId",
                          "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23"
                        },
                        {
                          "key": "favorite",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "c9d134f5-9518-4969-9654-521f5ac2b629",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "branchsClientId",
                          "value": "e49a8a49-252f-051c-37b1-fcda0eb60d23"
                        },
                        {
                          "key": "favorite",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener clientes de la sucursal\",\n  \"data\": []\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "07796f7c-ec27-460a-97a3-b3d984b80c78",
              "name": "Register a new client",
              "request": {
                "name": "Register a new client",
                "description": {
                  "content": "Creates a new client/recipient linked to the merchant.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsClient"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientEmail\": \"cliente.prueba@example.com\",\n  \"saveClient\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "917d3423-fbab-4805-bdeb-81c8124f6254",
                  "name": "Client registered",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientEmail\": \"cliente.prueba@example.com\",\n  \"saveClient\": true\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Created",
                  "code": 201,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 201,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Cliente procesado correctamente\",\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "c669c1a2-a441-4784-863b-a58bf9e75d92",
                  "name": "Validation errors. The API joins all errors into a single message, separated by `;`.\nPossible messages per field (in Spanish): `es requerido` (is required), `debe ser una cadena` (must be a string), `debe tener al menos N caracteres` (must have at least N characters), `no debe exceder los N caracteres` (must not exceed N characters), `tiene un formato inválido` (has an invalid format).\n",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientEmail\": \"cliente.prueba@example.com\",\n  \"saveClient\": true\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Errores de validación en los campos: \\\"recipientPhone\\\": es requerido; \\\"municipalityCode\\\": tiene un formato inválido\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "00f01c43-bd41-4155-a3ba-6bbe658836c2",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientEmail\": \"cliente.prueba@example.com\",\n  \"saveClient\": true\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "61a09fbc-0e99-4f1d-adec-dcad84f2fb9b",
                  "name": "Internal error while creating the client",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientEmail\": \"cliente.prueba@example.com\",\n  \"saveClient\": true\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al crear el cliente: <detalle>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "fb278b68-1126-4f68-b220-0acddd36ff1c",
              "name": "Update client data",
              "request": {
                "name": "Update client data",
                "description": {
                  "content": "Updates an existing client's information. Send all the fields plus the `branchsClientId`.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsClient"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PUT",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientEmail\": \"cliente.prueba@example.com\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "cc5c5c17-c18d-4719-9685-cef1e24ef5a4",
                  "name": "Client updated",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientEmail\": \"cliente.prueba@example.com\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Cliente actualizado correctamente\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "d68a43a7-8b0f-4aa5-b284-681d9c56260d",
                  "name": "Validation errors (same format as on creation; includes `branchsClientId`)",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientEmail\": \"cliente.prueba@example.com\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Errores de validación en los campos: \\\"branchsClientId\\\": es requerido\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "1ea2424e-f364-4d43-ab03-fc44590900db",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientEmail\": \"cliente.prueba@example.com\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "c1bd1a26-9974-40bc-b586-fc1d3b87ad33",
                  "name": "Internal error while updating the client",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PUT",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"municipalityCode\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n  \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n  \"recipientName\": \"Cliente Prueba\",\n  \"recipientPhone\": \"70000000\",\n  \"recipientEmail\": \"cliente.prueba@example.com\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al actualizar el cliente: <detalle>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "d6dd797b-68db-4ff8-9e43-ef02e125de0f",
              "name": "Delete a client",
              "request": {
                "name": "Delete a client",
                "description": {
                  "content": "Deletes a client of the merchant. The ID is sent in the body.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsClient"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "DELETE",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "5d20cec8-e9d4-4bd2-ac60-33719b1d3bc9",
                  "name": "Client deleted",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "DELETE",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Cliente eliminado correctamente\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "b65d0652-f175-45aa-873a-dec08b24b0f0",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "DELETE",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "885ca797-1ea6-4fa7-8063-a402c04f5baf",
                  "name": "The branchsClientId is missing or is not a valid UUID",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "DELETE",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Conflict",
                  "code": 409,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 409,\n  \"response_status\": \"Error\",\n  \"response_message\": \"branchsClientId es obligatorio y debe ser un UUID válido\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "24f6407d-e296-46d9-ad1d-3f65e1f0fe41",
                  "name": "Internal error while deleting the client",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "DELETE",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al eliminar el cliente: <detalle>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "794bf7b8-805e-48ea-9dfc-e27858e0a16c",
              "name": "Mark or unmark a favorite client",
              "request": {
                "name": "Mark or unmark a favorite client",
                "description": {
                  "content": "Marks a client as a favorite or removes that mark.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsClient"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "PATCH",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"favoriteStatus\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "5f15df7b-5fed-42b7-8ac9-7d049ca1efdc",
                  "name": "Favorite status updated",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PATCH",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"favoriteStatus\": 1\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Cliente marcado como favorito\",\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"favorite\": true\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "dfddbb61-6af7-429c-9b95-db1f3bac2f31",
                  "name": "A parameter is missing or has an invalid value",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PATCH",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"favoriteStatus\": 1\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"branchsClientId (UUID) y favoriteStatus (0, 1, true o false) son obligatorios\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "4015579c-89bc-4572-a108-02adc0b9a30b",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PATCH",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"favoriteStatus\": 1\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "f8ae3912-69be-43d6-bd09-774bc5366d05",
                  "name": "Internal error while updating the favorite",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "PATCH",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n  \"favoriteStatus\": 1\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al actualizar favorito del cliente: <detalle>\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "7f76503c-4ede-41e5-ace0-a0a61280c813",
              "name": "Search branch clients",
              "request": {
                "name": "Search branch clients",
                "description": {
                  "content": "Searches the merchant's clients by text (name, phone, email…), with an optional favorites filter. Returns favorites first.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "branchsClient",
                    "search"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "key": "search",
                      "value": "Cliente Prueba",
                      "description": "Optional. Text to search for."
                    },
                    {
                      "disabled": false,
                      "key": "favorite",
                      "value": "-1",
                      "description": "`-1` = all, `1` or `true` = favorites only, `0` = non-favorites only. If omitted or set to any other value, `0` is used: send `-1` to search all of them."
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET"
              },
              "response": [
                {
                  "id": "deea829d-9628-4e08-9a74-5d7e2aebc08c",
                  "name": "Search completed",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient",
                        "search"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "search",
                          "value": "Cliente Prueba"
                        },
                        {
                          "key": "favorite",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 9825,\n  \"response_status\": \"string\",\n  \"response_message\": \"string\",\n  \"data\": [\n    {\n      \"branchsClientId\": \"f3763ef1-f3fc-b790-5964-8d3549d533fc\",\n      \"recipientName\": \"string\",\n      \"recipientEmail\": \"string\",\n      \"recipientPhone\": \"string\",\n      \"recipientAddress\": \"string\",\n      \"districtId\": \"c23938c1-fc54-dd81-b581-a60469438ebd\",\n      \"districtName\": \"string\",\n      \"municipalityId\": \"62946495-a633-83fd-d23a-540185aeed3a\",\n      \"municipalityName\": \"string\",\n      \"departmentId\": \"6608f34f-6a3e-843b-79ab-4bdbd48b0ece\",\n      \"departmentName\": \"string\",\n      \"postalCode\": \"string\",\n      \"favorite\": true,\n      \"recipientCreateAt\": \"string\"\n    },\n    {\n      \"branchsClientId\": \"7419b773-c49b-bb96-406f-570a28b9924c\",\n      \"recipientName\": \"string\",\n      \"recipientEmail\": \"string\",\n      \"recipientPhone\": \"string\",\n      \"recipientAddress\": \"string\",\n      \"districtId\": \"5c8fb54e-9032-380b-241b-b6495a2ef8cf\",\n      \"districtName\": \"string\",\n      \"municipalityId\": \"fa7d3fdf-1a71-f332-3a98-add302119175\",\n      \"municipalityName\": \"string\",\n      \"departmentId\": \"a8f684ee-8b34-49f8-f373-064485d6cf78\",\n      \"departmentName\": \"string\",\n      \"postalCode\": \"string\",\n      \"favorite\": true,\n      \"recipientCreateAt\": \"string\"\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "c2ef2fc5-1ed3-4658-8fe9-db0d5c3dad0d",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient",
                        "search"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "search",
                          "value": "Cliente Prueba"
                        },
                        {
                          "key": "favorite",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "7398ba9a-a3b0-4953-a437-43e9d2af28d7",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "branchs",
                        "branchsClient",
                        "search"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "search",
                          "value": "Cliente Prueba"
                        },
                        {
                          "key": "favorite",
                          "value": "-1"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al buscar clientes de la sucursal\",\n  \"data\": []\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            }
          ]
        }
      ]
    },
    {
      "name": "History",
      "item": [
        {
          "id": "2acab125-74f7-487e-b24c-abc5addcf126",
          "name": "Get order history",
          "request": {
            "name": "Get order history",
            "description": {
              "content": "Returns the merchant's orders with their current status, courier and recipient, plus the period's totals (orders, in route, completed and cancelled).\nEach order includes its public tracking URL in `tracking.URLtracking`.\n\nThe body is required (without a body it returns 500), but all its fields are optional: with `{}` it returns the first page (20 orders), from the most recent to the oldest.\nWith `export: 1` it also generates an Excel file with all the results and returns its URL in `export.URLDataExcel`.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "branchs",
                "history",
                "orders"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onDelivery\": true\n  },\n  \"order\": {\n    \"by\": \"createdAt\",\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "5667c85e-dc77-4289-a2ee-cbc1af3b4bd1",
              "name": "Order history retrieved. The orders are in `data.data` and the pagination in `data.pagination`.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onDelivery\": true\n  },\n  \"order\": {\n    \"by\": \"createdAt\",\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Historial obtenido correctamente\",\n  \"data\": {\n    \"pagination\": {\n      \"page\": 1,\n      \"limit\": 20,\n      \"max_limit\": 50,\n      \"total\": 1,\n      \"total_pages\": 1,\n      \"has_next\": false,\n      \"has_prev\": false,\n      \"from\": 1,\n      \"to\": 1\n    },\n    \"totals\": {\n      \"totalOrders\": {\n        \"value\": 1,\n        \"changePercentage\": 0\n      },\n      \"inRoute\": {\n        \"value\": 1,\n        \"changePercentage\": 0\n      },\n      \"completed\": {\n        \"value\": 0\n      },\n      \"cancelled\": {\n        \"value\": 0\n      }\n    },\n    \"data\": [\n      {\n        \"ordersId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n        \"order\": {\n          \"comprobante\": \"29137811\",\n          \"createdAt\": \"2026-10-07 10:15:00\",\n          \"platform\": \"API\",\n          \"productDescription\": \"Ropa\",\n          \"totalWeight\": 4,\n          \"packageCount\": 1,\n          \"onDelivery\": true,\n          \"paidShipping\": false,\n          \"consignmentValue\": 10,\n          \"deliveryCost\": 3.39,\n          \"baseCommissionAmount\": 0.5,\n          \"pcme\": 0,\n          \"branchDepartmentName\": \"SAN SALVADOR\",\n          \"branchMunicipalityName\": \"SAN SALVADOR CENTRO\"\n        },\n        \"status\": {\n          \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0022\",\n          \"statusDescription\": \"En ruta de entrega\",\n          \"subStatusMainId\": \"0199a1b2-6666-7e5f-8a6b-1c2d3e4f0031\",\n          \"subStatusDescription\": \"En ruta de entrega\",\n          \"flowGroup\": \"delivery\",\n          \"statusColor\": \"#1565C0\",\n          \"lastMovementDate\": \"2026-10-07 14:30:00\"\n        },\n        \"courier\": {\n          \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n          \"courierName\": \"Mensajería Ejemplo\",\n          \"courierLogo\": \"https://...\",\n          \"courierPhone\": null\n        },\n        \"recipient\": {\n          \"branchsClientId\": \"0199a1b2-2222-7e5f-8a6b-1c2d3e4f0003\",\n          \"recipientName\": \"Cliente Prueba\",\n          \"recipientPhone\": \"70000000\",\n          \"recipientAddress\": \"Calle Ficticia #456, Colonia Prueba, San Salvador\",\n          \"departmentCode\": \"06\",\n          \"departmentName\": \"SAN SALVADOR\",\n          \"municipalityCode\": \"0614\",\n          \"municipalityName\": \"SAN SALVADOR CENTRO\",\n          \"favoriteClient\": true,\n          \"branchsClientStatus\": true\n        },\n        \"tracking\": {\n          \"URLtracking\": \"https://...\"\n        }\n      }\n    ]\n  },\n  \"export\": {\n    \"URLDataExcel\": \"\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "306a3476-848d-4332-8c0e-e53164947a6c",
              "name": "Invalid filter, sorting or pagination. Only the first error found is reported, with the format `Error en campo \"<campo>\": <motivo>` (error in field \"<field>\": <reason>); the field name has no `filters.` prefix.\nPossible reasons (in Spanish): `debe ser 0 o 1` (must be 0 or 1; `export`), `debe ser formato YYYY-MM-DD válido` (must be a valid YYYY-MM-DD date), `dateFrom no puede ser mayor a dateTo` (dateFrom cannot be later than dateTo; field `dateRange`), `debe ser un UUID válido` (must be a valid UUID), `debe ser 0, 1, true o false` (must be 0, 1, true or false), `decimal inválido (máx 2 decimales)` (invalid decimal, max 2 decimals), `texto inválido` (invalid text; `comprobante`, `nomDestinatario`), `valor inválido` (invalid value; `pagination.page`, `pagination.limit`), `campo inválido` (invalid field; `order.by`) and `debe ser ASC o DESC` (must be ASC or DESC; `order.direction`).\n",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onDelivery\": true\n  },\n  \"order\": {\n    \"by\": \"createdAt\",\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error en campo \\\"dateFrom\\\": debe ser formato YYYY-MM-DD válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "3be7ceea-fadf-4218-a7ba-73696b43af5c",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onDelivery\": true\n  },\n  \"order\": {\n    \"by\": \"createdAt\",\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "a9768ff9-0796-42f1-a6bd-2f184ac36d38",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "orders"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onDelivery\": true\n  },\n  \"order\": {\n    \"by\": \"createdAt\",\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener historial órdenes: <detalle>\",\n  \"data\": {\n    \"pagination\": {\n      \"page\": 1,\n      \"limit\": 20,\n      \"max_limit\": 50,\n      \"total\": 0,\n      \"total_pages\": 0,\n      \"has_next\": false,\n      \"has_prev\": false,\n      \"from\": 0,\n      \"to\": 0\n    },\n    \"data\": []\n  },\n  \"export\": {\n    \"URLDataExcel\": \"\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "348c4bb5-ce6a-45cc-9ae3-8db93f91ed4e",
          "name": "Get transaction and movement history",
          "request": {
            "name": "Get transaction and movement history",
            "description": {
              "content": "Returns the merchant's transactions (top-ups and payments) with their related balance movements: shipping charges, commissions, refunds and benefits.\nEach transaction includes the payment method, the wallet summary (previous balance, amount used and remaining balance) and the list of movements with their order, courier and service.\nBenefit movements (`movementIsBenefit: true`) include their details in `benefit`; in the other movements `benefit` is `null`.\n\nEvery body field is optional: without a body it returns the first page (20 transactions), from the most recent to the oldest.\nWith `export: 1` it also generates an Excel file with all the results and returns its URL in `export.URLDataExcel`.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "branchs",
                "history",
                "transactionsAndMovements"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onlyFilteredMovements\": 0\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "732a4867-478b-4a71-a272-78542057912a",
              "name": "Transactions and movements retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "transactionsAndMovements"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onlyFilteredMovements\": 0\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Movimientos del comercio obtenidos correctamente.\",\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20,\n    \"max_limit\": 50,\n    \"total\": 1,\n    \"total_pages\": 1,\n    \"has_next\": false,\n    \"has_prev\": false,\n    \"from\": 1,\n    \"to\": 1\n  },\n  \"totals\": {\n    \"totalTransactions\": {\n      \"value\": 1,\n      \"changePercentage\": 0\n    },\n    \"totalVolume\": {\n      \"value\": 25,\n      \"changePercentage\": 0\n    },\n    \"totalBenefits\": {\n      \"value\": 0\n    }\n  },\n  \"data\": [\n    {\n      \"transaction\": {\n        \"transactionId\": \"0199a1b2-cccc-7e5f-8a6b-1c2d3e4f0051\",\n        \"createdAt\": \"2026-10-05 09:00:00\",\n        \"transactionAmount\": 25,\n        \"transactionGatewayId\": \"0199a1b2-dddd-7e5f-8a6b-1c2d3e4f0052\",\n        \"transactionGatewayCode\": \"PASARELA_EJEMPLO\",\n        \"transactionGatewayLabel\": \"Pago con tarjeta (Pasarela Ejemplo)\",\n        \"gatewayTransactionReference\": \"REF-000001\",\n        \"internalTransactionReference\": \"INT-000001\"\n      },\n      \"paymentMethod\": {\n        \"paymentCardId\": \"0199a1b2-eeee-7e5f-8a6b-1c2d3e4f0053\",\n        \"cardBin\": \"424242\",\n        \"cardLast4\": \"4242\",\n        \"cardMasked\": \"4242 42** **** 4242\",\n        \"typeCard\": \"VISA\",\n        \"cardOwner\": \"Cliente Prueba\"\n      },\n      \"wallet\": {\n        \"rechargeAmount\": 25,\n        \"previousWalletBalance\": 20.61,\n        \"walletMovementAmount\": 3.89,\n        \"walletNetAmount\": 21.11,\n        \"walletUsedPreviousBalanceAmount\": 0,\n        \"residualWalletBalance\": 41.72,\n        \"benefitAmount\": 0\n      },\n      \"summary\": {\n        \"movementsCount\": 1,\n        \"movementDeliveryCostAmount\": 3.39,\n        \"movementCourierCostAmount\": 2.8,\n        \"movementFeeVolaoAmount\": 0.5,\n        \"movementBenefitAmount\": 0\n      },\n      \"movements\": [\n        {\n          \"transactionMovementId\": \"0199a1b2-ffff-7e5f-8a6b-1c2d3e4f0054\",\n          \"movementReasonId\": \"0199a1b2-1212-7e5f-8a6b-1c2d3e4f0055\",\n          \"movementReasonCode\": \"ORDER_PAYMENT\",\n          \"movementDescription\": \"Shipping Payment\",\n          \"movementIsCredit\": false,\n          \"movementIsBenefit\": false,\n          \"movementDate\": \"2026-10-07 10:15:00\",\n          \"order\": {\n            \"orderId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n            \"comprobanteAf\": \"29137811\",\n            \"deliveryCost\": 3.39,\n            \"courierCost\": 2.8,\n            \"feeVolao\": 0.5\n          },\n          \"courier\": {\n            \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n            \"courierName\": \"Mensajería Ejemplo\",\n            \"courierLogo\": \"https://...\"\n          },\n          \"service\": {\n            \"courierServiceId\": \"019f88a7-40d5-75b5-add9-87e652d9ba69\",\n            \"serviceId\": \"0199a1b2-aaaa-7e5f-8a6b-1c2d3e4f0041\",\n            \"serviceName\": \"Entrega a domicilio\",\n            \"serviceTypeId\": \"0199a1b2-bbbb-7e5f-8a6b-1c2d3e4f0042\",\n            \"serviceTypeName\": \"Estándar\"\n          },\n          \"balances\": {\n            \"previousBalance\": 45.61,\n            \"transactionBalance\": -3.89,\n            \"newBalance\": 41.72\n          },\n          \"benefit\": null\n        }\n      ]\n    }\n  ],\n  \"export\": {\n    \"URLDataExcel\": \"\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "dd4eabf7-f345-42fd-8297-8975c0167a3e",
              "name": "Invalid filter, sorting or pagination. Only the first error found is reported, with the format `Error en campo \"<campo>\": <motivo>` (error in field \"<field>\": <reason>).\nPossible reasons (in Spanish): `debe ser 0 o 1` (must be 0 or 1; `export` and `filters.onlyFilteredMovements`, as a number), `debe ser un UUID válido` (must be a valid UUID), `número inválido` (invalid number; negative amounts or values that are not numbers), `texto inválido (máx N caracteres)` (invalid text, max N characters), `debe contener exactamente 4 dígitos` (must contain exactly 4 digits), `debe ser una fecha válida (YYYY-MM-DD)` (must be a valid date), `dateFrom no puede ser mayor a dateTo` (dateFrom cannot be later than dateTo), `debe ser un entero mayor a 0` (must be an integer greater than 0; `pagination.page`), `debe ser un entero entre 1 y 50` (must be an integer between 1 and 50; `pagination.limit`) and `debe ser ASC o DESC` (must be ASC or DESC; `order.direction`).\n",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "transactionsAndMovements"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onlyFilteredMovements\": 0\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error en campo \\\"filters.ordersId\\\": debe ser un UUID válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "ab088602-2a2d-4b8c-881e-4645315ef6d4",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "transactionsAndMovements"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onlyFilteredMovements\": 0\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "245d5607-5bfc-4e15-8bcd-88537cdbef07",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "transactionsAndMovements"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"onlyFilteredMovements\": 0\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener los movimientos del comercio\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "6213b3f6-717f-4430-882d-4d0763ad9a85",
          "name": "Get benefit history",
          "request": {
            "name": "Get benefit history",
            "description": {
              "content": "Returns the benefits the merchant received, with their order, courier and the balance movement they generated. For example, the shipping cashback (`CBE`): a percentage of the shipping cost returned to the balance when the order is delivered, according to the merchant's subscription tier.\nIncludes the period's totals: number and amount of benefits, current and previous month amount, reversed amount and a breakdown by type.\n\nEvery body field is optional: without a body it returns the first page (20 benefits), from the most recent to the oldest.\nWith `export: 1` it also generates an Excel file with all the results and returns its URL in `export.URLDataExcel`.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "branchs",
                "history",
                "benefits"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"status\": \"APPLIED\"\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "3e33db14-43b2-41d4-bc89-6314020005d8",
              "name": "Benefits retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "benefits"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"status\": \"APPLIED\"\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Beneficios del comercio obtenidos correctamente.\",\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20,\n    \"max_limit\": 50,\n    \"total\": 1,\n    \"total_pages\": 1,\n    \"has_next\": false,\n    \"has_prev\": false,\n    \"from\": 1,\n    \"to\": 1\n  },\n  \"totals\": {\n    \"totalBenefits\": {\n      \"value\": 1,\n      \"changePercentage\": 0\n    },\n    \"totalAmount\": {\n      \"value\": 0.17,\n      \"changePercentage\": 0\n    },\n    \"currentMonthAmount\": 0.17,\n    \"previousMonthAmount\": 0,\n    \"reversedAmount\": 0,\n    \"byType\": [\n      {\n        \"movementCode\": \"CBE\",\n        \"movementName\": \"CASHBACK POR ENVÍO\",\n        \"count\": 1,\n        \"amount\": 0.17\n      }\n    ]\n  },\n  \"data\": [\n    {\n      \"benefit\": {\n        \"benefitId\": \"0199a1b2-1313-7e5f-8a6b-1c2d3e4f0061\",\n        \"movementCode\": \"CBE\",\n        \"movementName\": \"CASHBACK POR ENVÍO\",\n        \"movementColor\": \"rgb(235 243 237)\",\n        \"status\": \"APPLIED\",\n        \"amount\": 0.17,\n        \"baseAmount\": 3.39,\n        \"rate\": 0.05,\n        \"detail\": \"Beneficio aplicado a la orden 29137811\",\n        \"metadata\": {\n          \"tierCode\": \"TIER1\",\n          \"deliveredAt\": \"2026-10-08 11:00:00\"\n        },\n        \"createdAt\": \"2026-10-08 11:00:05\",\n        \"reversedAt\": null\n      },\n      \"subscription\": {\n        \"subscriptionTierId\": \"0199a1b2-1414-7e5f-8a6b-1c2d3e4f0062\",\n        \"tierCode\": \"TIER1\",\n        \"tierName\": \"Tier 1 - Basic Extensions\"\n      },\n      \"order\": {\n        \"orderId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n        \"comprobanteAf\": \"29137811\",\n        \"deliveryCost\": 3.39,\n        \"deliveredAt\": null\n      },\n      \"courier\": {\n        \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n        \"courierName\": \"Mensajería Ejemplo\",\n        \"courierLogo\": \"https://...\"\n      },\n      \"movement\": {\n        \"balanceTransactionId\": \"0199a1b2-1515-7e5f-8a6b-1c2d3e4f0063\",\n        \"paymentTransactionId\": \"0199a1b2-1616-7e5f-8a6b-1c2d3e4f0064\",\n        \"previousBalance\": 41.72,\n        \"newBalance\": 41.89,\n        \"reversedBalanceTransactionId\": null\n      }\n    }\n  ],\n  \"export\": {\n    \"URLDataExcel\": \"\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "fe634f4e-694c-46f7-b6b8-93c6305492e9",
              "name": "Invalid filter, sorting or pagination. Only the first error found is reported, with the format `Error en campo \"<campo>\": <motivo>` (error in field \"<field>\": <reason>).\nPossible reasons (in Spanish): `debe ser 0 o 1` (must be 0 or 1; `export`, as a number), `debe ser un código de texto válido (máx 20 caracteres)` (must be a valid text code, max 20 characters; `filters.movementCode`), `debe ser un UUID válido` (must be a valid UUID), `texto inválido (máx N caracteres)` (invalid text, max N characters; `filters.comprobante`, `filters.status`), `debe ser una fecha válida (YYYY-MM-DD)` (must be a valid date), `dateFrom no puede ser mayor a dateTo` (dateFrom cannot be later than dateTo), `debe ser un entero mayor a 0` (must be an integer greater than 0; `pagination.page`), `debe ser un entero entre 1 y 50` (must be an integer between 1 and 50; `pagination.limit`) and `debe ser ASC o DESC` (must be ASC or DESC; `order.direction`).\n",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "benefits"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"status\": \"APPLIED\"\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error en campo \\\"filters.ordersId\\\": debe ser un UUID válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "de6dd290-9301-41dc-a90e-df41e0a4c447",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "benefits"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"status\": \"APPLIED\"\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "d4354f6f-bd37-44d6-9114-7cfd0ece2fea",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "benefits"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\",\n    \"status\": \"APPLIED\"\n  },\n  \"order\": {\n    \"direction\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener los beneficios del comercio\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "ff2082d0-dcd1-4ab6-94de-12af8724f773",
          "name": "Get settlement history",
          "request": {
            "name": "Get settlement history",
            "description": {
              "content": "Returns the merchant's settlements (statements): the payment to the merchant of what was collected on delivery, minus the shipping cost and the commission.\nEach statement includes the bank account where it was deposited, its totals and the orders it settles.\n\nEvery body field is optional: without a body it returns the first page (20 statements), from the most recent to the oldest.\nWith `export: 1` it also generates an Excel file with all the results and returns its URL in `export.URLDataExcel`.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "branchs",
                "history",
                "settlements"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filters\": {\n    \"dateType\": \"settlementDate\",\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\"\n  },\n  \"order\": {\n    \"orderBy\": \"settlementDate\",\n    \"orderDirection\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "189f15b9-4064-4d45-ac7c-a6a841fefea7",
              "name": "Settlement history retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "settlements"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateType\": \"settlementDate\",\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\"\n  },\n  \"order\": {\n    \"orderBy\": \"settlementDate\",\n    \"orderDirection\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Historial de liquidaciones obtenido correctamente\",\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20,\n    \"max_limit\": 150,\n    \"total\": 1,\n    \"total_pages\": 1,\n    \"has_next\": false,\n    \"has_prev\": false,\n    \"from\": 1,\n    \"to\": 1\n  },\n  \"data\": [\n    {\n      \"acta\": {\n        \"codActa\": 1024,\n        \"settlementDate\": \"2026-10-15\",\n        \"totalOrders\": 1\n      },\n      \"bankAccount\": {\n        \"titular\": \"Comercio Prueba\",\n        \"bankId\": \"0199a1b2-8888-7e5f-8a6b-1c2d3e4f0009\",\n        \"bankName\": \"Banco Prueba\",\n        \"typeAccountId\": \"0199a1b2-9999-7e5f-8a6b-1c2d3e4f0010\",\n        \"typeAccountName\": \"Ahorro\",\n        \"accountNumber\": \"0000000000\"\n      },\n      \"totals\": {\n        \"totalConsignmentValue\": 10,\n        \"totalDeliveryCost\": 3.39,\n        \"totalCommission\": 0.5,\n        \"totalSettledAmount\": 6.11\n      },\n      \"orders\": [\n        {\n          \"orderId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n          \"comprobante\": \"29137811\",\n          \"deliveryDate\": \"2026-10-10\",\n          \"consignmentValue\": 10,\n          \"deliveryCost\": 3.39,\n          \"commission\": 0.5,\n          \"settledAmount\": 6.11\n        }\n      ]\n    }\n  ],\n  \"export\": {\n    \"URLDataExcel\": \"\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "9802553f-e859-48de-bf63-9497a1636255",
              "name": "Invalid filters, sorting or pagination. Only the first error found is reported.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "settlements"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateType\": \"settlementDate\",\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\"\n  },\n  \"order\": {\n    \"orderBy\": \"settlementDate\",\n    \"orderDirection\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"orderBy inválido. Valores permitidos: orderId, comprobante, deliveryDate, codActa, settlementDate, titular, bankId, bankName, typeAccountId, typeAccountName, accountNumber, consignmentValue, deliveryCost, commission, settledAmount\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "0d0604c2-45d6-492e-9a74-d8ac1fc83d71",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "settlements"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateType\": \"settlementDate\",\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\"\n  },\n  \"order\": {\n    \"orderBy\": \"settlementDate\",\n    \"orderDirection\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "342b31ee-febb-464f-a9ed-1a6bd09b21e0",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "history",
                    "settlements"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"filters\": {\n    \"dateType\": \"settlementDate\",\n    \"dateFrom\": \"2026-10-01\",\n    \"dateTo\": \"2026-10-31\"\n  },\n  \"order\": {\n    \"orderBy\": \"settlementDate\",\n    \"orderDirection\": \"DESC\"\n  },\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 20\n  },\n  \"export\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener el historial de liquidaciones\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "3f28dd7a-f2ea-4989-9598-ac09ffe2b079",
          "name": "Get a settlement detail",
          "request": {
            "name": "Get a settlement detail",
            "description": {
              "content": "Returns the detail of one of the merchant's settlement statements: the bank account where it was deposited, the orders it includes with their amounts, and the totals.\nFor each order: the amount collected (`montoEnvio`), the shipping cost (`costoEnvio`), the commission (`cme`) and the amount settled to the merchant (`montoLiquidado`).\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "branchs",
                "settlements",
                "liquidationActs"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"codActa\": \"0199a1b2-1919-7e5f-8a6b-1c2d3e4f0081\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "10d564a4-85b5-4532-aecb-fba1d8ef2405",
              "name": "Settlement detail retrieved",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "settlements",
                    "liquidationActs"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"codActa\": \"0199a1b2-1919-7e5f-8a6b-1c2d3e4f0081\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Datos de liquidación obtenidos correctamente\",\n  \"data\": {\n    \"accountData\": {\n      \"codActa\": 1024,\n      \"actaFecha\": \"2026-10-15\",\n      \"branchId\": \"0199a1b2-0000-7e5f-8a6b-1c2d3e4f0001\",\n      \"branchName\": \"Comercio Prueba\",\n      \"branchEmail\": \"comercio.prueba@example.com\",\n      \"titular\": \"Comercio Prueba\",\n      \"bankName\": \"Banco Prueba\",\n      \"typeAccount\": \"Ahorro\",\n      \"accountNumber\": \"0000000000\"\n    },\n    \"orders\": [\n      {\n        \"ordersId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n        \"montoEnvio\": 10,\n        \"costoEnvio\": 3.39,\n        \"cme\": 0.5,\n        \"montoLiquidado\": 6.11\n      }\n    ],\n    \"totals\": {\n      \"totalMontoEnvio\": 10,\n      \"totalCostoEnvio\": 3.39,\n      \"totalCme\": 0.5,\n      \"totalLiquidado\": 6.11\n    }\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "f05033b1-9bf0-45a7-b1cc-7d4884ad4782",
              "name": "codActa is missing or is not a valid UUID",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "settlements",
                    "liquidationActs"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"codActa\": \"0199a1b2-1919-7e5f-8a6b-1c2d3e4f0081\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"codActa es requerido y debe ser un UUID válido\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "06aaaf63-67a4-420d-9163-cd17ed2b8050",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "settlements",
                    "liquidationActs"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"codActa\": \"0199a1b2-1919-7e5f-8a6b-1c2d3e4f0081\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "dc30a52b-92c1-405f-a0e2-a423e94f79d7",
              "name": "Internal error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "branchs",
                    "settlements",
                    "liquidationActs"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"codActa\": \"0199a1b2-1919-7e5f-8a6b-1c2d3e4f0081\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener los datos del acta de liquidación\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "Batch operations",
      "item": [
        {
          "id": "a620b356-d565-4f2e-a4d1-b3817ab7fc27",
          "name": "Generate the Excel template for batch shipments",
          "request": {
            "name": "Generate the Excel template for batch shipments",
            "description": {
              "content": "Generates the Excel template (.xlsx) configured for the merchant and returns a temporary URL to download it. Fill in one row per order and upload it with `POST /api/batchShipping`.\n\nThe template has drop-down lists with the merchant's pickup addresses, the couriers with their services and service types, and the departments and municipalities. It has room for 499 orders (rows 2 to 500).\n\nThe URL is public (no token required) and the file is temporary: download it as soon as you receive it.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "batchShipping"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET"
          },
          "response": [
            {
              "id": "3242d5b3-c32d-4ef9-ada2-2344fe430488",
              "name": "Template generated",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Plantilla Excel generada correctamente\",\n  \"data\": {\n    \"url\": \"https://api.volao.app/api/tmp/shipping-template-0199a1b2-0000-7000-8000-000000000001-1759900000000.xlsx\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "6acae39f-23b2-4678-b269-f001177922fa",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "d3ef08f2-463a-46ec-bab7-2248ef62e5e6",
              "name": "Error while generating the template",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error al generar la plantilla Excel\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "f055a7fc-98ec-4eb4-aff7-dd79d8047d52",
          "name": "Create batch orders (Excel upload)",
          "request": {
            "name": "Create batch orders (Excel upload)",
            "description": {
              "content": "Creates several orders from the filled-in Excel template (`GET /api/batchShipping`). Each row is validated and processed separately.\n**The response is 200 even if some rows fail:** check `isValid` and `response_message` of each row in `data[]`.\n`codeExcel` is the row number in the Excel file, to locate the errors.\n\n**How to send the file**\n\n- Send it as `multipart/form-data` in the `file` field, with the Excel content type\n  (`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`). If the file arrives with another type\n  (for example `application/octet-stream`), it is rejected. With curl: `-F \"file=@plantilla.xlsx;type=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"`.\n- Only the .xlsx format is read. An .xls file (old format) is rejected with `El archivo no pudo ser leído como Excel`.\n- The first sheet is read; row 1 holds the headers and empty rows are skipped.\n- Fill in the template in Excel or another spreadsheet app that saves formula results: the hidden columns\n  calculate the IDs (address, municipality, service) from what you pick in the lists. If the file is generated\n  with a library that does not calculate formulas, the rows fail.\n\n**Columns and per-row validations**\n\nEach row is validated in this order and only the first error is reported:\n\n| Column | Data | Rule | Message if it fails |\n| --- | --- | --- | --- |\n| B | Client name | Required, 2 to 150 characters | `El nombre del cliente es obligatorio y no puede estar vacío`, `El nombre del cliente debe contener al menos 2 caracteres`, `El nombre del cliente es demasiado largo. No puede superar los 150 caracteres` |\n| C | Client phone | Required, 7 to 9 characters: digits and, optionally, a hyphen | `El número de teléfono del cliente es obligatorio`, `El número de teléfono del cliente no puede tener más de 9 caracteres. Puede ingresarse con o sin guion`, `El número de teléfono del cliente solo puede contener números y, opcionalmente, un guion` |\n| D | Shipping address | Required, 5 to 250 characters | `La dirección del cliente es obligatoria y no puede estar vacía`, `La dirección del cliente es demasiado corta. Debe contener al menos 5 caracteres`, `La dirección del cliente es demasiado larga. No puede superar los 250 caracteres` |\n| E, F | Department and municipality | Picked from the list | `No se pudo identificar el municipio del cliente. Verifica que el municipio exista y esté correctamente seleccionado` |\n| A | Pickup address | Picked from the list | `Seleccione una dirección de recolección válida` |\n| I | Courier | Required | `Seleccione un courier válido` |\n| J | Service | Required | `Seleccione un servicio` |\n| K | Service type | Required; the courier, service and type combination must exist in the list | `Seleccione un tipo de servicio`, `La combinación de courier, servicio y tipo de servicio no es válida` |\n| L | Delivery type | `Entrega Normal (Sin Cobro)` (normal delivery, no collection) or `Cobro Contra Entrega` (cash on delivery) | `Seleccione un tipo de entrega válido` |\n| N | Product description | Required, up to 150 characters | `Ingrese una descripción del producto`, `La descripción del producto es demasiado larga` |\n| H | Weight (lb) | Number greater than 0 | `Ingrese un peso válido` |\n| G | Number of packages | Integer from 1 to 50 | `Ingrese una cantidad de paquetes válida` |\n| M | Amount to collect | Greater than 0 with `Cobro Contra Entrega`; without collection, empty or greater than or equal to 0 | `Ingrese un monto a cobrar válido, por ejemplo 15.50`, `El monto a cobrar no puede ser negativo` |\n| O | Comments | Optional, up to 300 characters | `Los comentarios son demasiado largos` |\n\n**What each valid row does**\n\nSaves or updates the recipient in the merchant's clients and creates the order just like `POST /api/orders`:\nit generates the shipping label and deducts the cost from the balance. If the creation fails (for example, because of the balance or a courier error),\nthe row comes back with `isValid: false` and the message of that error. The other rows are still processed.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "batchShipping"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "multipart/form-data"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "file",
                  "type": "file",
                  "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                  "description": "(Required) Excel template (.xlsx) from `GET /api/batchShipping` with at least one data row. The request body accepts up to 30 MB."
                }
              ]
            }
          },
          "response": [
            {
              "id": "6a072fe5-c5bf-4d4c-8b57-9e023bf50d68",
              "name": "File processed; check the result of each row",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Excel template (.xlsx) from `GET /api/batchShipping` with at least one data row. The request body accepts up to 30 MB.",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "type": "file",
                      "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Archivo procesado\",\n  \"data\": [\n    {\n      \"codeExcel\": 2,\n      \"ordersId\": \"0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\",\n      \"courierName\": \"Mensajería Ejemplo\",\n      \"comprobante\": \"29137811\",\n      \"recipientName\": \"Cliente Prueba\",\n      \"departmentName\": \"SAN SALVADOR\",\n      \"municipalityName\": \"SAN SALVADOR CENTRO\",\n      \"recipientAddress\": \"Calle Ficticia #123, Colonia Prueba\",\n      \"totalWeight\": 4,\n      \"cantPackages\": 1,\n      \"shippingAmount\": 10,\n      \"onDelivery\": 1,\n      \"isValid\": true,\n      \"response_message\": \"Orden creada correctamente\",\n      \"guide\": {\n        \"URLguide\": \"https://mensajeria.example.com/guias/GUIA-PRUEBA.pdf\"\n      },\n      \"tracking\": {\n        \"URLtracking\": \"https://tracking.example.com/?orderId=0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008\"\n      }\n    },\n    {\n      \"codeExcel\": 3,\n      \"ordersId\": 0,\n      \"courierName\": \"Mensajería Ejemplo\",\n      \"comprobante\": \"\",\n      \"recipientName\": \"Cliente Prueba\",\n      \"departmentName\": \"SANTA ANA\",\n      \"municipalityName\": \"SANTA ANA CENTRO\",\n      \"recipientAddress\": \"\",\n      \"totalWeight\": 0,\n      \"cantPackages\": 0,\n      \"shippingAmount\": 0,\n      \"onDelivery\": 0,\n      \"isValid\": false,\n      \"response_message\": \"El número de teléfono del cliente solo puede contener números y, opcionalmente, un guion\",\n      \"guide\": {\n        \"URLguide\": \"\"\n      },\n      \"tracking\": {\n        \"URLtracking\": \"\"\n      }\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "91443b22-d174-447b-af63-2a9682c86f34",
              "name": "The file is not valid. Possible messages: `No se envió ningún archivo`, `El archivo enviado no es válido`,\n`El archivo enviado no es un archivo Excel válido`, `El archivo no pudo ser leído como Excel`,\n`El archivo Excel no contiene hojas`, `El archivo Excel no contiene registros`.\n",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Excel template (.xlsx) from `GET /api/batchShipping` with at least one data row. The request body accepts up to 30 MB.",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "type": "file",
                      "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                    }
                  ]
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"error\",\n  \"response_message\": \"No se envió ningún archivo\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "1230b871-970b-456a-b957-b77120aa8e90",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Excel template (.xlsx) from `GET /api/batchShipping` with at least one data row. The request body accepts up to 30 MB.",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "type": "file",
                      "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                    }
                  ]
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "7d357fe5-c22c-4d4c-9836-c6656b665846",
              "name": "Internal error while processing the file",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Excel template (.xlsx) from `GET /api/batchShipping` with at least one data row. The request body accepts up to 30 MB.",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "type": "file",
                      "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                    }
                  ]
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error al procesar el archivo Excel\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        },
        {
          "id": "09861478-8b53-4abd-874a-08fbd2b70742",
          "name": "Generate batch shipping labels",
          "request": {
            "name": "Generate batch shipping labels",
            "description": {
              "content": "Generates a single PDF document with the shipping labels of several orders from the same courier and returns its URL.\nIt is only available for couriers that support batch shipping labels; with the others it responds 500 `No se pudo generar la guía masiva`.\n",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "batchShipping",
                "guides"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n  \"comprobantes\": [\n    \"29137811\",\n    \"29137812\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "id": "af2d92e4-d25b-4d40-8329-0e692fe44d76",
              "name": "Shipping labels generated",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping",
                    "guides"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n  \"comprobantes\": [\n    \"29137811\",\n    \"29137812\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Guías generadas exitosamente\",\n  \"data\": {\n    \"guideUrl\": \"https://api.volao.app/api/tmp/GUIAS-POR-LOTE-1759900000000.pdf\"\n  }\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "1673bc52-8a2e-49c9-9822-dd3421c7cc0b",
              "name": "Missing parameters (`courierId` or a non-empty list of receipts), or the receipts are not valid for the courier",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping",
                    "guides"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n  \"comprobantes\": [\n    \"29137811\",\n    \"29137812\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Los parámetros courierId y orders (o comprobantes) son requeridos\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "02d4b3f1-b620-45f2-9374-cf93a6932d89",
              "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping",
                    "guides"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n  \"comprobantes\": [\n    \"29137811\",\n    \"29137812\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "84991590-47d7-422e-ba89-5cd1fb39dcb2",
              "name": "The shipping label document could not be generated",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "batchShipping",
                    "guides"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"courierId\": \"019f81b1-a481-77d5-be76-6c74b42c1e59\",\n  \"comprobantes\": [\n    \"29137811\",\n    \"29137812\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"No se pudo generar la guía masiva\"\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "Catalogs",
      "item": [
        {
          "name": "Public data",
          "item": [
            {
              "id": "e94ad870-a7ca-42f4-ac91-313d9cc7304e",
              "name": "Get all departments",
              "request": {
                "name": "Get all departments",
                "description": {
                  "content": "Returns the catalog of departments. The `departmentId` is the value sent to look up municipalities.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "open",
                    "departments"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": [
                {
                  "id": "6e8c8dea-bbf2-4d1a-843e-8294773eb5c1",
                  "name": "Departments retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "departments"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Departamentos procesados correctamente\",\n  \"data\": [\n    {\n      \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\",\n      \"departmentsCode\": \"01\",\n      \"departmentName\": \"AHUACHAPÁN\"\n    },\n    {\n      \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0014\",\n      \"departmentsCode\": \"02\",\n      \"departmentName\": \"SANTA ANA\"\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "f2c4f1bd-92b3-44b5-a376-7ed1afdffd9d",
                  "name": "There are no registered departments",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "departments"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Not Found",
                  "code": 404,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 404,\n  \"response_status\": \"Error\",\n  \"response_message\": \"No se encontraron departamentos\",\n  \"data\": null\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "db419241-bdb1-45bd-bc27-c290c83ca27e",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "departments"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error inesperado al obtener los departamentos.\",\n  \"data\": null\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "3d0df101-f615-4378-b38c-9028388179fb",
              "name": "Get municipalities by department",
              "request": {
                "name": "Get municipalities by department",
                "description": {
                  "content": "Returns the municipalities of a department. The `municipalityId` is used when creating clients and quoting shipments.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "open",
                    "municipality"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "auth": {
                  "type": "noauth"
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "id": "bbeeca13-3b5f-4261-b851-1ba99cca28e4",
                  "name": "Municipalities retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "municipality"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Municipios procesados correctamente\",\n  \"data\": [\n    {\n      \"municipalityId\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0005\",\n      \"municipalityCode\": \"0101\",\n      \"municipalityName\": \"AHUACHAPÁN\"\n    },\n    {\n      \"municipalityId\": \"0199a1b2-4444-7e5f-8a6b-1c2d3e4f0015\",\n      \"municipalityCode\": \"0102\",\n      \"municipalityName\": \"APANECA\"\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "e4093f71-83f6-4c99-ac67-ff8c7a45ff2d",
                  "name": "The departmentId is missing or is not a valid UUID",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "municipality"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El campo departmentId es requerido y debe ser un UUID válido\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "b746681a-b767-4a45-bfeb-f4339bfa6ce8",
                  "name": "The department does not exist",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "municipality"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Not Found",
                  "code": 404,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 404,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El departamento \\\"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\\\" no corresponde a ningún departamento válido registrado en el sistema.\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "021eed26-ae23-455c-b7c3-e114075a0be6",
                  "name": "Internal error, or the body is not valid JSON",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "municipality"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "POST",
                    "body": {
                      "mode": "raw",
                      "raw": "{\n  \"departmentId\": \"0199a1b2-3333-7e5f-8a6b-1c2d3e4f0004\"\n}",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      }
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error inesperado al obtener los municipios.\",\n  \"data\": null\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "2c42affc-473c-4620-84c2-8a5176f19a19",
              "name": "Get branch address types",
              "request": {
                "name": "Get branch address types",
                "description": {
                  "content": "Returns the address types (house, store, warehouse…). The `TypeBranchAddressId` is sent as `typeBranchAddressId` when creating or updating a pickup address.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "open",
                    "typeBranchAddress"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": [
                {
                  "id": "9c28d6f8-327e-4c80-8898-cce141aaaef4",
                  "name": "Address types retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "typeBranchAddress"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Tipos de dirección obtenidos correctamente\",\n  \"data\": [\n    {\n      \"TypeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0002\",\n      \"codeBranchAddress\": \"CASA\",\n      \"icon\": \"fa-solid fa-house\"\n    },\n    {\n      \"TypeBranchAddressId\": \"0199a1b2-1111-7e5f-8a6b-1c2d3e4f0012\",\n      \"codeBranchAddress\": \"TIENDA\",\n      \"icon\": \"fa-solid fa-store\"\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "c139de09-0f0f-418f-a866-ecb68af832b9",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "typeBranchAddress"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener los tipos de direcciones\",\n  \"data\": []\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "17e6fd62-f1f0-46e1-847c-ded29ea5a39d",
              "name": "Get the list of banks",
              "request": {
                "name": "Get the list of banks",
                "description": {
                  "content": "Returns the enabled banks and account types, to register the merchant's bank account.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "open",
                    "banks"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": [
                {
                  "id": "15f8158f-8a8c-43c9-b42d-52f5d251cbfa",
                  "name": "Banks and account types retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "banks"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Bancos obtenidos correctamente\",\n  \"data\": {\n    \"banks\": [\n      {\n        \"banksId\": \"0199a1b2-cccc-7e5f-8a6b-1c2d3e4f000d\",\n        \"banksName\": \"Banco Prueba\",\n        \"swiftCode\": \"BPRUSVSS\",\n        \"localBankCode\": \"001\"\n      }\n    ],\n    \"typeAccount\": [\n      {\n        \"typeAccountId\": \"0199a1b2-dddd-7e5f-8a6b-1c2d3e4f000e\",\n        \"accountCode\": \"AHORRO\",\n        \"accountName\": \"Cuenta de ahorro\"\n      }\n    ]\n  }\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "f8c0f775-ec02-4cd8-b34c-e5347ad38c77",
                  "name": "Internal error; the message includes the error details",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "banks"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener bancos: <detalle del error>\",\n  \"data\": {\n    \"banks\": [],\n    \"typeAccount\": []\n  }\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "9eb4ef53-bcb7-4dab-bc36-c259809707f5",
              "name": "Get person document types",
              "request": {
                "name": "Get person document types",
                "description": {
                  "content": "Returns the person types (individual, legal entity…) with the documents each one must provide (DUI, NIT, etc.).",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "open",
                    "typePersonDocument"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": [
                {
                  "id": "e21d8395-d50a-4e72-84fd-9f48a1ad612b",
                  "name": "Person types and documents retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "typePersonDocument"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Tipos de documentos obtenidos correctamente\",\n  \"data\": [\n    {\n      \"TypePersonId\": 1,\n      \"namePerson\": \"Persona natural\",\n      \"documents\": [\n        {\n          \"documentId\": 1,\n          \"documentName\": \"DUI\",\n          \"isRequired\": true\n        }\n      ]\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "4b2f199b-a880-4ad0-a063-0c22bfc8b05c",
                  "name": "Internal error; the message includes the error details",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "typePersonDocument"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener tipos de documentos: <detalle del error>\",\n  \"data\": []\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "2a007845-053d-41b4-ba73-60ea606492d9",
              "name": "Public order tracking",
              "request": {
                "name": "Public order tracking",
                "description": {
                  "content": "Returns the status and movement history of an order, without a token.\nIt is the endpoint used by the public tracking page shared with the recipient.\n",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "open",
                    "trackingComp"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "key": "OrderId",
                      "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008",
                      "description": "(Required) UUID of the order."
                    },
                    {
                      "disabled": false,
                      "key": "identifier",
                      "value": "string",
                      "description": "Optional. Encrypted merchant identifier, included in the tracking links generated by Volao. It does not change the response; you do not need to send it."
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": [
                {
                  "id": "411097c3-3976-4b13-ad1c-d3e04adc6eed",
                  "name": "Tracking retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "trackingComp"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "OrderId",
                          "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                        },
                        {
                          "key": "identifier",
                          "value": "string"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Tracking obtenido correctamente\",\n  \"data\": {\n    \"generalData\": {\n      \"comment\": null,\n      \"creationDate\": \"2026-10-07 10:15:00\",\n      \"branchName\": \"Comercio Prueba\",\n      \"cantPackages\": 1,\n      \"courierName\": \"Mensajería Ejemplo\",\n      \"statusMainDescription\": \"EN RUTA\",\n      \"subStatusDescription\": \"En ruta de entrega\",\n      \"colorMovement\": \"#1565C0\",\n      \"flowGroup\": null,\n      \"publicNotice\": {\n        \"hasNotice\": false,\n        \"type\": null,\n        \"message\": null\n      },\n      \"recipientName\": \"Cliente Prueba\",\n      \"collectionDate\": \"2026-10-07\",\n      \"deliveryDate\": null,\n      \"deliveryMessage\": null,\n      \"alertColor_delivery\": null\n    },\n    \"geolocation\": {\n      \"latitude\": \"13.692940\",\n      \"longitude\": \"-89.218191\"\n    },\n    \"resources\": {\n      \"imgURL\": null,\n      \"markedMap\": null\n    },\n    \"trackingMovement\": [\n      {\n        \"iconMovement\": \"fa-solid fa-truck\",\n        \"colorMovement\": \"#1565C0\",\n        \"statusMainDescription\": \"EN RUTA\",\n        \"flowGroup\": null,\n        \"dateMovement\": \"2026-10-07 14:30:00\"\n      }\n    ]\n  }\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "a568a098-5358-4f72-b3d7-34c0f0cb9d26",
                  "name": "The OrderId is missing or is not a valid UUID",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "trackingComp"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "OrderId",
                          "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                        },
                        {
                          "key": "identifier",
                          "value": "string"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"OrderId es requerido\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "ba21e68f-70e9-412f-851f-962482defb72",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "open",
                        "trackingComp"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "OrderId",
                          "value": "0199a1b2-7777-7e5f-8a6b-1c2d3e4f0008"
                        },
                        {
                          "key": "identifier",
                          "value": "string"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al capturar tracking de envío\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            }
          ]
        },
        {
          "name": "Statuses",
          "item": [
            {
              "id": "92de5101-10f1-4ca3-bd55-18c46a37bfba",
              "name": "Get order statuses",
              "request": {
                "name": "Get order statuses",
                "description": {
                  "content": "Returns the catalog of main order statuses (`CONFIRMED`, `IN_WAREHOUSE`, `IN_ROUTE`, `INCIDENT`, `DELIVERED`, `CANCELLED`…).\n\nUse it to:\n- Interpret the status of an order in its tracking (`GET /api/orders/tracking`).\n- Get the `statusMainId` to look up the sub-statuses (`GET /api/subStatusMain`).\n",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "statusMain"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "key": "flowGroups",
                      "value": "delivery,return",
                      "description": "Optional. Flow groups to include, separated by commas and without duplicates. Without this parameter, all statuses are returned."
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET"
              },
              "response": [
                {
                  "id": "dfa321c8-a06a-4175-97e9-686708565890",
                  "name": "Statuses retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "statusMain"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "flowGroups",
                          "value": "delivery,return"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"success\",\n  \"response_message\": \"Estados principales obtenidos correctamente.\",\n  \"data\": [\n    {\n      \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0021\",\n      \"statusCode\": \"CONFIRMED\",\n      \"descriptionStatus\": \"Pedido confirmado\",\n      \"flowGroup\": \"delivery\"\n    },\n    {\n      \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0022\",\n      \"statusCode\": \"IN_ROUTE\",\n      \"descriptionStatus\": \"En ruta de entrega\",\n      \"flowGroup\": \"delivery\"\n    },\n    {\n      \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0023\",\n      \"statusCode\": \"DELIVERED\",\n      \"descriptionStatus\": \"Entregado\",\n      \"flowGroup\": \"delivery\"\n    },\n    {\n      \"statusMainId\": \"0199a1b2-5555-7e5f-8a6b-1c2d3e4f0024\",\n      \"statusCode\": \"REFUNDED\",\n      \"descriptionStatus\": \"Devuelto y reembolsado\",\n      \"flowGroup\": \"return\"\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "18714231-af96-40db-a2aa-12fc1aeff728",
                  "name": "flowGroups contains duplicate values",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "statusMain"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "flowGroups",
                          "value": "delivery,return"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"flowGroups no puede contener valores repetidos\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "c3548071-a58c-4379-a387-b05b431fb780",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "statusMain"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "flowGroups",
                          "value": "delivery,return"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "07d739b5-e40d-4244-9ede-499a461ca04a",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "statusMain"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "flowGroups",
                          "value": "delivery,return"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"error\",\n  \"response_message\": \"Error al obtener status main\",\n  \"data\": []\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "c68546b4-081c-460a-9d73-c78041550f02",
              "name": "Get the sub-statuses of a status",
              "request": {
                "name": "Get the sub-statuses of a status",
                "description": {
                  "content": "Returns the sub-statuses of a main status. The sub-status details the order's status in its tracking\n(for example, within `INCIDENT`: wrong address, recipient not available…).\nThe `statusMainId` is obtained from `GET /api/statusMain`.\n",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "subStatusMain"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "key": "statusMainId",
                      "value": "0199a1b2-5555-7e5f-8a6b-1c2d3e4f0022",
                      "description": "(Required) ID of the main status (`statusMainId` from `GET /api/statusMain`)."
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET"
              },
              "response": [
                {
                  "id": "c24b3c5f-ddbf-4413-8870-6ca5989a7bd7",
                  "name": "Sub-statuses retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "subStatusMain"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "statusMainId",
                          "value": "0199a1b2-5555-7e5f-8a6b-1c2d3e4f0022"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Subestados obtenidos correctamente\",\n  \"data\": [\n    {\n      \"subStatusMainId\": \"0199a1b2-6666-7e5f-8a6b-1c2d3e4f0031\",\n      \"subStatusDescription\": \"En ruta de entrega\"\n    },\n    {\n      \"subStatusMainId\": \"0199a1b2-6666-7e5f-8a6b-1c2d3e4f0032\",\n      \"subStatusDescription\": \"Reprogramado para el siguiente día\"\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "693cd746-8a59-4469-aa71-78edb94d2108",
                  "name": "statusMainId was not sent or is not a valid UUID",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "subStatusMain"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "statusMainId",
                          "value": "0199a1b2-5555-7e5f-8a6b-1c2d3e4f0022"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 400,\n  \"response_status\": \"Error\",\n  \"response_message\": \"El parámetro \\\"statusMainId\\\" es requerido y debe ser un UUID válido\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "3a2f11aa-8a5a-46d7-aa71-2e05782a8f26",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "subStatusMain"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "statusMainId",
                          "value": "0199a1b2-5555-7e5f-8a6b-1c2d3e4f0022"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "00e807cf-4dc0-43d4-b876-4d95a06791b0",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "subStatusMain"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [
                        {
                          "key": "statusMainId",
                          "value": "0199a1b2-5555-7e5f-8a6b-1c2d3e4f0022"
                        }
                      ],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error al obtener los subestados\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            },
            {
              "id": "21b3757f-b30a-4ca9-808d-45173b82a067",
              "name": "Get movement reasons",
              "request": {
                "name": "Get movement reasons",
                "description": {
                  "content": "Returns the catalog of balance movement reasons (top-up, shipping charge, refund, benefit…). The `movementTypeId` is used as the `filters.movementReasonId` filter in `POST /api/branchs/history/transactionsAndMovements`.",
                  "type": "text/plain"
                },
                "url": {
                  "path": [
                    "api",
                    "movementReason"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET"
              },
              "response": [
                {
                  "id": "124412e1-aaa4-48d4-a186-316b7b3a2a75",
                  "name": "Reasons retrieved",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "movementReason"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "OK",
                  "code": 200,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Motivos de movimiento procesados correctamente\",\n  \"data\": [\n    {\n      \"movementTypeId\": \"0199a1b2-1234-7e5f-8a6b-1c2d3e4f0013\",\n      \"movementCode\": \"RECHARGE\",\n      \"movementDescription\": \"Recarga de Saldo\",\n      \"movementDirection\": \"credit\",\n      \"affectsBalance\": true\n    },\n    {\n      \"movementTypeId\": \"0199a1b2-1238-7e5f-8a6b-1c2d3e4f0017\",\n      \"movementCode\": \"PACKAGE_CHANGE_CREDIT\",\n      \"movementDescription\": \"Reintegro por reducción de paquetes\",\n      \"movementDirection\": \"credit\",\n      \"affectsBalance\": true\n    }\n  ]\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "6d9fa1c0-7ed0-4747-afe8-a9239706ea3d",
                  "name": "The token is missing, expired (it lasts 15 minutes) or invalid. Log in again to get a new one.",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "movementReason"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 401,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Token inválido o expirado\"\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "32f312f8-1922-486f-b6d7-4f32e336873a",
                  "name": "There are no registered reasons",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "movementReason"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Not Found",
                  "code": 404,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 404,\n  \"response_status\": \"Error\",\n  \"response_message\": \"No se encontraron motivos de movimiento\",\n  \"data\": null\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                },
                {
                  "id": "ce58bacc-e84a-4c2a-90bf-785aa19e4170",
                  "name": "Internal error",
                  "originalRequest": {
                    "url": {
                      "path": [
                        "api",
                        "movementReason"
                      ],
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "query": [],
                      "variable": []
                    },
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "method": "GET",
                    "body": {}
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"response_code\": 500,\n  \"response_status\": \"Error\",\n  \"response_message\": \"Error inesperado al obtener los motivos de movimiento\",\n  \"data\": null\n}",
                  "cookie": [],
                  "_postman_previewlanguage": "json"
                }
              ],
              "event": [],
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              }
            }
          ]
        }
      ]
    }
  ],
  "event": [],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.volao.app",
      "type": "string",
      "description": "API base URL. Production: https://api.volao.app · Development: https://api.dev.volao.app"
    },
    {
      "key": "client_id",
      "value": "client_demo",
      "type": "string",
      "description": "Your client_id (API client credentials)."
    },
    {
      "key": "client_secret",
      "value": "secret_demo",
      "type": "string",
      "description": "Your client_secret (API client credentials)."
    },
    {
      "key": "access_token",
      "value": "",
      "type": "string",
      "description": "Filled in automatically when you send the login. Expires after 15 minutes."
    }
  ],
  "info": {
    "name": "Volao API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": {
      "content": "## Getting started\n\n1. In the collection **Variables** tab, replace `client_id` and `client_secret` with your credentials.\n2. Send **Authentication › API client login**: the token is saved automatically in `access_token`.\n3. Try any other endpoint: they all use that token. When it expires (15 minutes), log in again.\n\nTo use the development server, set `baseUrl` to `https://api.dev.volao.app`.\n\n---\n\nThe Volao REST API connects your store or system to Volao's shipping platform. With it you can quote shipments across several couriers, create and cancel orders, get each shipment's shipping label and track its journey, and manage your merchant's pickup addresses and clients.\n\n## What you can do\n\n| Area | What it is for |\n| --- | --- |\n| **Authentication** | Get an access token with your credentials. |\n| **Orders** | Create shipping orders, cancel them, get the shipping label, and check the tracking and incidents. |\n| **Couriers** | Quote a shipment and check the available couriers, their service modes, delivery promises, coverage, agencies and rates. |\n| **Branches** | Manage your merchant's pickup addresses and clients (recipients). |\n| **History** | Check the merchant's order, transaction and balance movement, settlement and benefit history. |\n| **Batch operations** | Create orders and generate shipping labels in bulk from an Excel file. |\n| **Catalogs and public data** | Departments, municipalities, address types, banks, document types, movement reasons and public order tracking. |\n\n## Base URL\n\nEvery path starts with `/api` and is appended to the server URL. For example: `{server}/api/orders`. You can see and choose the server in each endpoint's **Request** panel.\n\n## Authentication\n\n1. Request your credentials (`client_id` and `client_secret`) from the Volao team.\n2. Get a token with `POST /api/auth/client/login`.\n3. Send the token in the header of every request: `Authorization: Bearer <access_token>`.\n\nThe token lasts **15 minutes** and cannot be refreshed: when it expires, log in again. The endpoints under `/api/open/` are public and do not require a token.\n\n## Request format\n\n- Parameters of `GET` endpoints are sent in the URL (query string).\n- The body of `POST`, `PUT`, `PATCH` and `DELETE` requests is sent as JSON, with the header `Content-Type: application/json`.\n- The exception is the batch order upload, which receives the Excel file as `multipart/form-data`.\n\n## Response format\n\nEvery response shares the same structure:\n\n```json\n{\n  \"response_code\": 200,\n  \"response_status\": \"Success\",\n  \"response_message\": \"Operación exitosa\",\n  \"data\": {}\n}\n```\n\n`response_code` repeats the HTTP status code and `data` contains the result. `response_status` may arrive as `Success`/`Error` or `success`/`error`, so compare it case-insensitively or use `response_code`.\n\nThe API responds in Spanish: `response_message` texts are shown in Spanish throughout this documentation.\n\n## Status codes\n\n| Code | Meaning |\n| --- | --- |\n| `200` | The operation was completed successfully. |\n| `201` | The resource was created successfully (for example, an order, an address or a client). |\n| `400` | The request has invalid data or is missing parameters. |\n| `401` | The credentials are invalid, or the token is missing, expired or invalid. |\n| `403` | The API client is disabled. |\n| `404` | The requested resource does not exist. |\n| `409` | The operation cannot be performed because of a business rule (for example, insufficient balance or a duplicate name). The reason comes in `response_message`. |\n| `500` | Internal server error. |\n\n## Flow to create a shipment\n\n1. **Authenticate** with `POST /api/auth/client/login`.\n2. **Check the catalogs** of departments and municipalities (`/api/open/...`) to get the location IDs.\n3. **Choose or register the pickup address** at `/api/branchs/branchsAddresses`.\n4. **Choose or register the client** (recipient) at `/api/branchs/branchsClient`.\n5. **Quote the shipment** with `POST /api/courier` to see the available couriers and their price.\n6. **Create the order** with `POST /api/orders`.\n7. **Get the shipping label** with `GET /api/orders` and **track the shipment** with `GET /api/orders/tracking`.\n\n## Try it from this documentation\n\nEach endpoint includes a panel to send real requests:\n\n1. Open **API client login**, enter your credentials and press **Send API Request**.\n2. Copy the `access_token` from the response.\n3. In any other endpoint, paste it in the panel's **Auth** field. It is kept until you close the tab.\n\n## More information\n\n- [Getting started](/docs/guides/gettingStarted): credentials and first request.\n- [Authentication](/docs/guides/authentication): token lifetime and errors.\n- [Response format](/docs/guides/responseEnvelope): common structure of the responses.\n\nContact Support:\n Name: Volao Team",
      "type": "text/markdown"
    }
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{access_token}}",
        "type": "string"
      }
    ]
  }
}
