الانتقال إلى المحتوى الرئيسي
GetQR API في مرحلة تجريبية (beta) ومتاحة لمساحات عمل مختارة. قد تتغير التفاصيل قبل الإصدار العام.
رمز QR في GetQR هو الصورة مع رابط قصير يعمل من خلاله. إنشاء رمز QR يُنشئ رابطه القصير أيضًا، فيمكنك تغيير الوجهة لاحقًا دون إعادة طباعة الرمز.

بيانات رمز QR حسب النوع

صيغة data لكل نوع من الأنواع الستة عشر.

التخصيص

أنماط النقاط والألوان والإطارات والشعارات.

قواعد الوصول

الجدول الزمني وحد المسح وكلمة المرور.
لإحصائيات المسح الخاصة برمز QR، راجع التحليلات.

كائن رمز QR

تُرجع كل نقطة نهاية لرموز QR هذا الكائن، باستثناء الحذف والتنزيل. وتُرجع القائمة مصفوفة منها.
string
المعرّف الفريد لرمز QR، مثل qr_1EPcVfeHZAY2iNoVLsgW2Aqf.
string
نوع رمز QR، مثل website. راجع بيانات رمز QR حسب النوع للاطلاع على القيم الست عشرة كلها.
string | null
اسم رمز QR، المعروض في لوحة التحكم.
string | null
ملاحظة نصية حرة عن رمز QR.
string
الحمولة المحفوظة. في wifi وvcard وsocial وmultilink وevent وsms هي الحمولة التي أرسلتها. وفي كل الأنواع الأخرى هي الرابط القصير، لذا اقرأ الوجهة من url.
boolean
true عندما يكون رمز QR موقوفًا مؤقتًا.
boolean
true لرمز QR ثابت أُنشئ في لوحة التحكم ولا رابط قصيرًا له. تُنشئ API دائمًا رموز QR ديناميكية.
الرابط القصير الكامل، مثل https://getqr.sh/x7Kd2p1.
string | null
نطاق الرابط القصير.
string | null
المعرّف النصي (slug) للرابط القصير.
boolean
true عندما يكون المعرّف النصي قد اختير بدلًا من توليده.
string | null
الوجهة التي يعيد الرابط القصير التوجيه إليها.
string | null
الوجهة لزوار iOS، في رموز QR من نوع app.
string | null
الوجهة لزوار Android، في رموز QR من نوع app.
integer
إجمالي عدد عمليات المسح.
object
قواعد الوصول. لا تُرجع كلمة المرور نفسها أبدًا. راجع قواعد الوصول.
string
للقراءة فقط. custom تصميم يمكن لـ API تعديله بالكامل. branded وai تصميم بعلامة تجارية أو تصميم بالذكاء الاصطناعي أُنشئ في لوحة التحكم. لا تستطيع API تعديل صورته، لكنها تحتفظ بها عند تغيير الحقول الأخرى.
object
التصميم المحفوظ: styles وframeOptions وlogoOptions، وكل منها كائن أو null. لها البنية نفسها لحقول الطلب، فيمكنك إرسالها مرة أخرى. راجع التخصيص.
object | null
ملف رمز QR من نوع pdf أو image أو video: id وname وsize بالبايت.
string | null
للقراءة فقط. الاسم المعروض لرمز QR من نوع app أُنشئ في لوحة التحكم.
object | null
للقراءة فقط. رمز QR من نوع pdf يضم عدة ملفات، أُنشئ في لوحة التحكم: title وlayout وfiles.
للقراءة فقط. رمز QR من نوع image يضم عدة صور، أُنشئ في لوحة التحكم: title وlayout وfiles.
string
تاريخ الإنشاء، بصيغة ISO 8601.
string
تاريخ آخر تحديث، بصيغة ISO 8601.
لا تُرجع البيانات السرية والمعرّفات الداخلية (password، userId، workspaceId، projectId) أبدًا.

عرض قائمة رموز QR

