{
  "info": {
    "name": "READERP API v1",
    "description": "READERP genel API'si. İki başlıkla kimlik doğrulanır ve raporlar eşzamansız çalışır: /run işi kuyruğa alır, /job sonucu verir.\n\nÖNEMLİ: sonuç satırları kalıcı değildir (kiracıya göre, varsayılan 60 saniye). Sonucu aldığınızda kendi tarafınıza yazın.\n\nDeğişkenler: base, key, secret, entity, job_id.\nBelgeler: https://readerp.com/api/",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "base",
      "value": "https://panel.readerp.com/api/v1"
    },
    {
      "key": "key",
      "value": "ANAHTARINIZ"
    },
    {
      "key": "secret",
      "value": "GIZLI_DEGERINIZ"
    },
    {
      "key": "entity",
      "value": "SIRKET"
    },
    {
      "key": "job_id",
      "value": "0"
    }
  ],
  "item": [
    {
      "name": "1. Bağlantı kontrolü (ping)",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-Readerp-Api-Key",
            "value": "{{key}}"
          },
          {
            "key": "X-Readerp-Api-Secret",
            "value": "{{secret}}"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base}}/ping",
          "host": [
            "{{base}}"
          ],
          "path": [
            "ping"
          ]
        },
        "description": "Anahtar geçerli mi, hangi kiracıya ait. En ucuz kontrol."
      }
    },
    {
      "name": "2. Katalog",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-Readerp-Api-Key",
            "value": "{{key}}"
          },
          {
            "key": "X-Readerp-Api-Secret",
            "value": "{{secret}}"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base}}/catalog",
          "host": [
            "{{base}}"
          ],
          "path": [
            "catalog"
          ]
        },
        "description": "Bu anahtarın çalıştırabileceği raporlar, her birinin şirketleri, parametreleri ve kolonları. Yetkisi olmayan rapor listede görünmez."
      }
    },
    {
      "name": "3. Rapor çalıştır — stok listesi",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-Readerp-Api-Key",
            "value": "{{key}}"
          },
          {
            "key": "X-Readerp-Api-Secret",
            "value": "{{secret}}"
          },
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base}}/run",
          "host": [
            "{{base}}"
          ],
          "path": [
            "run"
          ]
        },
        "description": "İşi kuyruğa alır ve job_id döner. Şirketi her zaman yazın: entity verilmezse istek varsayılan şirkete gider.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"H1\",\n  \"entity\": \"{{entity}}\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "4. Rapor çalıştır — parametreli (belge sorgula)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-Readerp-Api-Key",
            "value": "{{key}}"
          },
          {
            "key": "X-Readerp-Api-Secret",
            "value": "{{secret}}"
          },
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base}}/run",
          "host": [
            "{{base}}"
          ],
          "path": [
            "run"
          ]
        },
        "description": "Parametreler düz bir nesnedir. Hangi parametreyi aldığı katalogda yazar.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"H2\",\n  \"entity\": \"{{entity}}\",\n  \"arguments\": {\n    \"doc_no\": \"FTR2026000000123\"\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "5. Sonucu al",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-Readerp-Api-Key",
            "value": "{{key}}"
          },
          {
            "key": "X-Readerp-Api-Secret",
            "value": "{{secret}}"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base}}/job/{{job_id}}",
          "host": [
            "{{base}}"
          ],
          "path": [
            "job",
            "{{job_id}}"
          ]
        },
        "description": "status: queued | running | done | failed. done ise result.columns ve result.rows gelir. Saklama süresi dolmuşsa result alanı olmaz — rapor yeniden çalıştırılmalı."
      }
    },
    {
      "name": "6. Son tamamlanmış sonuç",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-Readerp-Api-Key",
            "value": "{{key}}"
          },
          {
            "key": "X-Readerp-Api-Secret",
            "value": "{{secret}}"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base}}/report/H1/latest?entity={{entity}}",
          "host": [
            "{{base}}"
          ],
          "path": [
            "report",
            "H1",
            "latest"
          ],
          "query": [
            {
              "key": "entity",
              "value": "{{entity}}"
            }
          ]
        },
        "description": "Başka birinin az önce çalıştırdığı sonucu okur. Saklama süresi dolmuşsa 404 döner; garanti isteyen /run + /job kullanır."
      }
    },
    {
      "name": "7. Pano rakamları",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-Readerp-Api-Key",
            "value": "{{key}}"
          },
          {
            "key": "X-Readerp-Api-Secret",
            "value": "{{secret}}"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{base}}/dashboard",
          "host": [
            "{{base}}"
          ],
          "path": [
            "dashboard"
          ]
        },
        "description": "Özet rakamlar. Anahtarda dashboard:read yetkisi gerekir."
      }
    }
  ]
}
