المطوّرون
ابنِ ما تحتاجه على واجهة NextEAM API.
REST وGraphQL وWebhooks، محصورة بنطاق المنشأة منذ اليوم الأول. مواصفة OpenAPI 3، وحزم SDK لـ JS وPython، وتكاملات مرجعية مع SAP FICO وOracle Fusion. هي نفسها الواجهة التي بُنيت عليها شاشات المنتج. لا توجد واجهة موازية.
المصادقة
رمز Bearer مع حصر النطاق بالمنشأة.
كل طلب يحمل شيئين: رمز API في رأس Authorization ومعرّف المنشأة في رأس X-Tenant-Id ولا يقبل الخادم أي طلب ينقصه أحدهما.
رموز API محصورة بمنشأة واحدة ومستخدم واحد ودور واحد. تُنشأ من صفحة الإعدادات داخل التطبيق ويمكن إبطالها في أي وقت. لا نعرض الرمز مرة أخرى بعد إنشائه، فانسخه فوراً إلى مخزن الأسرار لديك.
Authorization: Bearer YOUR_API_TOKEN
X-Tenant-Id: tnt_01HX0R3F...
Accept: application/jsonلأحمال العمل بين الخدمات (تكامل بلا مستخدم بشري مثلاً)، استخدم حساب خدمة تابعاً للمنشأة. لحسابات الخدمة سياسة تدوير رموز خاصة بها ووسم مستقل في سجل التدقيق.
أمثلة برمجية
ثلاث صيغ، والواجهة واحدة.
curl -X GET https://api.nexteam.me/v1/work-orders \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "X-Tenant-Id: your-tenant-id" \
-H "Accept: application/json"import { NextEAM } from '@nexteam/sdk';
const client = new NextEAM({
apiKey: process.env.NEXTEAM_API_KEY,
tenantId: process.env.NEXTEAM_TENANT_ID,
});
const workOrders = await client.workOrders.list({
status: 'open',
priority: 'P1',
limit: 50,
});
console.log(`${workOrders.total} open P1 WOs`);from nexteam import NextEAM
client = NextEAM(
api_key=os.environ["NEXTEAM_API_KEY"],
tenant_id=os.environ["NEXTEAM_TENANT_ID"],
)
work_orders = client.work_orders.list(
status="open",
priority="P1",
limit=50,
)
print(f"{work_orders.total} open P1 WOs")POST https://your-app.example.com/webhooks/nexteam HTTP/1.1
Content-Type: application/json
X-NextEAM-Signature: sha256=...
X-NextEAM-Event: work_order.completed
X-NextEAM-Delivery: a8f1...
{
"event": "work_order.completed",
"tenantId": "tnt_01HX...",
"data": {
"workOrderId": "wo_01HY...",
"completedAt": "2026-05-26T08:14:22.110Z",
"completedBy": "usr_01HX..."
}
}حزم SDK الرسمية @nexteam/sdk على npm، وحزمة nexteam على PyPI تُنشر مع كل إصدار. استخدمها للوصول الآمن بالأنواع، وارجع إلى curl المباشر عند كتابة البرامج النصية أو تتبّع الأخطاء.
الموارد الأساسية
موارد REST، منعكسة كما هي في GraphQL.
كل مورد يتبع الاصطلاحات نفسها: GET للعرض والقراءة، POST للإنشاء، PATCH للتحديث الجزئي، DELETE للحذف النهائي (الحذف المنطقي هو السلوك الافتراضي ويظهر عبر ?archived=true).
| المورد | نقطة النهاية | الأفعال |
|---|---|---|
| الأصول | /v1/assets | GET, POST, PATCH, DELETE |
| أوامر العمل | /v1/work-orders | GET, POST, PATCH, DELETE |
| الصيانة الوقائية | /v1/pm | GET, POST, PATCH, DELETE |
| قطع الغيار | /v1/spare-parts | GET, POST, PATCH, DELETE |
| أوامر الشراء | /v1/purchase-orders | GET, POST, PATCH |
| فواتير المورّدين | /v1/vendor-invoices | GET, POST, PATCH |
| العقود | /v1/contracts | GET, POST, PATCH, DELETE |
| المستخدمون والأدوار | /v1/users | GET, POST, PATCH, DELETE |
| سجلات التدقيق | /v1/audit-logs | GET (قراءة فقط) |
| المساعد الذكي | /v1/assistant/respond | POST (استعلام RAG) |
القائمة الكاملة (أكثر من 40 مورداً) موجودة في مواصفة OpenAPI. وGraphQL انعكاس مطابق لواجهة REST مع إضافة مزايا اختيار الحقول.
Webhooks
أحداث تصل موقّعة بـ HMAC.
اشترك في الأحداث من إعدادات Webhook داخل التطبيق. ونوقّع كل عملية إرسال برأس X-NextEAM-Signature (توقيع HMAC-SHA256 لمحتوى الطلب باستخدام سر الاشتراك لديك). تحقّق من التوقيع قبل معالجة المحتوى.
نعيد محاولة الإرسال الفاشل بتباعد متزايد حتى 24 ساعة، ثم نضع الاشتراك في حالة إخفاق ونبلّغ مسؤول المنشأة. كما تتوفر محتويات Webhook عبر نقطة النهاية /v1/webhook-deliveries لإعادة الإرسال.
الأحداث المدعومة (جزء منها)
- work_order.created
- work_order.assigned
- work_order.completed
- work_order.overdue
- asset.health.declined
- pm.generated
- po.approved
- goods_receipt.matched
- invitation.accepted
- incident.reported
حدود المعدل
حدود افتراضية معقولة، وتُرفع عند الطلب.
الافتراضي
- القراءات
- 100 طلب / دقيقة
- الكتابات
- 30 طلباً / دقيقة
باقة Growth
- القراءات
- 500 طلب / دقيقة
- الكتابات
- 150 طلباً / دقيقة
باقة Enterprise
- القراءات
- حسب الاتفاق
- الكتابات
- حسب الاتفاق
كل استجابة تحمل رأسَي X-RateLimit-Remaining و X-RateLimit-Reset وتجاوز الحد يُرجع 429 Too Many Requests مع تلميح Retry-After للمهلة. أما أحمال الاستيراد الجماعي فتستخدم نقاط النهاية الجماعية، ولها حدود أعلى ومستقلة. تواصل معنا قبل جدولة أي تعبئة بيانات كبيرة.
تكاملات مرجعية
وصفات جاهزة للأنظمة التي يربطها معظم العملاء.
SAP FICO
مزامنة ثنائية الاتجاه لطلبات وأوامر الشراء، ومواءمة مراكز التكلفة، وترحيل القيود المحاسبية عند إغلاق أمر العمل، عبر إطار REST وWebhook لدينا للتخاطب مع نقاط نهاية SAP BAPI / OData. يُنفَّذ كتكامل محدد النطاق أثناء التهيئة (باقتا Growth وEnterprise).
Oracle Fusion Cloud
مزامنة مراكز التكلفة، ومزامنة بيانات المورّدين، وترحيل طلبات وأوامر الشراء، عبر إطار REST وWebhook لدينا للتخاطب مع واجهات Fusion REST. يُنفَّذ كتكامل محدد النطاق أثناء التهيئة (باقتا Growth وEnterprise).
REST / Webhook عام
ابنِ مباشرة على واجهة REST وWebhook. تجد أمثلة لـ Zapier وn8n ووسائط Node/Python مخصصة في مكتبة الوصفات.
تبني شيئاً؟ أخبرنا.
شركاء التكامل يحصلون على مهندس حلول يرافقهم في التنفيذ، واعتماد تقني بعد مراجعة التكامل، وتسويق مشترك بعد دخوله الإنتاج.