{
  "info": {
    "name": "facturi.cloud — API v1",
    "_postman_id": "a8a6f3e0-7c27-4d6b-8c35-fc-api-v1",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "REST API v1 pentru aplicații mobile, integrări POS și scripturi externe. Setează variabilele `baseUrl` și `token` la nivel de collection."
  },
  "variable": [
    { "key": "baseUrl", "value": "http://localhost/Efactura/public/api/v1" },
    { "key": "token", "value": "fc_pat_REPLACE_ME" }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{token}}", "type": "string" }]
  },
  "item": [
    {
      "name": "Public",
      "item": [
        {
          "name": "GET /health",
          "request": {
            "auth": { "type": "noauth" },
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/health", "host": ["{{baseUrl}}"], "path": ["health"] }
          }
        }
      ]
    },
    {
      "name": "Profil",
      "item": [
        {
          "name": "GET /me",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/me", "host": ["{{baseUrl}}"], "path": ["me"] }
          }
        },
        {
          "name": "GET /companii/active",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/companii/active", "host": ["{{baseUrl}}"], "path": ["companii", "active"] }
          }
        }
      ]
    },
    {
      "name": "Facturi",
      "item": [
        {
          "name": "GET /facturi",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{baseUrl}}/facturi?page=1&per_page=25",
              "host": ["{{baseUrl}}"],
              "path": ["facturi"],
              "query": [
                { "key": "page", "value": "1" },
                { "key": "per_page", "value": "25" },
                { "key": "status", "value": "emisa", "disabled": true },
                { "key": "id_client", "value": "0", "disabled": true },
                { "key": "from", "value": "2026-01-01", "disabled": true },
                { "key": "to", "value": "2026-12-31", "disabled": true }
              ]
            }
          }
        },
        {
          "name": "POST /facturi",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id_client\": 1,\n  \"moneda\": \"RON\",\n  \"tip_factura\": \"380\",\n  \"data_emitere\": \"2026-04-19\",\n  \"data_scadenta\": \"2026-05-04\",\n  \"modalitate_plata\": \"OP\",\n  \"linii\": [\n    { \"id_produs\": 5, \"cantitate\": 2 },\n    { \"descriere\": \"Servicii consultanță\", \"cantitate\": 1, \"pret_unitar\": 350, \"cota_tva\": 21 },\n    { \"creeaza_produs\": true, \"denumire\": \"Mouse wireless\", \"cod_produs\": \"MW-01\", \"pret_unitar\": 89, \"cota_tva\": 21, \"cantitate\": 1 }\n  ],\n  \"status\": \"emisa\"\n}"
            },
            "url": { "raw": "{{baseUrl}}/facturi", "host": ["{{baseUrl}}"], "path": ["facturi"] }
          }
        },
        {
          "name": "GET /facturi/{id}",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/facturi/1", "host": ["{{baseUrl}}"], "path": ["facturi", "1"] }
          }
        },
        {
          "name": "GET /facturi/{id}/pdf",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/pdf" }],
            "url": { "raw": "{{baseUrl}}/facturi/1/pdf", "host": ["{{baseUrl}}"], "path": ["facturi", "1", "pdf"] }
          }
        },
        {
          "name": "POST /facturi/{id}/anaf",
          "request": {
            "method": "POST",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/facturi/1/anaf", "host": ["{{baseUrl}}"], "path": ["facturi", "1", "anaf"] }
          }
        },
        {
          "name": "POST /facturi/{id}/incasare",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{ \"data\": \"2026-04-20\", \"suma\": 416.50, \"metoda\": \"card\" }"
            },
            "url": { "raw": "{{baseUrl}}/facturi/1/incasare", "host": ["{{baseUrl}}"], "path": ["facturi", "1", "incasare"] }
          }
        },
        {
          "name": "POST /facturi/{id}/storno",
          "request": {
            "method": "POST",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/facturi/1/storno", "host": ["{{baseUrl}}"], "path": ["facturi", "1", "storno"] }
          }
        }
      ]
    },
    {
      "name": "Proforme",
      "item": [
        {
          "name": "GET /proforme",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/proforme?page=1&per_page=25", "host": ["{{baseUrl}}"], "path": ["proforme"] }
          }
        },
        {
          "name": "POST /proforme",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id_client\": 1,\n  \"linii\": [ { \"descriere\": \"Estimare proiect\", \"cantitate\": 1, \"pret_unitar\": 1000, \"cota_tva\": 19 } ]\n}"
            },
            "url": { "raw": "{{baseUrl}}/proforme", "host": ["{{baseUrl}}"], "path": ["proforme"] }
          }
        },
        {
          "name": "POST /proforme/{id}/factura",
          "request": {
            "method": "POST",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/proforme/1/factura", "host": ["{{baseUrl}}"], "path": ["proforme", "1", "factura"] }
          }
        }
      ]
    },
    {
      "name": "Avize",
      "item": [
        {
          "name": "GET /avize",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/avize?page=1&per_page=25", "host": ["{{baseUrl}}"], "path": ["avize"] }
          }
        },
        {
          "name": "POST /avize",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id_client\": 1,\n  \"linii\": [ { \"descriere\": \"Marfă livrată\", \"cantitate\": 5, \"pret_unitar\": 20, \"cota_tva\": 19 } ]\n}"
            },
            "url": { "raw": "{{baseUrl}}/avize", "host": ["{{baseUrl}}"], "path": ["avize"] }
          }
        },
        {
          "name": "POST /avize/{id}/factura",
          "request": {
            "method": "POST",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/avize/1/factura", "host": ["{{baseUrl}}"], "path": ["avize", "1", "factura"] }
          }
        }
      ]
    },
    {
      "name": "Clienți",
      "item": [
        {
          "name": "GET /clienti",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/clienti?page=1&per_page=25", "host": ["{{baseUrl}}"], "path": ["clienti"] }
          }
        },
        {
          "name": "GET /clienti/lookup-anaf",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{baseUrl}}/clienti/lookup-anaf?cui=RO32935238",
              "host": ["{{baseUrl}}"],
              "path": ["clienti", "lookup-anaf"],
              "query": [{ "key": "cui", "value": "RO32935238" }]
            }
          }
        },
        {
          "name": "POST /clienti",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"denumire\": \"ACME SRL\",\n  \"cui\": \"RO12345678\",\n  \"adresa\": \"Str. Test 1\",\n  \"judet\": \"B\",\n  \"localitate\": \"București\"\n}"
            },
            "url": { "raw": "{{baseUrl}}/clienti", "host": ["{{baseUrl}}"], "path": ["clienti"] }
          }
        }
      ]
    },
    {
      "name": "Catalog",
      "item": [
        {
          "name": "GET /produse",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/produse?page=1&per_page=25", "host": ["{{baseUrl}}"], "path": ["produse"] }
          }
        },
        {
          "name": "POST /produse",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"denumire\": \"Cafea espresso\",\n  \"unitate_masura\": \"buc\",\n  \"pret_fara_tva\": 8.00,\n  \"cota_tva\": 9,\n  \"tip\": \"produs\",\n  \"activ\": 1\n}"
            },
            "url": { "raw": "{{baseUrl}}/produse", "host": ["{{baseUrl}}"], "path": ["produse"] }
          }
        },
        {
          "name": "GET /serii",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{baseUrl}}/serii?tip=factura",
              "host": ["{{baseUrl}}"],
              "path": ["serii"],
              "query": [{ "key": "tip", "value": "factura" }]
            }
          }
        }
      ]
    },
    {
      "name": "POS — Împerechere (pair)",
      "item": [
        {
          "name": "POST /pos/pair",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"casier@firma.ro\",\n  \"password\": \"parola\",\n  \"id_companie\": 5,\n  \"casa_nume\": \"Casa magazin\",\n  \"driver\": \"mock\",\n  \"device_name\": \"Tablet POS Magazin 1\"\n}"
            },
            "url": { "raw": "{{baseUrl}}/pos/pair", "host": ["{{baseUrl}}"], "path": ["pos", "pair"] }
          }
        }
      ]
    },
    {
      "name": "POS — Case de marcat",
      "item": [
        {
          "name": "GET /pos/case-marcat",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/pos/case-marcat", "host": ["{{baseUrl}}"], "path": ["pos", "case-marcat"] }
          }
        },
        {
          "name": "POST /pos/case-marcat",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"nume\": \"Casa 2\",\n  \"driver\": \"mock\"\n}"
            },
            "url": { "raw": "{{baseUrl}}/pos/case-marcat", "host": ["{{baseUrl}}"], "path": ["pos", "case-marcat"] }
          }
        },
        {
          "name": "GET /pos/case-marcat/{id}/status",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/pos/case-marcat/1/status", "host": ["{{baseUrl}}"], "path": ["pos", "case-marcat", "1", "status"] }
          }
        }
      ]
    },
    {
      "name": "POS — Sesiuni",
      "item": [
        {
          "name": "GET /pos/sesiuni/curenta",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{baseUrl}}/pos/sesiuni/curenta?id_casa=1",
              "host": ["{{baseUrl}}"],
              "path": ["pos", "sesiuni", "curenta"],
              "query": [{ "key": "id_casa", "value": "1" }]
            }
          }
        },
        {
          "name": "POST /pos/sesiuni/deschide",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{ \"id_casa\": 1, \"sold_initial\": 100.00, \"observatii\": \"Schimb tura 1\" }"
            },
            "url": { "raw": "{{baseUrl}}/pos/sesiuni/deschide", "host": ["{{baseUrl}}"], "path": ["pos", "sesiuni", "deschide"] }
          }
        },
        {
          "name": "POST /pos/sesiuni/inchide",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{ \"id_casa\": 1, \"sold_final\": 1234.50 }"
            },
            "url": { "raw": "{{baseUrl}}/pos/sesiuni/inchide", "host": ["{{baseUrl}}"], "path": ["pos", "sesiuni", "inchide"] }
          }
        }
      ]
    },
    {
      "name": "POS — Bonuri fiscale",
      "item": [
        {
          "name": "GET /pos/bonuri",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/pos/bonuri?page=1&per_page=25", "host": ["{{baseUrl}}"], "path": ["pos", "bonuri"] }
          }
        },
        {
          "name": "POST /pos/bonuri",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id_casa\": 1,\n  \"linii\": [\n    { \"descriere\": \"Cafea espresso\", \"cantitate\": 1, \"pret_unitar\": 8.00, \"cota_tva\": 9, \"departament\": \"Bauturi\" }\n  ],\n  \"plati\": { \"cash\": 10.00, \"card\": 0, \"alt\": 0 },\n  \"auto_emit\": true\n}"
            },
            "url": { "raw": "{{baseUrl}}/pos/bonuri", "host": ["{{baseUrl}}"], "path": ["pos", "bonuri"] }
          }
        },
        {
          "name": "POST /pos/bonuri/{id}/anulare",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{ \"motiv\": \"Greșeală operator\" }"
            },
            "url": { "raw": "{{baseUrl}}/pos/bonuri/1/anulare", "host": ["{{baseUrl}}"], "path": ["pos", "bonuri", "1", "anulare"] }
          }
        }
      ]
    },
    {
      "name": "POS — Rapoarte Z",
      "item": [
        {
          "name": "GET /pos/rapoarte-z",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": { "raw": "{{baseUrl}}/pos/rapoarte-z", "host": ["{{baseUrl}}"], "path": ["pos", "rapoarte-z"] }
          }
        },
        {
          "name": "POST /pos/rapoarte-z",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{ \"id_casa\": 1 }"
            },
            "url": { "raw": "{{baseUrl}}/pos/rapoarte-z", "host": ["{{baseUrl}}"], "path": ["pos", "rapoarte-z"] }
          }
        }
      ]
    }
  ]
}