GET /api/v1/qrs يُرجع رموز QR في مساحة عملك، صفحة تلو الأخرى.
integer
افتراضي:"1"
الصفحة التي تُعاد، 1 أو أكثر.
integer
افتراضي:"100"
رموز QR في كل صفحة، من 1 إلى 100. تُرفض القيمة الأكبر.
يطابق عنوان رمز QR. الاستعلامات التي تزيد على حرفين تطابق أيضًا data المحفوظة. في أنواع الروابط تكون data المحفوظة هي الرابط القصير، لذا لا يمكن البحث في روابط الوجهة.
string
افتراضي:"createdAt"
حقل الترتيب: createdAt أو updatedAt أو clicks (إجمالي عمليات المسح) أو lastClicked (أحدث عملية مسح) أو type. يرتّب type دائمًا تنازليًا ويتجاهل sortOrder.
string
افتراضي:"desc"
اتجاه الترتيب: asc أو desc.
boolean
افتراضي:"false"
تضمين رموز QR الموقوفة مؤقتًا.
boolean
افتراضي:"false"
إرجاع رموز QR الموقوفة مؤقتًا فقط. يتجاوز showArchived.
تأخذ المعاملات المنطقية السلسلتين true أو false. اطلب الصفحة التالية ما دام pagination.hasMore يساوي true. راجع ترقيم الصفحات.

إنشاء رمز QR

POST /api/v1/qrs يُنشئ رمز QR ورابطه القصير معًا. يُرجع 201 Created مع رمز QR الجديد.
string
رمز إعادة المحاولة الخاص بك. تكرار الطلب بالمفتاح نفسه خلال 24 ساعة يُرجع الاستجابة الأصلية بدلًا من إنشاء رمز QR ثانٍ. راجع إعادة المحاولة والتكرار.
string
مطلوب
ما يرمّزه رمز QR. يحدد أيضًا الصيغة التي يجب أن تكون عليها data. إحدى القيم: website، pdf، image، video، whatsapp، social، wifi، app، feedback، vcard، sms، payment، location، multilink، email، event.
string
مطلوب
حمولة النوع، ويُتحقق منها وفق qrType. السلسلة الفارغة تتخطى الفحص. صيغة كل نوع موجودة في بيانات رمز QR حسب النوع.
الرابط القصير الذي يعمل رمز QR من خلاله. اختياري: إذا حُذف، يتبع link.url قيمة data.
string
اسم رمز QR، المعروض في لوحة التحكم. تُزال المسافات من طرفيه، من 1 إلى 40 حرفًا. إذا حُذف، يكون رمز QR بلا عنوان.
string
ملاحظة نصية حرة عن رمز QR. حتى 280 حرفًا.
string
ملف رمز QR من نوع pdf أو image أو video، مرفوع بالغرض المطابق. وفي vcard وsocial وmultilink، صورة ملف شخصي اختيارية مرفوعة بالغرض logo. يقبله event أيضًا، لكن صفحته تقرأ صورة الغلاف من data.fileId. تحصل الأنواع الأخرى على 422. ارفع الملف أولًا عبر الملفات. راجع الملفات في رموز QR.
string
القالب الذي يُطبَّق تصميمه على رمز QR الجديد. تُدمج حقول التصميم التي ترسلها فوقه. القالب ذو التصميم بعلامة تجارية أو بالذكاء الاصطناعي يحصل على 422 (art_template_unsupported). القالب غير المعروف، أو القالب من مساحة عمل أخرى، يحصل على 404.
object
أشكال النقاط والزوايا وألوانها. راجع التخصيص.
object
الإطار المرسوم حول رمز QR ونص الدعوة إلى الإجراء. راجع التخصيص.
object
الشعار في الوسط: شعار مقترح أو ملفك الخاص المرفوع بالغرض logo. يُرفض الملف غير المعروف، أو الرفع غير المكتمل، أو الملف من غرض آخر. راجع التخصيص.
object
الجدول الزمني وحد المسح وحماية كلمة المرور. راجع قواعد الوصول.
boolean
ما إذا كان رمز QR موقوفًا مؤقتًا. true تُنشئه موقوفًا مؤقتًا: تعرض عمليات المسح صفحة الإيقاف المؤقت بدلًا من الوجهة.
تُحذف الحقول غير المعروفة دون خطأ. راجع غير مدعوم عبر API.

