{
  "info": {
    "_postman_id": "c1a932b7-84df-4158-b649-1e309cb98f42",
    "name": "Sakti POS Enterprise API",
    "description": "Enterprise Cloud POS REST API for Products Catalog, Inventory, Checkouts, and Sales Reporting.\nHost: https://api-pos.saktiputra.my.id\nAPI Docs: https://api-pos.saktiputra.my.id/docs",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "item": [
    {
      "name": "1. Authentication",
      "item": [
        {
          "name": "Generate Access Token (OAuth2)",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"grant_type\": \"client_credentials\",\n  \"client_id\": \"{{apiKey}}\",\n  \"client_secret\": \"secret_key\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/auth/token",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "auth",
                "token"
              ]
            },
            "description": "Exchange client credentials or API key for a scoped Bearer access token."
          }
        },
        {
          "name": "Get Account & Outlet Profile",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/auth/me",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "auth",
                "me"
              ]
            },
            "description": "Retrieve merchant profile, business ID, active outlet, and permissions."
          }
        }
      ]
    },
    {
      "name": "2. Products & Inventory",
      "item": [
        {
          "name": "List Products & Variants",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/products?page=1&limit=50",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "products"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "50"
                }
              ]
            },
            "description": "Fetch normalized product catalog including SKU, price, variant structures, and inventory levels."
          }
        },
        {
          "name": "Get Product by ID or SKU",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/products/134327761",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "products",
                "134327761"
              ]
            },
            "description": "Get detailed attributes and stock for a specific product."
          }
        },
        {
          "name": "List Categories",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/categories",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "categories"
              ]
            },
            "description": "Get all product categories with total items count."
          }
        },
        {
          "name": "Create Product + Variants",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Frame Titanium Classic Black\",\n  \"category_id\": 2510887,\n  \"variants\": [\n    {\n      \"name\": \"Standard Black\",\n      \"sku\": \"FRM-TIT-01\",\n      \"price\": 150000\n    },\n    {\n      \"name\": \"Silver Frame\",\n      \"sku\": \"FRM-TIT-02\",\n      \"price\": 165000\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/products",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "products"
              ]
            },
            "description": "Add a new product with custom variants and SKU pricing."
          }
        },
        {
          "name": "Delete Product",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/products/134357237",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "products",
                "134357237"
              ]
            },
            "description": "Delete a product from the master catalog by its ID."
          }
        },
        {
          "name": "Export Products to Excel (.xlsx)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/products/export.xlsx",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "products",
                "export.xlsx"
              ]
            },
            "description": "Download spreadsheet file (.xlsx) of all products, variants, SKU, price, and stock."
          }
        }
      ]
    },
    {
      "name": "3. Transactions & Orders",
      "item": [
        {
          "name": "Create Checkout Order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reference_id\": \"ORDER-20261025-001\",\n  \"outlet_id\": \"538253\",\n  \"items\": [\n    {\n      \"product_id\": \"134327761\",\n      \"variant_id\": \"212746024\",\n      \"name\": \"Lensa\",\n      \"sku\": \"565565655465654\",\n      \"price\": 90000,\n      \"quantity\": 1\n    }\n  ],\n  \"payment\": {\n    \"method\": \"cash\",\n    \"amount_paid\": 100000\n  },\n  \"notes\": \"Order via Sakti POS API\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "orders"
              ]
            },
            "description": "Process a sale or order checkout. Returns order confirmation ID and payment record."
          }
        },
        {
          "name": "List Sales History",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/orders?limit=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "orders"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "20"
                }
              ]
            },
            "description": "Fetch chronological list of completed sales transactions."
          }
        },
        {
          "name": "Sales Summary & Metrics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/reports/sales",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "reports",
                "sales"
              ]
            },
            "description": "Get daily sales totals, revenue, and transaction volume."
          }
        },
        {
          "name": "Export Sales to Excel (.xlsx)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/reports/export.xlsx",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "reports",
                "export.xlsx"
              ]
            },
            "description": "Download spreadsheet file (.xlsx) containing detailed transaction records."
          }
        }
      ]
    },
    {
      "name": "4. Hardware & Peripherals",
      "item": [
        {
          "name": "List Printers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/hardware/printers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "hardware",
                "printers"
              ]
            },
            "description": "Get active thermal receipt printer stations configured on LAN."
          }
        },
        {
          "name": "Print Test Receipt",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ip\": \"192.168.1.200\",\n  \"port\": 9100,\n  \"name\": \"Cashier Printer\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/hardware/print-test",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "hardware",
                "print-test"
              ]
            },
            "description": "Send test receipt to local thermal printer station via ESC/POS protocol."
          }
        },
        {
          "name": "Trigger Cash Drawer",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ip\": \"192.168.1.200\",\n  \"port\": 9100\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/v1/hardware/open-cash-drawer",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "hardware",
                "open-cash-drawer"
              ]
            },
            "description": "Trigger electronic cash drawer pulse over RJ11 connector."
          }
        }
      ]
    },
    {
      "name": "5. System Health",
      "item": [
        {
          "name": "Health Status",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/v1/system/status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "system",
                "status"
              ]
            },
            "description": "System operational check, service status, and uptime."
          }
        }
      ]
    }
  ]
}