مفتاح واحد لمنشأة واحدة
كل منشأة في وندرفاتورة حساب مستقل برقمها الضريبي وتسلسل فواتيرها وربطها بالهيئة. ينتمي المفتاح إلى منشأة واحدة بالضبط، والبائع في كل فاتورة هو منشأة المفتاح. لا يستطيع أي حقل في الطلب اختيار منشأة أخرى، ويُتجاهل أي معرّف منشأة أو بائع يُرسل في المحتوى.
الحالة (أ): منصتك تصدر فواتير لعملائها
أنت البائع. لمنشأتك حساب في وندرفاتورة ومفتاح API، وكل عميل لديك مشترٍ في فواتيرك.
- أنشئ مفتاحًا لمنشأتك بصلاحيات
invoices:writeوinvoices:issueوinvoices:read. - عند نجاح الدفع أنشئ الفاتورة مع
external_referenceيساوي معرّف الدفعة أو فترة الفوترة. - احفظ
customer.idالمُعاد مع سجل العميل لديك وأعد استخدامه في المرة التالية. - اقرأ الفاتورة حتى يصبح
zatca.deliverableمساويًاtrueثم أرسلpublic_urlمع إيصالك.
صفحة واجهة فوترة الاشتراكات تشرح ذلك بالتفصيل. ويمكن لتطبيق خادم سجّلته في «تطبيقاتي» فعل الشيء نفسه ببيانات اعتماد العميل في OAuth: رمزه يعمل لمنشأتك أنت فقط.
الحالة (ب): عملاؤك يصدرون فواتير لمشتريهم عبر منتجك
كل عميل لديك بائع ويحتاج منشأته الخاصة في وندرفاتورة على باقة تشمل ربط التطبيقات (الباقات التي تشمل الوصول إلى الواجهة البرمجية). يربط كل عميل منشأته بتطبيقك مرة واحدة عبر OAuth:
- سجّل تطبيقك من الإعدادات ← المطورون ← تطبيقاتي، مع عنوان إعادة التوجيه الدقيق والصلاحيات التي يحتاجها منتجك.
- يضغط عميلك «ربط وندرفاتورة» في منتجك، فترسله إلى
/oauth/authorizeمع PKCE وstate. - يسجّل الدخول ويختار منشأته ويوافق. يصلك رمز (code) على عنوان إعادة التوجيه، فتستبدله من
/oauth/tokenبرمز وصول ورمز تحديث، وتحفظ رمز التحديث مشفرًا مقرونًا بذلك العميل. - استجابة الرمز تسمّي المنشأة (
company_id)، وكل استجابة من الواجهة تكررها فيmeta.company_id. رمزك لعميل لا يصل أبدًا إلى بيانات عميل آخر. - يستطيع عميلك فصل تطبيقك في أي وقت من لوحة تحكمه فتتوقف رموزه فورًا. عالج
401 invalid_tokenبأن تطلب منه الربط من جديد.
يُحتسب الاستخدام من باقة كل منشأة عميل، ويظهر كل طلب في سجل طلباتها باسم تطبيقك.
ومن دون OAuth يعمل الأمر نفسه بـ مفتاح لكل منشأة عميل:
- ينشئ عميلك مفتاحًا في حسابه هو في وندرفاتورة، بالصلاحيات التي يحتاجها منتجك فقط، ويدخله في منتجك.
- احفظ كل مفتاح مشفرًا ومرتبطًا بحساب ذلك العميل. لا تشارك مفتاحًا بين منشأتين أبدًا.
- استدعِ الواجهة بمفتاح المنشأة التي تنتمي إليها الفاتورة، وتأكد من الربط مرة واحدة بـ
GET /pingالذي يعيد اسم المنشأة. - يستطيع عميلك إلغاء المفتاح من حسابه في أي وقت. عالج
401بأن تطلب منه إعادة الربط.
العزل
- المفتاح يقرأ ويكتب بيانات منشأته فقط. معرّف الفاتورة أو العميل من منشأة أخرى يُعامل تمامًا كمعرّف غير موجود.
- معرّفات المنتجات ونسب الضريبة تُطابق مع منشأة المفتاح.
- يُسجل كل طلب مقرونًا بالمفتاح الذي أرسله.
صفحات ذات صلة
جاهز للبدء؟
الوصول إلى الواجهة البرمجية ضمن باقات: الأعمال والمؤسسات. أنشئ مفتاحًا من الإعدادات ← مفاتيح API وأرسل أول طلب خلال دقائق.