GraphQL sorguları (okuma)

Tür güvenli GraphQL sorgularıyla veri alın

5 dk okuma
Bu bölümü yazdır

/api/v1/graphql adresindeki GraphQL uç noktası 16 okuma sorgusu sunar: whoami, workOrders, workOrder(id | reference), assets, asset(id), assetDowntimes, meters(assetId), parts (lowStock filtresiyle), part (id veya barkod ile), stockMovements, floorPlans(locationId), locations, vendors, customers, purchaseOrders, purchaseOrder(id | reference | erpReference). Her liste limit (1-200) ve offset ile sonuna kadar sayfalanabilir — afterId ile sayfalanan stockMovements hariç.

Uç nokta

Content-Type: application/json başlığıyla POST https://freemaint.com/api/v1/graphql. Her sorgu günlük kotanızdan 1 adet tüketir.

Örnek: iş emirlerini listeleme

query { workOrders(limit: 10, status: "OPEN") { id title priority status assetId assetName locationId locationName dueDate } } En fazla 200 satır döndürür; varsayılan limit 50'dir.

Tek bir parça getir (id veya barkod ile)

Tek bir yedek parçayı id veya barkod ile getirin: part(id: N) ya da part(barcode: "CODE"). barcode; barkodu, QR kodu, parça numarasını ve referansı eşleştirir (büyük/küçük harf duyarsız, yalnızca aktif parçalar) — uygulama içi tarayıcının kullandığı eşleşmenin aynısı — ve hiçbir şey eşleşmezse null döner. Örnek: query { part(barcode: "ABC-123") { id name description partNumber quantity minQuantity maxStockLevel unitOfMeasure imageUrl area location { name } vendor { name website } } } Parça ayrıca description, minQuantity, maxStockLevel, imageUrl ve iç içe location ile vendor alanlarını döndürür — tek sorguda bir kiosk ekranını doldurmaya yeter. Kendi customReference alanınızla da eşleşir; böylece bir entegrasyon parçayı sizin sisteminizdeki koduyla bulabilir.

Mevcut filtreler

  • workOrders(limit, offset, status, updatedSince) — en yeniden eskiye; limit (1-200, varsayılan 50) ve offset ile sayfalama; status durum dizesi filtresidir; updatedSince yalnızca o andan beri değiştirilen iş emirlerini döndürür; Çöp Kutusundaki iş emirleri asla döndürülmez
  • workOrder(id:) / workOrder(reference:) — kimliğiyle ya da ekibinizin kullandığı referansla (WO-2026-11-016, büyük/küçük harf duyarsız) bulunan tek bir iş emri; ikisinden yalnızca birini verin. Her iş emri ayrıca bir formun ya da iznin yazdırdığı adlar olan assetName ve locationName değerlerini döndürür
  • assets(limit, offset, updatedSince) — en yeniden eskiye; limit (1-200, varsayılan 50) ve offset ile sayfalama; updatedSince yalnızca o andan beri değiştirilen varlıkları döndürür
  • assetDowntimes(assetId, openOnly, since, limit, offset) — makine duruşları, en yeniden eskiye; limit (1-200, varsayılan 50) ve offset ile sayfalama; openOnly=true yalnızca henüz bitmemiş duruşları döndürür; since (ISO 8601) bir zaman damgasından itibaren BAŞLAMIŞ duruşları döndürür, kaçan bir teslimattan sonra açığı kapatmanın ucuz yolu budur
  • parts(limit, offset, lowStock, updatedSince) — limit (1-200) ve offset ile sayfalama; updatedSince yalnızca o andan sonra değişen yedek parçaları döndürür; lowStock=true yalnızca minQuantity düzeyinde ya da altındaki stoklu kalemleri döndürür
  • locations, vendors, customers (limit, offset, updatedSince) — ada göre sıralı; limit (1-200, varsayılan 200) ve offset ile sayfalama; updatedSince yalnızca o andan beri değiştirilen satırları döndürür
  • part(id, barcode) — tek parça araması; barcode barkod, QR kod, parça numarası, referans ve özel referans ile eşleşir, okuyucular için idealdir
  • floorPlans(locationId) — bir konumun kat planları ve işaretçileri (yüzde cinsinden x/y koordinatları); kiosk, parçanın nerede saklandığını gösterebilir
  • meters(assetId, limit, offset) — sayaçlar (çalışma saati, adet sayacı, kilometre sayacı, gösterge), en yeniden eskiye; limit (1-200, varsayılan 50) ve offset ile sayfalama; assetId tek bir makineyle sınırlar; lastReadingValue ve lastReadingDate son okumayı verir
  • purchaseOrders(limit, offset, status, vendorId, updatedSince) — satırları (her biri receivedQuantity ile), teslimatları (receipts) ve tedarikçisiyle satın alma siparişleri, en yeniden eskiye; limit (1-200, varsayılan 50) ve offset ile sayfalama; status PENDING, APPROVED, ORDERED, PARTIALLY_RECEIVED, RECEIVED veya CANCELLED değerlerinden biridir; updatedSince yalnızca o andan beri değiştirilen siparişleri döndürür
  • purchaseOrder(id, reference, erpReference) — tek bir satın alma siparişi; id'si, FreeMaint referansı (PO-12) veya ERP'nizin geri yazdığı erpReference ile bulunur; bunlardan yalnızca birini verin
  • stockMovements(limit, afterId, since, partId, workOrderId, type) — stok defteri, en eskiden yeniye; limit (1-200, varsayılan 50) ve afterId ile sayfalama: sonraki sayfayı almak için aldığınız son hareketin id'sini verin; yeni hareketler yazılırken bile sonuç kesin kalır; since (ISO 8601) bir tarihten başlatır; type ADJUSTMENT, PURCHASE, WORK_ORDER, TRANSFER, RETURN, SCRAP, INITIAL, CORRECTION veya INSPECTION değerlerinden biridir

Şema iç gözlemi

İç gözlem etkin. Şemanın tamamını — tüm sorguları, mutasyonları ve girdi türlerini alanlarıyla birlikte — etkileşimli olarak keşfetmek için bir masaüstü GraphQL istemcisini (Altair, Insomnia veya Postman) Bearer jetonunuzla POST /api/v1/graphql adresine yönlendirin. Apollo Sandbox veya çevrim içi GraphiQL gibi tarayıcıda çalışan araçlar CORS politikamız tarafından reddedilir.

İpucu

Birden çok sorguyu tek istekte birleştirin: { workOrders(limit:5){ id } assets(limit:5){ id } } — tek bir kota çağrısı sayılır.

İpucu

Sayaç özel alanları: meters { id name customFields { name label fieldType value } } sayaçlar için tanımlanan her alan için görüntüleme sırasına göre bir kayıt döndürür; value metindir veya o sayacın değeri yoksa null olur. Değerler API üzerinden salt okunurdur.

Bu sayfa yardımcı oldu mu?