Auddomate
दस्तावेज़ रिपोर्टें और डेटा

API

अपने टूल से स्टडीज़, नतीजे, मशीनें और कैटलॉग पढ़ें, या रन डेटा भेजें, प्रति इंटीग्रेशन एक कुंजी के साथ।

1 मिनट पढ़ने का समय7 खंड

API उस पल के लिए है जब कोई कोटिंग टूल किसी के रिपोर्ट से आँकड़े नकल किए बिना स्टडी का थ्रूपुट और पेबैक चाहता है, या बेड़ा प्रबंधक स्प्रेडशीट के बिना दैनिक रन डेटा भेजना चाहता है। यह Team और Enterprise पर, auddomate.com और स्व-होस्टेड इंस्टॉलेशन दोनों पर उपलब्ध है। यह जो भी लौटाता है वही है जो आप ऐप में देखते हैं: वही बेड़ा, वही धारणाएँ, वही गणित।

कुंजियाँ

स्वामी सेटिंग्स → API कुंजियाँ में कुंजियाँ बनाते हैं। हर एक को उस तंत्र का नाम दें जो उसे उपयोग करेगा, टिक करें वह क्या कर सकती है, और दिखते ही कुंजी कॉपी करें — यह एक बार दिखती है और हैश करके रखी जाती है। कुंजी के एक या अधिक स्कोप होते हैं:

read
स्टडीज़, नतीजे, मशीनें और कैटलॉग। हर कुंजी के पास यह है।
telemetry
स्टडी में टेलीमेट्री पंक्तियाँ लिखना।
audit
ऑडिट लॉग पढ़ना।

उसी पेज से कुंजी निरस्त करें; जो कुछ उसे अब भी उपयोग करता है उसे उस क्षण से 401 मिलता है। कुंजियाँ बनाना और निरस्त करना खुद ऑडिट लॉग में लिखा जाता है। प्रति संगठन बीस तक सक्रिय कुंजियाँ।

कॉल करना

हर अनुरोध कुंजी को बेयरर टोकन के रूप में ले जाता है। बेस पता आपका Auddomate पता है जिसके बाद /api/v1

bash
curl -H "Authorization: Bearer aud_…" https://auddomate.com/api/v1/me

अगर आपके और सर्वर के बीच कुछ Authorization हेडर हटा देता है, तो उसे इसके बजाय X-Api-Key: aud_… के रूप में भेजें। जवाब स्थिर आकार के JSON हैं:

json
{ "ok": true, "data": …, "meta": { "page": 1, "per_page": 50, "total": 132, "pages": 3 } }
{ "ok": false, "error": "not_found", "message": "No study ST-9999 in this organisation." }

सूचियाँ ?page= और ?per_page= (200 तक) से पृष्ठबद्ध होती हैं। समय सर्वर का स्थानीय समय YYYY-MM-DD HH:MM:SS में है; लंबाइयाँ मिलीमीटर, दूरियाँ मीटर, दरें प्रति घंटा या प्रति दिन, ठीक ऐप की तरह। हर कुंजी प्रति मिनट 300 अनुरोध कर सकती है; उससे आगे आपको Retry-After हेडर के साथ 429 मिलता है।

एंडपॉइंट

GET /api/v1/me
संगठन, कुंजी का नाम और स्कोप, संस्करण और दर सीमा। यह जाँचने के लिए कि कुंजी काम करती है।
GET /api/v1/studies
हर स्टडी: संदर्भ, नाम, साइट, क्लाइंट, स्थिति, वर्तमान परिदृश्य का थ्रूपुट फ़ैसला और गुंजाइश, और उसके बेड़े की इकाइयों की संख्या। ?status=, ?client= या ?updated_since=2026-09-01 से फ़िल्टर करें।
GET /api/v1/studies/{ref}
एक स्टडी पूरी, संदर्भ (ST-1001) या id से: प्लान (फ़ाइल, स्केल, विस्तार, कितने रैक, गलियारे, डॉक और अवरोध), और हर परिदृश्य अपनी बेड़ा पंक्तियों, धारणाओं, पंक्ति दर पंक्ति थ्रूपुट नतीजे, सबसे माँग वाली मशीन के मुकाबले गलियारा जाँच, और वह मशीन कौन-सी थी।
GET /api/v1/studies/{ref}/telemetry
स्टडी का रन डेटा, प्रति मशीन प्रति दिन एक पंक्ति।
GET /api/v1/studies/{ref}/pdf
रिपोर्ट PDF फ़ाइल के रूप में, सर्वर पर बनी। ?lang= और ?units=imperial भाषा और इकाइयाँ चुनते हैं। सहेजे संस्करण के लिए /versions/{n}/pdf
GET /api/v1/studies/{ref}/versions
स्टडी के सहेजे संस्करण, नया पहले; /versions/{n} एक को स्टडी के ही आकार में पूरा लौटाता है, और ?diff=1 जोड़ता है कि तब से क्या बदला।
POST /api/v1/studies/{ref}/telemetry
रन डेटा लिखें। telemetry स्कोप चाहिए। {"rows": [...]} भेजें, 5 000 पंक्तियों तक; हर पंक्ति मशीन को machine_id या machine (उसका सटीक नाम) से नामित करती है, एक day, और moves, run_minutes, idle_minutes, distance_km, faults में से कोई भी। पहले से मौजूद मशीन और दिन की पंक्ति बदल दी जाती है। जवाब बताता है कितनी लिखी गईं और पहली पचास छोड़ी गई पंक्तियाँ और क्यों, सूचीबद्ध करता है।
GET /api/v1/machines
आपकी मशीन लाइब्रेरी, हर प्रोफ़ाइल अपने आँकड़ों के साथ और, कैटलॉग मॉडलों के लिए, वह डेटाशीट जिससे वह आई। एक के लिए /machines/{id}
GET /api/v1/catalogue
असली ब्रांडों और मॉडलों का कैटलॉग उनकी स्रोत डेटाशीटों के साथ। ?vendor= या ?class= से फ़िल्टर करें।
GET /api/v1/audit
ऑडिट लॉग, नया पहले। audit स्कोप चाहिए। ?group=, ?from=, ?to=, ?q= से फ़िल्टर करें।

