للمطورين

واجهة برمجة التطبيقات

أنشئ أكواد وغيّر وجهتها من السيرفر بتاعك. الكود المطبوع مبيتغيرش أبدًا — اللي بيتغير هو المكان اللي بيروحه.

الأساسيات

العنوان
https://blueagency-eg.com/api/v1
المصادقة
Authorization: Bearer bq_live_…
الحد
١٢٠ طلب في الدقيقة لكل مفتاح
الباقة
Agency

المفاتيح

من لوحة التحكم → API. المفتاح بيتعرض مرة واحدة بس — إحنا بنخزّن hash مش المفتاح نفسه، فمفيش طريقة نرجّعه بيها.

في نوعين: read بيقرأ بس، و write يقدر يغيّر وجهة أي كود مطبوع. اختار read لو مش محتاج تغيّر.

المسارات

GET/api/v1/codesread

قائمة الأكواد. الترقيم بـ cursor — مرّر next_cursor عشان الصفحة اللي بعدها.

?limit=25&cursor=…&q=menu
POST/api/v1/codeswrite

أنشئ كود ديناميكي جديد.

{
  "name": "Zamalek menu",
  "destination": "https://example.com/menu",
  "custom_code": "ZAMALEK",
  "tags": ["menu", "cairo"]
}
GET/api/v1/codes/{id}read

كود واحد.

PATCH/api/v1/codes/{id}write

غيّر الوجهة أو الحالة. الـ payload المطبوع مبيتلمسش.

{ "destination": "https://example.com/new-menu" }

{ "status": "paused" }   // active · paused · archived

الردود

كل رد ناجح جواه data. وكل خطأ ليه code ثابت مش بيتغيّر — اتكل عليه مش على نص الرسالة.

{ "data": { "code": { "id": "…", "short_code": "BLUE01",
    "payload": "HTTPS://BLUEAGENCY-EG.COM/Q/BLUE01",
    "destination": "https://example.com/menu", "scans": 412 } } }

{ "error": { "code": "PLAN_LIMIT_REACHED",
    "message": "Dynamic QR code limit reached" } }

مثال كامل

# Repoint every code tagged "menu" at the new PDF
curl https://blueagency-eg.com/api/v1/codes?q=menu \
  -H "Authorization: Bearer $BQ_KEY" \
| jq -r '.data.codes[].id' \
| while read id; do
    curl -X PATCH https://blueagency-eg.com/api/v1/codes/$id \
      -H "Authorization: Bearer $BQ_KEY" \
      -H "Content-Type: application/json" \
      -d '{"destination":"https://example.com/menu-autumn.pdf"}'
  done

لاحظ إن مفيش endpoint بيغيّر الـ payload. مفيش، وعمرها ما هتبقى فيه — ده اللي بيخلّي كل حاجة مطبوعة تفضل شغّالة.

← رجوع للمنتج