{
  "info": {
    "name": "Bento Partner partner API v1",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Bento partner API v1. base_url defaults to sandbox; use https://api.bentodelivaz.com/prod/v1 for production or http://bentoadmin.test/api/partner/v1 locally. Set api_key locally; never export secrets. Shipment examples are synthetic."
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{api_key}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://api.bentodelivaz.com/sandbox/v1"
    },
    {
      "key": "api_key",
      "value": ""
    },
    {
      "key": "quote_id",
      "value": ""
    },
    {
      "key": "delivery_id",
      "value": ""
    },
    {
      "key": "external_reference",
      "value": "Partner-SYNTHETIC-001"
    },
    {
      "key": "idempotency_key",
      "value": "partner-synthetic-booking-001"
    }
  ],
  "item": [
    {
      "name": "Quote",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{base_url}}/quotes",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"shipment\": {\n    \"pickup\": {\n      \"address\": \"Synthetic pickup: replace with approved-zone address\",\n      \"latitude\": 9.0765,\n      \"longitude\": 7.3986,\n      \"name\": \"Synthetic Sender\",\n      \"phone\": \"+2340000000000\"\n    },\n    \"recipient\": {\n      \"address\": \"Synthetic recipient: replace with approved-zone address\",\n      \"latitude\": 9.065,\n      \"longitude\": 7.42,\n      \"name\": \"Synthetic Recipient\",\n      \"phone\": \"+2340000000001\"\n    },\n    \"parcel\": {\n      \"instructions\": \"Synthetic sandbox shipment\"\n    }\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "if (pm.response.code === 201) { pm.collectionVariables.set(\"quote_id\", pm.response.json().id); }"
            ]
          }
        }
      ]
    },
    {
      "name": "Book",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "{{idempotency_key}}"
          }
        ],
        "url": "{{base_url}}/deliveries",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"quote_id\": \"{{quote_id}}\",\n  \"external_reference\": \"{{external_reference}}\",\n  \"shipment\": {\n    \"pickup\": {\n      \"address\": \"Synthetic pickup: replace with approved-zone address\",\n      \"latitude\": 9.0765,\n      \"longitude\": 7.3986,\n      \"name\": \"Synthetic Sender\",\n      \"phone\": \"+2340000000000\"\n    },\n    \"recipient\": {\n      \"address\": \"Synthetic recipient: replace with approved-zone address\",\n      \"latitude\": 9.065,\n      \"longitude\": 7.42,\n      \"name\": \"Synthetic Recipient\",\n      \"phone\": \"+2340000000001\"\n    },\n    \"parcel\": {\n      \"instructions\": \"Synthetic sandbox shipment\"\n    }\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "if (pm.response.code === 201) { pm.collectionVariables.set(\"delivery_id\", pm.response.json().id); }"
            ]
          }
        }
      ]
    },
    {
      "name": "Ready",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{base_url}}/deliveries/{{delivery_id}}/ready"
      }
    },
    {
      "name": "Lookup",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{base_url}}/deliveries/{{delivery_id}}"
      }
    },
    {
      "name": "Location",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{base_url}}/deliveries/{{delivery_id}}/location"
      }
    }
  ]
}
