البداية السريعة
من صفر إلى أول طلب في 10 دقائق
تعلم كيف تصدر مفتاحاً، تنشئ طلب في بيئة التجربة، وتستقبل ويب هوك موقّع. كل مثال يعمل كما هو.
أنشئ حساباً
سجّل حسابك من بوابة المطورين خلال دقيقتين — تأكيد البريد الإلكتروني فوري ولا حاجة لمراجعة يدوية.
إنشاء حساب مطوّر — مجاناًاحصل على مفتاح اختبار
من لوحة تحكم المطور (Developers → API Keys) أنشئ مفتاحاً جديداً بنطاق "orders:read orders:write". سيظهر المفتاح الكامل مرة واحدة فقط — انسخه على الفور.
sk_test_ ولا تلمس مخزوناً أو سائقاً حقيقياً.أرسل أول استدعاء
صدّر مفتاحك ثم نفّذ استدعاءً بسيطاً لقائمة الطلبات.
export VIA_API_KEY="sk_test_…" curl https://sandbox.api.via-basket.com/v1/orders \ -H "Authorization: Bearer $VIA_API_KEY"
افهم الاستجابة
تعيد كل نقطة نهاية تعيد القائمة مغلفاً بـ data و cursor. استخدم cursor لصفحة التالية.
{
"data": [
{
"id": "ord_01H9F…",
"store_id": "store_01H…",
"status": "created",
"total_amount": "125.00",
"currency": "AED",
"created_at": "2026-04-17T09:12:30Z"
}
],
"cursor": null
}أنشئ طلباً تجريبياً
تقبل الإنشاء وصفاً للعناصر وإحداثيات التوصيل. استخدم ترويسة Idempotency-Key لجعل الإعادة آمنة.
curl -X POST https://sandbox.api.via-basket.com/v1/orders \
-H "Authorization: Bearer $VIA_API_KEY" \
-H "Idempotency-Key: order-abc-123" \
-H "Content-Type: application/json" \
-d '{
"store_id": "store_01H...",
"items": [{"sku": "BRD-001", "qty": 2}],
"delivery": {"lat": 30.0444, "lng": 31.2357}
}'أعدّ نقطة ويب هوك
سجل نقطة https:// خاصة بك واشترك في أحداث order.*. سيخزن VIA السر الموقع للمفتاح.
curl -X POST https://sandbox.api.via-basket.com/v1/webhooks \
-H "Authorization: Bearer $VIA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/hooks/via",
"events": ["order.created", "order.status_changed", "order.delivered"],
"description": "Production dispatch integration"
}'تحقق من توقيعات HMAC
كل حمولة تأتي مع ترويسة X-VIA-Signature من الشكل t=<ts>,v1=<hex>. تحقق بالسر قبل الثقة بالمحتوى.
import express from 'express';
import { verifySignature } from '@via/sdk';
const app = express();
app.post(
'/hooks/via',
express.raw({ type: 'application/json' }), // raw body is load-bearing
(req, res) => {
const sig = req.header('X-VIA-Signature') ?? '';
if (!verifySignature(req.body, sig, process.env.VIA_WEBHOOK_SECRET!)) {
return res.status(400).end();
}
const event = JSON.parse(req.body.toString());
// …fulfil event…
res.status(204).end();
},
);انتقل إلى الإنتاج
من نفس اللوحة، اسحب مفتاح sk_live_. بدّل متغيرات البيئة فقط — لا تغيير في الكود. تكتشف مكتبات VIA المضيف تلقائياً من بادئة المفتاح.
راقب الاستخدام
راقب الحصة اليومية وحدود المعدل من لوحة Developers → Usage. نُرسل تنبيهاً عبر البريد عند 80% من الحد الشهري.
فتح لوحة الاستخدامرقّي خطتك
إذا اقتربت من حدك، رقّي خطتك مباشرة من إعدادات البوابة (زر Manage billing).
ما التالي؟
اغرق في المرجع الكامل أو استكشف كل الأحداث.