SharpAPI معرفی AI Jobs Webhooks برای API

عکس توسط کریستینا @ wocintechchat.com در Unsplash
دیگر نه APIهای نظرسنجی، نه تاخیر. هنگامی که کار هوش مصنوعی شما تکمیل شد، بهروزرسانیهای فوری انجام میشود، به صورت ایمن و قابل اعتماد به نقطه پایانی تعیینشده شما تحویل داده میشود. چه در حال ترجمه محتوا، تولید اطلاعات بینش یا پردازش مجموعه داده های بزرگ باشید، وب هوک ها تضمین می کنند که همیشه با SharpAPI همگام هستید.
در این مقاله، ما شما را از طریق راهاندازی، فعال کردن و مصرف وبکآپهای SharpAPI در برنامهتان، همراه با مثالها و نکات مختص زبان برای استفاده حداکثری از این ویژگی، راهنمایی میکنیم.
وب هوک های شغلی هوش مصنوعی چیست؟
AI Jobs Webhooks اعلانهای خودکاری هستند که هر زمان که پردازش یک کار هوش مصنوعی به پایان میرسد از SharpAPI به برنامه شما ارسال میشود. این اعلانها شامل تمام جزئیات مربوط به کار، مانند وضعیت، نوع، و هرگونه خطا میشود که در یک محموله JSON امضا شده و ایمن پیچیده شده است.
علاوه بر این، میتوانید وبکهکها را طوری پیکربندی کنید که نتیجه کار هوش مصنوعی را مستقیماً در محموله برای افزایش قابلیتهای یکپارچهسازی قرار دهند.
نحوه راه اندازی AI Jobs Webhooks
1. Webhooks را فعال کنید
به سمت خود حرکت کنید داشبورد مدیریت Webhooks در SharpAPI را تغییر دهید Webhooks را فعال کنید برای روشن کردن اعلانهای webhook برای حساب خود تغییر دهید.
2. URL Webhook خود را پیکربندی کنید
URL نقطه پایانی را که SharpAPI باید اعلانهای وب هوک را ارسال کند، وارد کنید. اطمینان حاصل کنید که نقطه پایانی شما این است:
- در دسترس عموم از طریق HTTPS.
- قابلیت دریافت دارد درخواست های POST
- به طور مداوم یک معتبر را برمی گرداند کد وضعیت HTTP 200.
3. راز خود را برای امضا اضافه کنید
منحصر به فرد را تعریف کنید راز برای امضا. این راز برای امضای بارهای وب هوک استفاده میشود و اطمینان حاصل میکند که برنامه شما میتواند صحت هر اعلان را تأیید کند. با این راز مانند یک رمز عبور رفتار کنید – آن را ایمن نگه دارید و فقط در صورت لزوم آن را به روز کنید.
4. شامل نتیجه شغلی هوش مصنوعی (اختیاری)
بررسی کنید شامل نتیجه شغلی هوش مصنوعی کادری که نتیجه کار هوش مصنوعی را مستقیماً در محموله وب هوک در زیر قرار می دهد result
پارامتر
5. تنظیمات خود را ذخیره کنید
کلیک کنید ذخیره کنیدو تنظیمات وب هوک شما آماده است.
نحوه کار کردن Webhooks با هوش مصنوعی SharpAPI
هنگامی که webhook ها فعال می شوند، SharpAPI یک درخواست HTTP POST را به URL مشخص شده Webhook شما هنگامی که یک کار هوش مصنوعی تکمیل می شود ارسال می کند.
این درخواست شامل موارد زیر است:
- JSON Payload: این شامل شناسه منحصر به فرد کار، وضعیت، نوع آن است.
- سربرگ X-Signature: امضای رمزنگاری که با استفاده از HMAC SHA-256 با راز شما تولید شده است.
مثال سربرگ User-Agent برای شناسایی درخواست های وب هوک:
User-Agent: SharpAPIWebhook/1.0
نمونه Webhook Payload
بدون نتیجه شغلی:
{
"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"
}
}
وبقلابهای سفارشی در سطح شغل
اگر میخواهید تماسهای وب هوک را برای کارهای تکی هوش مصنوعی پیکربندی کنید، میتوانید از آن استفاده کنید وبقلابهای سفارشی در سطح شغل. برای فعال کردن این:
- شامل الف
Job-Webhook
هدر با URL webhook هنگام ارسال کار. - این وب هوک فقط برای کار مشخص شده اجرا می شود.
اطمینان حاصل کنید که URL ارائه شده با این شرایط مطابقت دارد:
- در دسترس عموم از طریق HTTPS.
- قابلیت دریافت درخواست های POST.
- به طور مداوم یک کد وضعیت HTTP 2XX را برمی گرداند.
بهترین روش ها برای مدیریت وب هوک های SharpAPI
برای اطمینان از اینکه برنامه شما اعلانهای وب هوک را بدون مشکل پردازش میکند، بهترین روشها را دنبال کنید:
1. نقطه پایانی Webhook خود را ایمن کنید
- از HTTPS برای رمزگذاری تمام ترافیک بین SharpAPI و برنامه خود استفاده کنید.
- اعتبار سنجی سربرگ X-Signature برای هر درخواست تأیید از SharpAPI سرچشمه می گیرد.
2. ثبت درخواست های ورودی
برای هر تماس وب هوکی که برنامه شما دریافت می کند، گزارش ها را حفظ کنید. برای کمک به اشکالزدایی یا ممیزی، جزئیاتی مانند مُهرهای زمانی، سرصفحهها و بارهای پرداختی را درج کنید.
3. به سرعت تصدیق کنید
با الف پاسخ دهید کد وضعیت 2xx HTTP به محض دریافت وب هوک اگر منطق پردازش شما وقت گیر است، آن را به یک کارگر پس زمینه بارگذاری کنید تا نقطه پایانی شما پاسخگو باشد.
4. تلاش های مجدد را به خوبی مدیریت کنید
SharpAPI در صورت خرابی، اعلانهای وب هوک را تا سه بار تکرار میکند. اطمینان حاصل کنید که برنامه شما می تواند اعلان های تکراری را بدون شکستگی کنترل کند.
5. ترافیک وب هوک را نظارت کنید
بر عملکرد و در دسترس بودن نقطه پایانی خود نظارت کنید تا مطمئن شوید که می تواند ترافیک وب هوک را به طور موثر مدیریت کند. از ابزارهایی مانند Sentry یا New Relic برای بینش در مورد تنگناهای احتمالی استفاده کنید.
اعتبارسنجی امضاهای وب هوک
برای تأیید اینکه اعلان وب هوک از 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)) {
// Signature is valid
} else {
// Signature is invalid
}
جاوا اسکریپت
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))) {
// Signature is valid
} else {
// Signature is invalid
}
پایتون
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):
# Signature is valid
else:
# Signature is invalid
دات نت
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)) {
// Signature is valid
} else {
// Signature is invalid
}
}
برای اطلاعات بیشتر، از اسناد ما دیدن کنید یا با تیم پشتیبانی ما تماس بگیرید.