إشعارات وظائف الذكاء الاصطناعي في الوقت الفعلي لتطبيقك

في الوقت الحقيقي، تلقائي، والآن مع لمسة من الجرأة - Webhooks في SharpAPI.

Jan 5, 2025

إشعارات وظائف الذكاء الاصطناعي في الوقت الفعلي لتطبيقك لا مزيد من استفتاءات واجهات برمجة التطبيقات، لا مزيد من التأخيرات. فقط تحديثات فورية عند اكتمال وظيفتك في الذكاء الاصطناعي، يتم تسليمها بشكل آمن وموثوق إلى نقطة النهاية المحددة لديك. سواء كنت تترجم المحتوى، تولد رؤى البيانات، أو تعالج مجموعات بيانات كبيرة، تضمن الويب هوك أنك دائمًا متزامن مع SharpAPI.

صورة بواسطة Christina @ wocintechchat.com على Unsplash

في هذه المقالة، سنرشدك إلى كيفية إعداد، وتمكين، واستهلاك webhooks SharpAPI في تطبيقك، مع أمثلة خاصة باللغات ونصائح للحصول على أفضل استفادة من هذه الميزة.


ما هي Webhooks وظائف الذكاء الاصطناعي؟

Webhooks وظائف الذكاء الاصطناعي هي إشعارات تلقائية تُرسل من SharpAPI إلى تطبيقك كلما انتهى معالجة وظيفة ذكاء اصطناعي. تتضمن هذه الإشعارات جميع التفاصيل ذات الصلة حول الوظيفة، مثل حالتها، نوعها، وأي أخطاء، مرفقة في حمولة JSON موقعة وآمنة.

بالإضافة إلى ذلك، يمكنك تكوين webhooks لتضمين نتيجة وظيفة الذكاء الاصطناعي مباشرة في الحمولة لتعزيز قدرات التكامل.


كيفية إعداد Webhooks وظائف الذكاء الاصطناعي

نموذج Webhooks

1. تمكين Webhooks

انتقل إلى لوحة إدارة Webhooks في SharpAPI. قم بتبديل مفتاح تمكين Webhooks لتشغيل إشعارات webhook لحسابك.

2. تكوين عنوان URL لـ Webhook الخاص بك

أدخل عنوان URL للنقطة النهائية التي يجب أن ترسل إليها SharpAPI إشعارات webhook. تأكد من أن نقطتك النهائية:

  • يمكن الوصول إليها علنًا عبر HTTPS.
  • قادرة على استقبال طلبات POST.
  • تعيد باستمرار رمز حالة HTTP 200 صالح.

3. إضافة السر الخاص بك للتوقيع

حدد سرًا فريدًا للتوقيع. يُستخدم هذا السر لتوقيع حمولات webhook، مما يضمن أن تطبيقك يمكنه التحقق من صحة كل إشعار. تعامل مع هذا السر ككلمة مرور—احتفظ به آمنًا وقم بتحديثه فقط عند الضرورة.

4. تضمين نتيجة وظيفة الذكاء الاصطناعي (اختياري)

حدد مربع تضمين نتيجة وظيفة الذكاء الاصطناعي لتضمين نتيجة وظيفة الذكاء الاصطناعي مباشرة في حمولة webhook تحت معلمة result.

5. حفظ الإعدادات الخاصة بك

انقر على حفظ، وستكون إعدادات webhook جاهزة للاستخدام.


كيف تعمل Webhooks وظائف الذكاء الاصطناعي في SharpAPI

بمجرد تمكين webhooks، يرسل SharpAPI طلب HTTP POST إلى عنوان URL للويب المحدد عند اكتمال وظيفة الذكاء الاصطناعي.

إليك ما يتضمنه الطلب:

  • حمولة JSON: تحتوي على معرف الوظيفة الفريد، حالتها، نوعها.
  • رأس X-Signature: توقيع تشفيري تم إنشاؤه باستخدام HMAC SHA-256 مع سرك.

مثال على رأس User-Agent لتحديد طلبات webhook:

User-Agent: SharpAPIWebhook/1.0

مثال على حمولة Webhook

بدون نتيجة الوظيفة:

{
    "id": "bf683177-3a48-47d1-9c4e-0b4de39517fa",
    "status": "success",
    "type": "content_translate"
}

مع تضمين نتيجة الوظيفة:

{
    "id": "bf683177-3a48-47d1-9c4e-0b4de39517fa",
    "status": "success",
    "type": "content_translate",
    "result": {
        "content": "ciao",
        "from_language": "English",
        "to_language": "Italian"
    }
}

Webhooks مخصصة على مستوى الوظيفة

إذا كنت تريد تكوين مكالمات webhook لوظائف الذكاء الاصطناعي الفردية، يمكنك استخدام Webhooks مخصصة على مستوى الوظيفة. لتمكين ذلك:

  1. قم بتضمين رأس Job-Webhook مع عنوان URL للويب عند إرسال الوظيفة.
  2. سيتم تنفيذ هذا webhook فقط للوظيفة المحددة.

تأكد من أن عنوان URL المقدم يلبي هذه المتطلبات:

  • يمكن الوصول إليه علنًا عبر HTTPS.
  • قادر على استقبال طلبات POST.
  • يعيد باستمرار رمز حالة HTTP 2XX.

أفضل الممارسات للتعامل مع Webhooks SharpAPI

لضمان معالجة تطبيقك لإشعارات webhook بسلاسة، اتبع أفضل الممارسات التالية:

1. تأمين نقطة نهاية Webhook الخاصة بك

  • استخدم HTTPS لتشفير جميع حركة المرور بين SharpAPI وتطبيقك.
  • تحقق من صحة رأس X-Signature لكل طلب للتأكد من أنه صادر من SharpAPI.

2. تسجيل الطلبات الواردة

احتفظ بسجلات لكل مكالمة webhook يتلقاها تطبيقك. قم بتضمين تفاصيل مثل الطوابع الزمنية، الرؤوس، والحمولات للمساعدة في التصحيح أو التدقيق.

3. الاعتراف بسرعة

استجب برمز حالة HTTP 2xx بمجرد تلقيك للويب هوك. إذا كانت منطق المعالجة لديك تستغرق وقتًا طويلاً، قم بنقلها إلى عامل خلفي للحفاظ على استجابة النقطة النهائية الخاصة بك.

4. التعامل مع الإعادة بلطف

يقوم SharpAPI بإعادة محاولة إشعارات webhook حتى ثلاث مرات في حالة الفشل. تأكد من أن تطبيقك يمكنه التعامل مع الإشعارات المكررة دون انقطاع.

5. مراقبة حركة مرور Webhook

راقب أداء وإتاحة نقطتك النهائية لضمان قدرتها على التعامل مع حركة مرور webhook بكفاءة. استخدم أدوات مثل Sentry أو New Relic للحصول على رؤى حول الاختناقات المحتملة.


التحقق من توقيعات Webhook

للتحقق من أن إشعار webhook صادر من SharpAPI ولم يتم العبث به، تحقق من صحة رأس X-Signature باستخدام السر المقدم. أدناه أمثلة على الكود للتحقق من التوقيع في أربع لغات برمجة مختلفة:

PHP

$signature = $_SERVER['HTTP_X_SIGNATURE'] ?? ''; 
$payload = file_get_contents('php://input'); 
$computedSignature = hash_hmac('sha256', $payload, $secret);

if (hash_equals($computedSignature, $signature)) {
    // التوقيع صالح
} else {
    // التوقيع غير صالح
}

JavaScript

const crypto = require('crypto');

const signature = req.headers['x-signature'] || '';
const payload = JSON.stringify(req.body);

const computedSignature = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');

if (crypto.timingSafeEqual(Buffer.from(computedSignature), Buffer.from(signature))) {
    // التوقيع صالح
} else {
    // التوقيع غير صالح
}

Python

import hmac
import hashlib

signature = request.headers.get('X-Signature', '')
payload = request.get_data(as_text=True)

computed_signature = hmac.new(secret.encode(), payload.encode(), hashlib.sha256).hexdigest()

if hmac.compare_digest(computed_signature, signature):
    # التوقيع صالح
else:
    # التوقيع غير صالح

.NET

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

string signature = Request.Headers["X-Signature"] ?? string.Empty; 
string payload;

using (var reader = new StreamReader(Request.Body, Encoding.UTF8))
{
    payload = await reader.ReadToEndAsync(); 
}

using (var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(secret)))
{
    var computedSignatureBytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(payload));
    string computedSignature = BitConverter.ToString(computedSignatureBytes).Replace("-", "").ToLower();

    if (computedSignature.Equals(signature, StringComparison.OrdinalIgnoreCase)) {
        // التوقيع صالح
    } else {
        // التوقيع غير صالح
    }
}

لمزيد من المعلومات، قم بزيارة التوثيق أو اتصل بفريق الدعم.

أعجبك SharpAPI؟ شاركه واحصل على 30% عمولات متكررة — للأبد.

عملاؤك يحتاجون بالفعل إلى الذكاء الاصطناعي. احصل على أجر مقابل التوصية بأبسط طريقة لإضافته.