Outputs API

Retrieve field reports and combined output packages over HTTP.

Last updated:

On this pageReport endpointsSelecting scopeJSON responseCombined output packageValidation and error handling

Report endpoints

Field outputs use GET /api/p/{pid}/ciktilar/{tur}. Users with read permission, including Viewers, can access outputs permitted by their module scope. The default is format=json; the reports below also accept csv, xlsx and pdf.

Type Contents Scope parameters
pano Panel / splice tray schedule Repeatable dugum or hepsi=1
raf Rack schedule Repeatable dugum or hepsi=1
malzeme Material list / bill of quantities (BoQ) durum
kapasite-optik Capacity / optical report durum, bolum
etiketler Tag list Repeatable dugum or hepsi=1

Panel, rack, fiber/optical and label reports require fiber scope. Material outputs can use shared site data while fiber is disabled. Electric inventory endpoints belong to a module that is Coming soon.

Selecting scope

On endpoints requiring node selection, dugum can be repeated. hepsi=1 selects the entire project.

GET /api/p/{pid}/ciktilar/pano?dugum=DOL-123&dugum=EK-456&format=pdf

Replace example identifiers with accessible nodes in the same project. If neither nodes nor hepsi=1 are supplied, the endpoint returns 400.

For material reports, durum accepts hepsi, yeni, mevcut and kullanim_disi. yeni includes both planned and under-construction features.

For the fiber/optical report, circuit states are comma-separated aktif, planlanan and pasif; the default is aktif,planlanan. bolum=kapasite,optik is the default, and either section can be selected alone. The optical section shows saved calculations and their freshness; generating an output does not create a new optical calculation.

JSON response

A report JSON response is not an ordinary feature list. Its main fields are:

Field Meaning
cikti, ad Report key and displayed name
veri_ani Generation time, last change, modules and scope
kunye Report-specific descriptive information
notlar, uyarilar Records affecting interpretation of the result
sayilar Report-specific totals
bolumler Section definitions and rows

Each section carries anahtar, baslik, anahtarlar, sutunlar, turler, notlar, satirlar and kimlikler. Map values in satirlar using the same section's anahtarlar order. Do not use Turkish column headings as stable field keys.

generated_at, son_degisiklik, moduller, kapsam, sozlesme and snapshot_tekil in veri_ani identify the data snapshot used for the output. Large integers may be returned as lossless strings; do not force every numeric-looking cell into a JavaScript Number.

Combined output package

GET /api/p/{pid}/ciktilar/paket with format=zip generates selected reports from one data snapshot. icerik values use <report>.<format>, separated by commas or supplied as repeated query parameters.

GET /api/p/{pid}/ciktilar/paket?icerik=pano.pdf&icerik=malzeme.xlsx&hepsi=1

Empty, duplicate or unknown selections are rejected with 400. Packages accept malzeme_durum, devre_durum and bolum. The ZIP includes the selected files and KUNYE.json describing the snapshot and file list.

This ZIP distributes reports; it is not a project restore bundle. Use Project bundle to transfer a project.

Validation and error handling

Constraint Value
Nodes selected in one request 200
Total section rows in one output 200,000
Total package rows 400,000; different formats of the same data count separately
Single file 25 MiB
Total expanded package files 100 MiB
Collected cell content 64 MiB
Total execution time allowance 30 seconds
Concurrent output generation 2 per application worker

A row-count rejection returns 400/cikti_sinir; size, time or occupied generation slots may return 409. Retry cikti_mesgul later; for cikti_sure and cikti_boyut, narrow the selected nodes, states or sections. Package generation shares these checks.

Output calls do not modify project records and do not accept request_id. File formats return the file body directly; read its download name from Content-Disposition. Errors may return JSON instead of a file, so inspect the HTTP status before saving the body. See Error codes.