{
  "info": {
    "_postman_id": "fag-public-api-v1-001",
    "name": "ThapCamMMO API",
    "description": "Public REST API cho reseller / bot.\n\n1. Điền biến `baseUrl` và `apiKey`.\n2. Header `X-API-Key`.\n3. `GET /v1/services` → dùng field `id` làm `serviceId` khi tạo đơn.\n4. Response đơn trả `orderCode` (vd AMXKQT260723102045) — dùng cho GET /v1/orders/:orderCode.\n5. Rate limit: 100 req/phút.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "baseUrl", "value": "http://localhost:6101" },
    { "key": "apiKey", "value": "fag_YOUR_API_KEY_HERE" },
    { "key": "orderId", "value": "AMXKQT260723102045" },
    { "key": "serviceId", "value": "1" }
  ],
  "auth": {
    "type": "apikey",
    "apikey": [
      { "key": "key", "value": "X-API-Key", "type": "string" },
      { "key": "value", "value": "{{apiKey}}", "type": "string" },
      { "key": "in", "value": "header", "type": "string" }
    ]
  },
  "item": [
    {
      "name": "Balance",
      "item": [
        {
          "name": "Get balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/balance",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "balance"]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Services",
      "item": [
        {
          "name": "List all services",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/services",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "services"]
            },
            "description": "Mỗi item có id số global. Dùng id đó làm serviceId khi tạo đơn."
          },
          "response": []
        },
        {
          "name": "List services by type",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/services?serviceType=add_member",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "services"],
              "query": [
                {
                  "key": "serviceType",
                  "value": "add_member",
                  "description": "add_member | sell_group | sell_software | sell_catalog | sell_proxy | sell_buff"
                }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Orders",
      "item": [
        {
          "name": "List my orders",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/orders?page=1&pageSize=10",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "orders"],
              "query": [
                { "key": "page", "value": "1" },
                { "key": "pageSize", "value": "10" },
                { "key": "status", "value": "", "disabled": true },
                { "key": "serviceType", "value": "", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get order by id",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/v1/orders/{{orderId}}",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "orders", "{{orderId}}"]
            }
          },
          "response": []
        },
        {
          "name": "Create order — add_member (VIP)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"serviceId\": \"{{serviceId}}\",\n  \"groupLinks\": [\"https://zalo.me/g/xxxx\"],\n  \"quantity\": 100\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/orders",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "orders"]
            },
            "description": "serviceId lấy từ GET /v1/services (add_member)."
          },
          "response": []
        },
        {
          "name": "Create order — sell_group / software",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"serviceId\": \"{{serviceId}}\",\n  \"quantity\": 1\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/orders",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "orders"]
            }
          },
          "response": []
        },
        {
          "name": "Create order — sell_catalog",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"serviceId\": \"{{serviceId}}\",\n  \"pricingOptionId\": \"<optional>\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/orders",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "orders"]
            }
          },
          "response": []
        },
        {
          "name": "Create order — sell_proxy",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"serviceId\": \"{{serviceId}}\",\n  \"quantity\": 1\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/orders",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "orders"]
            }
          },
          "response": []
        },
        {
          "name": "Create order — sell_buff",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"serviceId\": \"{{serviceId}}\",\n  \"buffLink\": \"https://example.com/post\",\n  \"quantity\": 1000,\n  \"buffComments\": \"optional\\none per line\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/orders",
              "host": ["{{baseUrl}}"],
              "path": ["v1", "orders"]
            }
          },
          "response": []
        }
      ]
    }
  ]
}