إعادة المحاولة والتكرار

  • مع مفتاح. مع الترويسة Idempotency-Key، تُعاد الاستجابة نفسها لمدة 24 ساعة.
  • دون مفتاح. يُعامَل الجسم المطابق المُرسَل خلال 30 ثانية على أنه مكرر.
  • الإعادات. تُرجع الإعادة الاستجابة المحفوظة مع x-idempotent-replay: true. ويُرجع رمز QR الجديد false.
  • قيد التنفيذ. الطلب الثاني أثناء تنفيذ الأول يحصل على 409 conflict.
  • الإخفاقات. الإنشاء الفاشل يحرّر المفتاح فورًا، فيمكنك إعادة المحاولة بالمفتاح نفسه.
  • أفضل جهد. إذا لم تكن آلية الحماية متاحة، تُنفَّذ عمليات الإنشاء دون حماية.
راجع أيضًا عدم التكرار (Idempotency).

الحصول على رمز QR

GET /api/v1/qrs/{qrId} يُرجع رمز QR مع رابطه القصير وقواعد الوصول والتصميم، وملفه في الأنواع المعتمدة على الملفات.
string
مطلوب
معرّف رمز QR، من استجابة القائمة أو الإنشاء.
الاستجابة هي كائن رمز QR الكامل.

تحديث رمز QR

PATCH /api/v1/qrs/{qrId} يغيّر محتوى رمز QR أو وجهته أو تصميمه أو قواعد الوصول الخاصة به. أرسل فقط الحقول التي تريد تغييرها. يُرجع رمز QR المحدَّث.
string
مطلوب
معرّف رمز QR.
يأخذ الجسم الحقول نفسها التي يأخذها إنشاء رمز QR، وكلها اختيارية، مع هذه الاختلافات:
  • templateId. غير مقبول.
  • link. جزئي. تُحفظ الوجهة الحالية عند حذف link.url. يحصل link.domain وlink.key على 422: الرابط القصير هو ما يرمّزه الرمز المطبوع، لذا أنشئ رمز QR جديدًا لاستخدام رابط مختلف.
  • data. يُتحقق منها وفق النوع الناتج فقط عند تغيّر data أو qrType. يُرفض تبديل qrType دون data مطابقة. راجع تبديل النوع.
  • التصميم. تُدمج styles وframeOptions وlogoOptions في التصميم المحفوظ، لذا لا يغيّر الكائن الجزئي إلا ما يذكره. اختيار شعار آخر يستبدله لكنه يحتفظ بحجمه.
  • access. يُطبَّق كل مفتاح عند وجوده. null تمسح قاعدة. تنتمي قواعد الوصول إلى access: إرسالها ضمن link يحصل على 422.
  • archived. يوقف رمز QR ورابطه القصير مؤقتًا أو يعيد تفعيلهما معًا، مثل الإيقاف المؤقت وإعادة التفعيل.
ما يتيح لك كل نوع تغييره بعد الطباعة مذكور في بيانات رمز QR حسب النوع.

ضبط حالة الإيقاف المؤقت

PUT /api/v1/qrs/{qrId} يضبط حالة الإيقاف المؤقت مباشرة. يؤدي الإيقاف المؤقت وإعادة التفعيل المهمة نفسها بصورة أوضح.
string
مطلوب
معرّف رمز QR.
boolean
مطلوب
true لإيقاف رمز QR مؤقتًا، وfalse لإعادة تفعيله.

إيقاف رمز QR مؤقتًا

POST /api/v1/qrs/{qrId}/pause يمنع رمز QR من التوجيه إلى وجهته: تعرض عمليات المسح صفحة الإيقاف المؤقت بدلًا من ذلك. يظل الرمز المطبوع ورابطه القصير صالحين. لا يوجد جسم طلب.
string
مطلوب
معرّف رمز QR.

إعادة تفعيل رمز QR

POST /api/v1/qrs/{qrId}/activate يجعل رمز QR الموقوف مؤقتًا يوجّه إلى وجهته مرة أخرى. يظل أي جدول زمني أو حد مسح ساريًا. لا يوجد جسم طلب.
string
مطلوب
معرّف رمز QR.

تكرار رمز QR

