{
  "info": {
    "name": "API de Integração Rota — Ordens de Serviço",
    "description": "Envio de O.S. pelo sistema de gestão da oficina. Preencha shopId e partnerToken com os dados recebidos da Rota. baseUrl: produção (https://api.rotaautotech.com.br) ou homologação (https://qa-api.rotadasoficinas.com.br). Rode na ordem: abrir, fechar e, se precisar, reabrir. O último status enviado para o mesmo externalOrderId prevalece.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.rotaautotech.com.br"
    },
    {
      "key": "shopId",
      "value": ""
    },
    {
      "key": "partnerToken",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "1. Abrir O.S. (201)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "X-Partner-Token",
            "value": "{{partnerToken}}"
          }
        ],
        "url": "{{baseUrl}}/api/public/v1/shops/{{shopId}}/service-orders",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"externalOrderId\": \"OS-1001\",\n  \"status\": \"open\",\n  \"customer\": {\n    \"name\": \"Cliente Exemplo\",\n    \"whatsApp\": \"11900000000\"\n  },\n  \"vehicle\": {\n    \"licensePlate\": \"ABC1D23\"\n  }\n}"
        }
      }
    },
    {
      "name": "2. Fechar a mesma O.S. (200)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "X-Partner-Token",
            "value": "{{partnerToken}}"
          }
        ],
        "url": "{{baseUrl}}/api/public/v1/shops/{{shopId}}/service-orders",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"externalOrderId\": \"OS-1001\",\n  \"status\": \"closed\",\n  \"closedOn\": \"2026-09-15T18:30:00Z\",\n  \"observation\": \"Troca de amortecedores\",\n  \"total\": 1250.5,\n  \"km\": 45200,\n  \"commercialNumber\": \"9981\",\n  \"customer\": {\n    \"name\": \"Cliente Exemplo\",\n    \"whatsApp\": \"11900000000\",\n    \"email\": \"cliente@example.com\"\n  },\n  \"vehicle\": {\n    \"licensePlate\": \"ABC1D23\",\n    \"brand\": \"Volkswagen\",\n    \"model\": \"Gol\",\n    \"km\": 45200\n  },\n  \"seller\": {\n    \"id\": \"VEND-9\",\n    \"name\": \"Vendedor Exemplo\"\n  },\n  \"items\": [\n    {\n      \"code\": \"AMOR-001\",\n      \"description\": \"Amortecedor dianteiro\",\n      \"quantity\": 2,\n      \"type\": \"part\",\n      \"ncm\": \"87088000\",\n      \"unitPrice\": 450,\n      \"total\": 900\n    }\n  ]\n}"
        }
      }
    },
    {
      "name": "3. Reabrir a O.S. (200)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "X-Partner-Token",
            "value": "{{partnerToken}}"
          }
        ],
        "url": "{{baseUrl}}/api/public/v1/shops/{{shopId}}/service-orders",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"externalOrderId\": \"OS-1001\",\n  \"status\": \"open\",\n  \"customer\": {\n    \"name\": \"Cliente Exemplo\"\n  }\n}"
        }
      }
    }
  ]
}
