{
  "info": {
    "_postman_id": "a7fa0a1b-0c4f-4e42-8200-1e8eebd92d3b",
    "name": "Sitepat Turboly Webhooks + Cart External",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Webhook - Service Reservation Confirm",
      "request": {
        "method": "POST",
        "header": [
          { "key": "X-Turboly-Webhook-Token", "value": "{{webhookSecret}}" },
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/webhooks/serviceReservations",
          "host": ["{{baseUrl}}"],
          "path": ["api","v1","webhooks","serviceReservations"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"reservation_id\": \"RES-ABC123\",\n  \"event\": \"confirmed\"\n}"
        }
      }
    },
    {
      "name": "Webhook - Service Reservation Cancel",
      "request": {
        "method": "POST",
        "header": [
          { "key": "X-Turboly-Webhook-Token", "value": "{{webhookSecret}}" },
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/webhooks/serviceReservations",
          "host": ["{{baseUrl}}"],
          "path": ["api","v1","webhooks","serviceReservations"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"reservation_id\": \"RES-ABC123\",\n  \"event\": \"cancelled\"\n}"
        }
      }
    },
    {
      "name": "Webhook - Service Order Approved",
      "request": {
        "method": "POST",
        "header": [
          { "key": "X-Turboly-Webhook-Token", "value": "{{webhookSecret}}" },
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/webhooks/serviceOrders",
          "host": ["{{baseUrl}}"],
          "path": ["api","v1","webhooks","serviceOrders"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"service_order_id\": \"SO-ABC123\",\n  \"event\": \"approved\"\n}"
        }
      }
    },
    {
      "name": "Webhook - Work Order In Progress",
      "request": {
        "method": "POST",
        "header": [
          { "key": "X-Turboly-Webhook-Token", "value": "{{webhookSecret}}" },
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/webhooks/serviceWorkOrders",
          "host": ["{{baseUrl}}"],
          "path": ["api","v1","webhooks","serviceWorkOrders"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"work_order_id\": \"WO-ABC123\",\n  \"event\": \"in_progress\"\n}"
        }
      }
    },
    {
      "name": "Webhook - Work Order Checking",
      "request": {
        "method": "POST",
        "header": [
          { "key": "X-Turboly-Webhook-Token", "value": "{{webhookSecret}}" },
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/webhooks/serviceWorkOrders",
          "host": ["{{baseUrl}}"],
          "path": ["api","v1","webhooks","serviceWorkOrders"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"work_order_id\": \"WO-ABC123\",\n  \"event\": \"checking\"\n}"
        }
      }
    },
    {
      "name": "Webhook - Work Order Completed",
      "request": {
        "method": "POST",
        "header": [
          { "key": "X-Turboly-Webhook-Token", "value": "{{webhookSecret}}" },
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/webhooks/serviceWorkOrders",
          "host": ["{{baseUrl}}"],
          "path": ["api","v1","webhooks","serviceWorkOrders"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"work_order_id\": \"WO-ABC123\",\n  \"event\": \"completed\"\n}"
        }
      }
    },
    {
      "name": "Webhook - Invoice Completed",
      "request": {
        "method": "POST",
        "header": [
          { "key": "X-Turboly-Webhook-Token", "value": "{{webhookSecret}}" },
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/webhooks/serviceInvoices",
          "host": ["{{baseUrl}}"],
          "path": ["api","v1","webhooks","serviceInvoices"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"invoice_id\": \"INV-ABC123\",\n  \"event\": \"completed\"\n}"
        }
      }
    },

    {
      "name": "Cart - Map Turboly IDs",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{cartBase}}/external/cart/map",
          "host": ["{{cartBase}}"],
          "path": ["external","cart","map"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"cart_service_id\": 123,\n  \"turboly_reservation_id\": \"RES-ABC123\",\n  \"source\": \"mobile\",\n  \"platform\": \"ios\"\n}"
        }
      }
    },
    {
      "name": "Cart - Resolve by External ID",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{cartBase}}/external/cart/resolve",
          "host": ["{{cartBase}}"],
          "path": ["external","cart","resolve"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"turboly_reservation_id\": \"RES-ABC123\"\n}"
        }
      }
    },
    {
      "name": "Cart - Reservation Status (external)",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{cartBase}}/external/cart/reservation/status",
          "host": ["{{cartBase}}"],
          "path": ["external","cart","reservation","status"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"turboly_reservation_id\": \"RES-ABC123\",\n  \"event\": \"confirmed\"\n}"
        }
      }
    },
    {
      "name": "Cart - Order Start (external)",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{cartBase}}/external/cart/order/start",
          "host": ["{{cartBase}}"],
          "path": ["external","cart","order","start"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"turboly_service_order_id\": \"SO-ABC123\",\n  \"event\": \"approved\"\n}"
        }
      }
    },
    {
      "name": "Cart - Work Order Status (external)",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{cartBase}}/external/cart/work-order/status",
          "host": ["{{cartBase}}"],
          "path": ["external","cart","work-order","status"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"turboly_work_order_id\": \"WO-ABC123\",\n  \"event\": \"in_progress\"\n}"
        }
      }
    },
    {
      "name": "Cart - Invoice Status (external)",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": {
          "raw": "{{cartBase}}/external/cart/invoice/status",
          "host": ["{{cartBase}}"],
          "path": ["external","cart","invoice","status"]
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"turboly_invoice_id\": \"INV-ABC123\",\n  \"event\": \"completed\"\n}"
        }
      }
    }
  ]
}
