للمطوّرين
ابنِ على نُوقوصِل إلى كل متجر
واجهة REST واضحة بصلاحيات يختارها التاجر، وإشعارات أحداث موقّعة لحظة حدوثها، ومتجر تطبيقات يثبّت منه أي تاجر تطبيقك بضغطة.
مجانًا للمطوّرينOAuth 2.080٪ من الاشتراك لك
$ curl https://api.nouq.net/api/v1/orders?status=confirmed \ -H "Authorization: Bearer nouq_at_…" [ { "number": 2041, "status": "confirmed", "payment_method": "cod", "total": 37450, "currency": "SAR" } ]
POST /webhooks · Nouq-Signature ✓
- order.created#2041 · SAR 374.50200 · 84ms
- order.updated#2041 · confirmed200 · 61ms
- product.updatedOud Royal 50ml · stock 12200 · 73ms
- order.refunded#2004 · SAR 162.00200 · 92ms
ثلاث طرق للبناء
اختر ما تبنيه
الواجهة نفسها في الثلاث. الفرق في من يثبّت ومن يملك المفتاح.
تطبيق في متجر التطبيقات
لكل متاجر نُوق. يثبّته التاجر عبر OAuth بعد أن يرى الصلاحيات، ويظهر في متجر التطبيقات بعد مراجعتنا.
- تثبيت بضغطة من لوحة التاجر
- اشتراك شهري تحصّله نُوق عنك بفاتورة ضريبية
- سجل الإشعارات لكل المتاجر في بوابة واحدة
ربط نظامك بمتجرك
نظام ERP أو مستودع أو سكربت تكتبه لمتجرك أنت. تنشئ المفتاح من لوحة التحكم ويعمل لمتجرك فقط.
- مفتاح من «تطبيقاتي والربط» خلال دقيقة
- بالصلاحيات التي تختارها فقط
- تدوير المفتاح بضغطة إن تسرّب
واجهة متجر بتصميمك
Headless: واجهتك أو تطبيق جوال فوق أي متجر نُوق، بالمنتجات والسلة والدفع والطلبات.
- بلا مفتاح ولا كوكيز، وCORS مفتوح
- حزمة TypeScript وحزمة Go
- الدفع والضريبة والشحن من نُوق
البداية
من التسجيل إلى أول طلب
أربع خطوات لتطبيق يثبّته أي تاجر. المفاتيح والأحداث تعمل كما هي في بيئة التطوير.
- 1
سجّل تطبيقك
من بوابة المطوّرين: الاسم وروابط العودة والصلاحيات. تحصل على client_id و client_secret (يظهر مرة واحدة).
client_id Xk7pQ2… (24 characters)client_secret nouq_cs_…
- 2
أرسل التاجر إلى صفحة الموافقة
يرى التاجر اسم تطبيقك وكل صلاحية يطلبها، ثم يعود إلى رابطك ومعه code. استعمل state لمنع تزوير الطلبات.
https://app.nouq.net/oauth/authorize ?client_id=YOUR_CLIENT_ID &redirect_uri=https://yourapp.com/callback &scope=orders:read products:write &state=RANDOM_STATE
- 3
استبدل الرمز بمفتاح
من خادمك خلال عشر دقائق. المفتاح لمتجر واحد ولا ينتهي، ويتوقف إن حذف التاجر التطبيق.
curl https://api.nouq.net/oauth/v1/token \ -d grant_type=authorization_code \ -d code=$CODE -d redirect_uri=$REDIRECT_URI \ -d client_id=$CLIENT_ID -d client_secret=$CLIENT_SECRET { "access_token": "nouq_at_…", "scope": "orders:read products:write", "store_id": "…" }
- 4
اقرأ واستمع
استدعِ الواجهة بالمفتاح، واشترك في الأحداث. تحقق من توقيع كل إشعار قبل قراءته.
curl https://api.nouq.net/api/v1/orders?status=confirmed \ -H "Authorization: Bearer nouq_at_…" // Nouq-Signature: t=…,v1=…const { t, v1 } = Object.fromEntries( req.headers["nouq-signature"].split(",").map((p) => p.split("=")));const want = createHmac("sha256", secret).update(`${t}.${rawBody}`).digest("hex");const ok = Math.abs(Date.now() / 1000 - Number(t)) < 300 && timingSafeEqual(Buffer.from(want), Buffer.from(v1));
ما يصل إليه تطبيقك
صلاحيات محددة، وأحداث لحظية
يطلب تطبيقك ما يحتاجه فقط. استدعاء خارج صلاحياتك يعود بـ 403 ويذكر الصلاحية الناقصة.
الصلاحيات
products:readالمنتجات والخيارات والمخزون والتصنيفاتproducts:writeإنشاء المنتجات والتصنيفات وتعديلها وحذفهاorders:readالطلبات والشحنات والمرتجعاتorders:writeتغيير حالة الطلب وإضافة شحنة وملاحظةcustomers:readالعملاء وسجل طلباتهمdiscounts:readالكوبونات والخصومات التلقائيةdiscounts:writeإنشاء الخصومات وتعديلها وحذفها
الأحداث
order.createdطلب جديدorder.updatedتغيّرت حالة طلبorder.refundedاسترداد مبلغ لمرتجعproduct.createdمنتج جديدproduct.updatedحُفظ تعديل على منتجproduct.deletedحُذف منتجapp.uninstalledحذف التاجر تطبيقك
ما تعتمد عليه
واجهة تُبنى عليها أعمال
40
طلبًا دفعةً واحدة
لكل تثبيت، وتتجدد 4 في الثانية. كل رد يخبرك بالمتبقي، و429 مع Retry-After.
24
ساعة من المحاولات
ثماني محاولات لكل إشعار لم يصل، مع سجل لكل رد وإعادة إرسال بضغطة.
HMAC
توقيع كل إشعار
SHA-256 على الجسم كما وصل، مع طابع زمني يمنع إعادة الإرسال القديم.
80٪
من الاشتراك لك
حدّد سعرًا شهريًا وتجربة مجانية. نُوق تحصّل وتصدر الفاتورة الضريبية وتحوّل لك.
نستعملها قبلك
تطبيقات نُوق مبنية على الواجهة نفسها
تطبيقاتنا في متجر التطبيقات تعمل بالواجهة العامة وOAuth فقط، بلا أي وصول داخلي. ما يحتاجه تطبيقنا ولا تتيحه الواجهة نضيفه للواجهة، فيصل إليك أيضًا.
- الطباعة والتجهيزمن نُوقorders:write · app.uninstalled
- مزامنة Google Sheetsمن نُوقproducts:write · orders:read · 6 أحداث
- ربط قيود المحاسبيمن نُوقorders:read · order.updated · order.refunded
ثلاثة تطبيقات حقيقية تعمل اليوم
المرجع
كل نقطة، وكل حقل
مرجعان مولّدان من مواصفة OpenAPI نفسها التي يعمل بها الخادم، فلا يتأخر التوثيق عن الواجهة.
واجهة التطبيقات
/api/v1 و OAuth: المنتجات والطلبات والعملاء والخصومات والإشعارات.
https://api.nouq.net/api/v1واجهة المتجر
/storefront/v1: المنتجات والسلة والدفع والطلبات لمتجر مستقل.
https://api.nouq.net/storefront/v1