POST /api/v1/qrs/{qrId}/duplicate يُنشئ نسخة بالمحتوى والتصميم نفسيهما. لا يوجد جسم طلب. يُرجع 201 Created مع رمز QR الجديد.
string
مطلوب
معرّف رمز QR المراد نسخه.
  • الرابط القصير. تحصل النسخة على رابط قصير خاص بها، بمعرّف نصي عشوائي على النطاق الافتراضي لمساحة العمل، لا على نطاق المصدر. تُحتسب عمليات مسحها بشكل منفصل.
  • العنوان. يُضاف إلى العنوان اللاحقة (Copy). تبقى النتيجة ضمن 40 حرفًا: يُختصر العنوان الطويل أولًا. يبقى رمز QR الذي بلا عنوان بلا عنوان.
  • ما لا يُنسخ. قواعد الوصول (كلمة المرور، الجدول الزمني، حد المسح) وحالة الإيقاف المؤقت. تكون النسخة نشطة دائمًا.
  • الملفات. تُنسخ ملفات PDF والصور، بما فيها ملفات الحزم والمعارض، فتصبح النسخة مالكة لها. أما ملفات الفيديو وملفات التصميم، مثل الشعارات، فتُشارك مع المصدر.

حذف رمز QR

DELETE /api/v1/qrs/{qrId} يحذف رمز QR ورابطه القصير. يُرجع المعرّف المحذوف.
الحذف نهائي. يتوقف الرمز المطبوع ورابطه القصير عن العمل، ولا يعود سجل المسح متاحًا. أوقف رمز QR مؤقتًا بدلًا من ذلك إذا كنت قد تحتاج إليه مجددًا.
string
مطلوب
معرّف رمز QR.
string
معرّف رمز QR المحذوف.
boolean
دائمًا true.

تنزيل صورة رمز QR

GET /api/v1/qrs/{qrId}/download يرسم رمز QR بتصميمه ويُرجع الملف.
string
مطلوب
معرّف رمز QR المراد رسمه، من استجابة القائمة أو الإنشاء.
string
افتراضي:"jpg"
صيغة الإخراج: jpg أو png أو svg أو pdf (صفحة A4) أو eps. يُنزَّل التصميم بعلامة تجارية أو بالذكاء الاصطناعي بصيغة jpg أو png أو pdf فقط.
integer
افتراضي:"1024"
حجم الصورة بالبكسل: 1024 أو 2048 أو 4096. يتجاهله svg وpdf. يُنزَّل التصميم بعلامة تجارية أو بالذكاء الاصطناعي بحجم 1024 فقط.
  • الجسم. جسم الاستجابة هو الملف نفسه. اسم الملف المقترح موجود في الترويسة Content-Disposition، ويُبنى من العنوان، أو qr-code لرمز QR بلا عنوان.
  • التخزين المؤقت. تحمل الاستجابات ETag وCache-Control: private, max-age=3600, must-revalidate. أرسل ETag مرة أخرى في If-None-Match للحصول على 304 Not Modified عندما لا يتغير رمز QR.
  • الأخطاء. الصيغة أو الدقة غير المدعومة تحصل على 400 bad_request. تذكر رسالة الخطأ السبب: qr_download_invalid_format أو qr_download_invalid_resolution أو qr_download_art_format_unsupported أو qr_download_art_resolution_unsupported.

قواعد الوصول

أرسل كائن access عند الإنشاء أو التحديث لجدولة بداية ونهاية، أو تحديد عدد عمليات المسح، أو طلب كلمة مرور. تبقى القواعد المحذوفة دون تغيير، وnull تمسح قاعدة. السلوك الكامل، مع أمثلة، موجود في قواعد الوصول.

كائنات التصميم

تحدد styles وframeOptions وlogoOptions أشكال النقاط والزوايا، والألوان، والإطار، والشعار. تعمل بالطريقة نفسها مع رموز QR والقوالب والإنشاء المجمّع. تُرفض الأشكال أو الإطارات أو الشعارات غير المعروفة. جميع القيم المقبولة ومثال تطبيقي موجودة في التخصيص.

المشكلات الشائعة

أرسل القاعدة ضمن access، لا ضمن link.
data لا تطابق صيغة qrType. تحقّق من النوع في بيانات رمز QR حسب النوع.
عملية إنشاء مطابقة لا تزال قيد التنفيذ، أو أن link.key مستخدم. أعد المحاولة بعد انتهاء الطلب الأول. مع Idempotency-Key، تُرجع إعادة المحاولة رمز QR الأصلي.
المعاملان هما format وresolution، والقيمة الافتراضية لـ format هي jpg. أرسل format=png.
يُنفَّذ كل طلب في مساحة العمل الخاصة بمفتاح API. تحقّق من أن رمز QR ينتمي إليها. راجع المصادقة.

الخطوات التالية

بيانات رمز QR حسب النوع

التخصيص

قواعد الوصول

التحليلات