Interogări GraphQL (citire)
Obțineți date cu interogări GraphQL tipizate
Endpointul GraphQL /api/v1/graphql expune 16 interogări de citire: whoami, workOrders, workOrder(id | reference), assets, asset(id), assetDowntimes, meters(assetId), parts (cu filtrul lowStock), part (după id sau cod de bare), stockMovements, floorPlans(locationId), locations, vendors, customers, purchaseOrders, purchaseOrder(id | reference | erpReference). Orice listă poate fi parcursă până la capăt cu limit (1-200) plus offset — cu excepția stockMovements, care se paginează cu afterId.
Punct final
POST https://freemaint.com/api/v1/graphql cu Content-Type: application/json. Fiecare interogare consumă 1 din cota zilnică.
Exemplu: enumerați comenzile de lucru
query { workOrders(limit: 10, status: "OPEN") { id title priority status assetId assetName locationId locationName dueDate } } Returnează până la 200 de rânduri; limita implicită este 50.
Preia o piesă (după id sau cod de bare)
Obține o singură piesă după id sau cod de bare, cu part(id: N) sau part(barcode: "CODE"). barcode se potrivește cu codul de bare, codul QR, numărul piesei și referința (fără diferențiere între majuscule, doar piese active) — aceeași potrivire folosită de scanerul din aplicație — și returnează null când nu găsește nimic. Exemplu: query { part(barcode: "ABC-123") { id name description partNumber quantity minQuantity maxStockLevel unitOfMeasure imageUrl area location { name } vendor { name website } } } Piesa returnează și description, minQuantity, maxStockLevel, imageUrl, plus obiectele imbricate location și vendor — suficient pentru a umple ecranul unui chioșc dintr-o singură interogare. Se potrivește și cu propriul dumneavoastră customReference, astfel încât o integrare poate găsi o piesă după codul pe care îl are în sistemul dumneavoastră.
Filtre disponibile
- workOrders(limit, offset, status, updatedSince) — de la cea mai recentă; paginare cu limit (1-200, implicit 50) și offset; status este un filtru șir de stare; updatedSince returnează doar comenzile de lucru modificate de la acel moment; comenzile de lucru din Coșul de gunoi nu sunt returnate niciodată
- workOrder(id:) / workOrder(reference:) — un ordin de lucru, găsit după id sau după referința pe care o folosește echipa dvs. (WO-2026-11-016, fără a ține cont de majuscule); transmiteți doar unul dintre ele. Fiecare ordin de lucru returnează și assetName și locationName, numele pe care le tipărește un formular sau un permis
- assets(limit, offset, updatedSince) — de la cel mai recent; paginare cu limit (1-200, implicit 50) și offset; updatedSince returnează doar echipamentele modificate de la acel moment
- assetDowntimes(assetId, openOnly, since, limit, offset) — opririle de mașină, de la cea mai recentă; paginare cu limit (1-200, implicit 50) și offset; openOnly=true returnează doar opririle încă deschise; since (ISO 8601) returnează opririle ÎNCEPUTE la sau după un moment de timp, modul ieftin de a recupera o livrare pierdută
- parts(limit, offset, lowStock, updatedSince) — paginare cu limit (1-200) și offset; updatedSince returnează doar piesele modificate de la acel moment; lowStock=true returnează doar articolele din stoc aflate la sau sub minQuantity
- locations, vendors, customers (limit, offset, updatedSince) — ordonate după nume; paginare cu limit (1-200, implicit 200) și offset; updatedSince returnează doar rândurile modificate de la acel moment
- part(id, barcode) — căutarea unei singure piese; barcode se potrivește cu codul de bare, codul QR, numărul piesei, referința și referința personalizată, ideal pentru scanere
- floorPlans(locationId) — planurile de etaj ale unei locații, cu marcajele lor (coordonate x/y în procente); permite unui chioșc să afișeze unde este depozitată piesa
- meters(assetId, limit, offset) — contoare (ore de funcționare, contoare de piese, odometre, indicatoare), de la cel mai recent; paginare cu limit (1-200, implicit 50) și offset; assetId restrânge la o mașină; lastReadingValue și lastReadingDate dau ultima citire
- purchaseOrders(limit, offset, status, vendorId, updatedSince) — comenzi de achiziție cu liniile lor (fiecare cu receivedQuantity), livrările (receipts) și furnizorul, de la cea mai nouă; paginare cu limit (1-200, implicit 50) și offset; status este PENDING, APPROVED, ORDERED, PARTIALLY_RECEIVED, RECEIVED sau CANCELLED; updatedSince returnează doar comenzile modificate de la acel moment
- purchaseOrder(id, reference, erpReference) — o singură comandă de achiziție, găsită după id, după referința FreeMaint (PO-12) sau după erpReference scrisă de ERP-ul dvs.; transmiteți exact unul
- stockMovements(limit, afterId, since, partId, workOrderId, type) — registrul de stoc, de la cea mai veche mișcare; paginare cu limit (1-200, implicit 50) și afterId: transmiteți id-ul ultimei mișcări primite pentru a obține pagina următoare, care rămâne exactă chiar dacă între timp se scriu mișcări noi; since (ISO 8601) pornește de la o dată; type este ADJUSTMENT, PURCHASE, WORK_ORDER, TRANSFER, RETURN, SCRAP, INITIAL, CORRECTION sau INSPECTION
Introspecția schemei
Introspecția este activată. Pentru a explora interactiv întreaga schemă — fiecare interogare, mutație și tip de intrare, cu câmpurile sale — conectați un client GraphQL desktop (Altair, Insomnia sau Postman) la POST /api/v1/graphql cu tokenul Bearer. Exploratoarele care rulează în browser, precum Apollo Sandbox sau GraphiQL online, sunt respinse de politica noastră CORS.
Sfat
Sfat
Articole conexe
A fost utilă această pagină?