Kueri GraphQL (Baca)

Ambil data dengan kueri GraphQL yang aman-tipe (type-safe)

5 menit baca
Cetak bagian ini

Endpoint GraphQL di /api/v1/graphql menyediakan 16 kueri baca: whoami, workOrders, workOrder(id | reference), assets, asset(id), assetDowntimes, meters(assetId), parts (dengan filter lowStock), part (berdasarkan id atau barcode), stockMovements, floorPlans(locationId), locations, vendors, customers, purchaseOrders, purchaseOrder(id | reference | erpReference). Setiap daftar dapat ditelusuri per halaman sampai habis dengan limit (1-200) plus offset — kecuali stockMovements, yang dipaginasi dengan afterId.

Endpoint

POST https://freemaint.com/api/v1/graphql dengan Content-Type: application/json. Setiap kueri menghabiskan 1 dari kuota harian Anda.

Contoh: menampilkan perintah kerja

query { workOrders(limit: 10, status: "OPEN") { id title priority status assetId assetName locationId locationName dueDate } } Mengembalikan hingga 200 baris; batas bawaannya 50.

Ambil satu suku cadang (berdasarkan id atau barcode)

Ambil satu suku cadang berdasarkan id atau barcode, dengan part(id: N) atau part(barcode: "CODE"). barcode cocok dengan barcode, kode QR, nomor part, dan referensi (tanpa membedakan huruf besar/kecil, hanya suku cadang aktif) — pencocokan yang sama dengan pemindai di aplikasi — dan mengembalikan null bila tidak ada yang cocok. Contoh: query { part(barcode: "ABC-123") { id name description partNumber quantity minQuantity maxStockLevel unitOfMeasure imageUrl area location { name } vendor { name website } } } Suku cadang juga mengembalikan description, minQuantity, maxStockLevel, imageUrl serta location dan vendor bersarang — cukup untuk mengisi layar kios dalam satu kueri. Ia juga cocok dengan customReference milik Anda, sehingga sebuah integrasi dapat menemukan suku cadang lewat kode yang dipakainya di sistem Anda.

Filter yang tersedia

  • workOrders(limit, offset, status, updatedSince) — terbaru lebih dulu; halaman dengan limit (1-200, bawaan 50) plus offset; filter string status; updatedSince hanya mengembalikan perintah kerja yang berubah sejak saat itu; perintah kerja di Tempat Sampah Daur Ulang tidak pernah dikembalikan
  • workOrder(id:) / workOrder(reference:) — satu perintah kerja, dicari berdasarkan id atau referensi yang dipakai tim Anda (WO-2026-11-016, tidak membedakan huruf besar/kecil); isi tepat salah satunya. Setiap perintah kerja juga mengembalikan assetName dan locationName, nama yang dicetak pada formulir atau izin
  • assets(limit, offset, updatedSince) — terbaru lebih dulu; halaman dengan limit (1-200, bawaan 50) plus offset; updatedSince hanya mengembalikan aset yang berubah sejak saat itu
  • assetDowntimes(assetId, openOnly, since, limit, offset) — penghentian mesin, terbaru lebih dulu; halaman dengan limit (1-200, bawaan 50) plus offset; openOnly=true hanya mengembalikan penghentian yang belum berakhir; since (ISO 8601) mengembalikan penghentian yang MULAI pada atau setelah suatu stempel waktu, cara murah untuk menyusul pengiriman yang terlewat
  • parts(limit, offset, lowStock, updatedSince) — halaman dengan limit (1-200) plus offset; updatedSince hanya mengembalikan suku cadang yang berubah sejak saat itu; lowStock=true hanya mengembalikan barang berstok pada atau di bawah minQuantity
  • locations, vendors, customers (limit, offset, updatedSince) — diurutkan berdasarkan nama; halaman dengan limit (1-200, bawaan 200) plus offset; updatedSince hanya mengembalikan baris yang berubah sejak saat itu
  • part(id, barcode) — pencarian satu suku cadang; barcode cocok dengan barcode, kode QR, nomor part, referensi, dan referensi kustom — ideal untuk pemindai
  • floorPlans(locationId) — denah lantai sebuah lokasi beserta penandanya (koordinat x/y dalam persen); memungkinkan kiosk menampilkan di mana suku cadang disimpan
  • meters(assetId, limit, offset) — meter (jam operasi, penghitung, odometer, pengukur), terbaru lebih dulu; halaman dengan limit (1-200, bawaan 50) plus offset; assetId membatasi ke satu mesin; lastReadingValue dan lastReadingDate memberi pembacaan terakhir
  • purchaseOrders(limit, offset, status, vendorId, updatedSince) — pesanan pembelian beserta barisnya (masing-masing dengan receivedQuantity), pengirimannya (receipts) dan pemasoknya, dari yang terbaru; paginasi dengan limit (1-200, bawaan 50) dan offset; status adalah PENDING, APPROVED, ORDERED, PARTIALLY_RECEIVED, RECEIVED atau CANCELLED; updatedSince hanya mengembalikan pesanan yang diubah sejak saat itu
  • purchaseOrder(id, reference, erpReference) — satu pesanan pembelian, dicari berdasarkan id, referensi FreeMaint (PO-12), atau erpReference yang ditulis balik oleh ERP Anda; isi tepat satu
  • stockMovements(limit, afterId, since, partId, workOrderId, type) — buku besar stok, terlama lebih dulu; halaman dengan limit (1-200, bawaan 50) dan afterId: kirim id pergerakan terakhir yang Anda terima untuk mendapatkan halaman berikutnya, yang tetap tepat meskipun pergerakan baru sedang ditulis; since (ISO 8601) dimulai dari suatu tanggal; type adalah ADJUSTMENT, PURCHASE, WORK_ORDER, TRANSFER, RETURN, SCRAP, INITIAL, CORRECTION, atau INSPECTION

Introspeksi skema

Introspeksi diaktifkan. Untuk menjelajahi seluruh skema secara interaktif — setiap kueri, mutasi, dan tipe input beserta kolomnya — arahkan klien GraphQL desktop (Altair, Insomnia, atau Postman) ke POST /api/v1/graphql dengan token Bearer Anda. Penjelajah yang berjalan di peramban, seperti Apollo Sandbox atau GraphiQL daring, ditolak oleh kebijakan CORS kami.

Tips

Gabungkan beberapa kueri dalam satu permintaan: { workOrders(limit:5){ id } assets(limit:5){ id } } — dihitung sebagai satu panggilan kuota.

Tips

Kolom kustom meter: meters { id name customFields { name label fieldType value } } mengembalikan satu entri untuk setiap kolom yang ditentukan bagi meter, sesuai urutan tampilan; value berupa teks, atau null jika meter itu tidak memiliki nilai. Melalui API, nilainya hanya dapat dibaca.

Apakah halaman ini membantu?