स्टडी कैसी दिखती है

json
{
  "ref": "ST-1002", "name": "Cold store aisle audit", "status": "review",
  "plan": { "file": "cold-store.dxf", "scale": { "mm_per_unit": 1, "source": "dxf" },
            "extent_mm": { "width": 61000, "height": 45000 },
            "shapes": { "rack": 6, "aisle": 5, "dock": 1, "block": 3 } },
  "scenarios": [ {
    "name": "Base", "current": true,
    "fleet": [ { "machine": "VNA turret, 1.0 t", "class": "vna", "qty": 3, "shifts": 2 } ],
    "assumptions": { "moves_required": 2110, "hours_per_shift": 8, "days_per_year": 300,
                     "distance_m": 14, "distance_source": "plan", "handling_s": 55 },
    "throughput": { "verdict": "meets", "moves_per_day": 3024.6, "required_per_day": 2110,
                    "headroom_per_day": 914.6, "utilisation_pct": 69.8, "lines": [ … ] },
    "aisles": { "verdict": "fail", "aisle_min_mm": 2100, "narrowest_mm": 1800, "aisles": 5, "below": 5 },
    "checked_against": { "machine": "Pallet truck, pedestrian 1.6 t", "aisle_min_mm": 2100 }
  } ]
}

throughput.verdict इनमें से एक है: meets, short, nofleet, nodistance या notarget; aisles.verdict इनमें से एक: pass, fail, noplan, noscale, noaisles या nonedistance_source बताता है यात्रा दूरी टाइप की गई थी या प्लान से निकाली गई, जैसा सिमुलेशन पेज करता है।

रन डेटा भेजना

bash
curl -X POST https://auddomate.com/api/v1/studies/ST-1002/telemetry \
  -H "Authorization: Bearer aud_…" -H "Content-Type: application/json" \
  -d '{"rows": [
        {"machine": "VNA turret, 1.0 t", "day": "2026-09-01", "moves": 412, "run_minutes": 480, "idle_minutes": 60, "distance_km": 18.4, "faults": 1},
        {"machine_id": 327, "day": "2026-09-02", "moves": 390}
      ]}'
json
{ "ok": true, "data": { "written": 2, "skipped": 0, "errors": [] } }

त्रुटियाँ

401 unauthorised
कोई कुंजी नहीं, या ऐसी जिसे हम नहीं पहचानते।
401 revoked
कुंजी निरस्त कर दी गई; संदेश बताता है कब।
403 plan
संगठन मुफ़्त या Studio पर है।
403 scope
कुंजी में वह स्कोप नहीं जो एंडपॉइंट को चाहिए।
404 not_found
ऐसी कोई स्टडी, मशीन या एंडपॉइंट नहीं।
400 json / empty
बॉडी JSON ऑब्जेक्ट नहीं थी, या उसमें पंक्तियाँ नहीं थीं।
413 too_many
एक टेलीमेट्री अनुरोध में 5 000 से अधिक पंक्तियाँ।
429 rate_limited
एक मिनट में 300 से अधिक अनुरोध। Retry-After सेकंड प्रतीक्षा करें।

संस्करणीकरण

पथ संस्करण ले जाता है। फ़ील्ड समय के साथ v1 में जुड़ते हैं पर कभी नाम नहीं बदले या हटाए जाते; जो कुछ क्लाइंट तोड़ेगा वह v2 बनता है, और v1 कम से कम एक साल साथ चलता रहता है। बदलाव बाकी सबकी तरह चेंजलॉग में सूचीबद्ध हैं।

API उसी संगठन को पढ़ता-लिखता है जिसकी कुंजी है, और कुछ नहीं — किसी भी कुंजी से दूसरे संगठन की स्टडीज़ तक पहुँचने का कोई रास्ता नहीं। कुंजी को पासवर्ड की तरह मानें: प्रति तंत्र एक, तंत्र हटने पर निरस्त।