أعد تشكيل بيانات webhook داخل متصفحك
أداة إعادة تشكيل بيانات webhook تأخذ حدث JSON واردًا من خدمة خارجية وتحوّله إلى الشكل الذي يتوقعه نظامك: تغيير أسماء الحقول، تسطيح كائن متداخل، أو حذف حقول غير مطلوبة. تعمل مجانًا داخل متصفحك بلا حد استخدام، ومتاحة أيضًا عبر API لربطها بخط أتمتة فعلي بين خدمتين.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
لماذا تحتاج إعادة تشكيل
كل خدمة خارجية — بوابة دفع، نموذج ويب، نظام إشعارات — ترسل بيانات webhook بصيغة JSON خاصة بها، وغالبًا لا يطابق الشكل الذي يتوقعه نظامك الداخلي: حقل اسمه customer_email هناك بينما نظامك يتوقع email، أو بيانات متداخلة في كائن فرعي بينما تحتاج حقولًا مسطحة مباشرة. بدل كتابة كود تحويل مخصص لكل خدمة جديدة تربطها بنظامك، تعيد الأداة تشكيل البيانات آليًا حسب قواعد تحدّدها أنت مرة واحدة.
يعمل داخل متصفحك مجانًا
تلصق بيانات JSON الواردة وتحدّد قواعد التحويل — أي حقل يتحول إلى أي اسم، وأيها يُحذف — وتتم إعادة التشكيل بالكامل على جهازك دون رفع البيانات لأي خادم، وهو ما يجعلها مناسبة حتى مع بيانات حساسة كأرقام هواتف أو تفاصيل دفع. الاستخدام من هذه الصفحة مجاني تمامًا وبلا حد على عدد المرات، مهما تكرر الاستخدام خلال اليوم. يمكنك أيضًا حفظ قواعد التحويل التي بنيتها لإعادة استخدامها في المرة التالية، بدل إعادة كتابتها من الصفر كل مرة تستقبل فيها حدثًا مشابهًا.
ربطها بخط أتمتة حقيقي
من يحتاج التحويل ضمن مسار آلي فعلي — استقبال webhook من خدمة خارجية وإعادة تشكيله قبل تمريره لنظام داخلي — يستدعي الوظيفة نفسها عبر الـAPI بسعر $0.002 لكل حدث. هذا يفيد خصوصًا حين تربط عدة خدمات ببعضها ولا تريد كتابة وصيانة كود تحويل منفصل لكل واحدة على خادمك. يوفر هذا كتابة كود تحويل مخصص بكل لغة برمجة يستخدمها كل نظام من أنظمتك، ويكفي تعريف قواعد التحويل مرة واحدة لتُطبَّق تلقائيًا على كل حدث وارد بعدها.
حالات الاستخدام
توحيد بيانات من عدة بوابات دفع
متجر إلكتروني صغير يستقبل webhooks من بوابتي دفع مختلفتين بشكلين مختلفين، فيعيد تشكيل كليهما إلى صيغة موحدة قبل تسجيل الطلب في نظامه.
تسطيح بيانات نموذج معقّد
فريق تقني في شركة الواحة للتجارة المحدودة يستقبل بيانات نموذج تسجيل بكائنات متداخلة، ويسطّحها عبر الـAPI قبل حفظها في جدول واحد بسيط.
اختبار قواعد التحويل قبل النشر
مطوّر يجرب قواعد إعادة التشكيل على بيانات تجريبية داخل متصفحه مجانًا، قبل ربطها فعليًا بخط الأتمتة عبر API.
الأسئلة الشائعة
هل تُرسَل بيانات webhook إلى خادمكم أثناء الاستخدام من الموقع؟
لا، إعادة التشكيل تجري بالكامل داخل متصفحك؛ البيانات لا تغادر جهازك في أي لحظة.
هل الاستخدام من الموقع مجاني بلا حدود؟
نعم، من هذه الصفحة الاستخدام مجاني ودون حد على عدد المرات، مهما تكرر خلال اليوم.
ما تكلفة الاستخدام عبر API؟
$0.002 لكل حدث عند التنفيذ من جهة الخادم ضمن خط أتمتة حقيقي.
هل يدعم تحويل كائنات متداخلة إلى بنية مسطحة؟
نعم، يمكن تحديد قواعد تسطيح للكائنات الفرعية إضافة إلى إعادة تسمية الحقول.
هل يستلزم الاستخدام تسجيل حساب؟
لا، لا توجد حسابات حاليًا؛ الأداة داخل المتصفح تعمل دون تسجيل دخول.
هل يمكن حفظ قواعد التحويل لإعادة استخدامها لاحقًا؟
يمكنك حفظ قواعدك كملف على جهازك وإعادة استيرادها في أي وقت لاحق.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/webhook-transform \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/dev/webhook-transform", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/webhook-transform",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/webhook-transform", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/webhook-transform", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"input": "…"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.webhook_transform",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |