نقطة نهاية واحدة، أربع قوائم رسمية
أدخل 28,172 سجل عقوبات وضوابط تصدير من OFAC الأمريكية والأمم المتحدة والاتحاد الأوروبي ووزارة التجارة الصينية إلى أنظمتك الخاصة. أرسل اسمًا لتعرف هل يوجد تطابق، وأي السجلات طابقته، ورابط السجل الرسمي للتحقق.
أربعة مصادر بأربع صيغ: OFAC تصدر CSV، والأمم المتحدة XML، وللاتحاد الأوروبي قاعدة بياناته الخاصة، أما وزارة التجارة الصينية فلا واجهة برمجة لديها أصلًا، مجرد صفحات إعلانات.
والقوائم تتغير يوميًا — في آخر تحديث لدينا نقصت قائمة OFAC بمقدار 97 سجلًا (والشطب يجب مزامنته أيضًا وإلا ظهرت نتائج خاطئة).
وتكلفة هذه الصيانة مستمرة وليست لمرة واحدة.
تتطلب الواجهة خطة API (US$19.9/شهر، وتشمل كل مزايا العضوية).
سجّل الدخول واشترك من تبويب العضوية، ثم أنشئ مفتاحًا من قسم مفاتيح API. يأتي المفتاح بالشكل tp_xxxxxxxx.
يُعرض المفتاح الصريح مرة واحدة فقط عند الإنشاء، فاحفظه فورًا في مدير الأسرار لديك.
curl -H "Authorization: Bearer tp_YOUR_KEY" "https://tradeprotected.com/api/v1/screen?name=GAZPROM"
{
"matched": true,
"count": 2,
"rows": [
{
"source": "OFAC",
"name": "GAZPROM NEFT",
"type": "entity",
"programs": "RUSSIA-EO14024",
"listed_on": "2022-02-24",
"url": "https://sanctionssearch.ofac.treas.gov/..."
}
]
}
matched قيمة منطقية يمكن التفرّع عليها مباشرة، وrows[].url يشير إلى السجل الرسمي — احفظه كدليل على التحقق.
فحص اسم واحد. المعامل name (إلزامي، بحد أقصى 200 حرف). ويُعامل الرقم المكوّن من 7 أرقام كرقم IMO للسفينة بمطابقة تامة.
فحص جماعي بحد أقصى 100 اسم لكل استدعاء. مناسب لمراجعة المشتري والبائع ومالك السفينة والمرسل إليه دفعة واحدة قبل الصفقة.
تصفّح القوائم وسحبها كاملة، لمن يحتفظ بنسخة خاصة. المعاملات: q وsource وtype وlimit (الافتراضي 100، الأقصى 500) وoffset.
عدد السجلات وزمن آخر تحديث لكل مصدر. يمكن لمهمة المزامنة الاستعلام عنه أولًا وتفادي سحب كامل بلا داعٍ.
name | الاسم المراد فحصه أو رقم IMO من 7 أرقام. إلزامي في GET /screen |
|---|---|
names | مصفوفة أسماء للفحص الجماعي، ضمن جسم POST، بحد أقصى 100 |
source | OFAC / UN / EU / EUX / CN؛ والفراغ يعني الكل |
type | entity / individual / vessel / aircraft |
format | json (افتراضي) / xlsx (إكسل) / csv / ndjson |
limit | عدد الصفوف في الصفحة، الافتراضي 100 والأقصى 500 |
offset | الإزاحة، تُستخدم مع limit للتصفّح |
البيانات نفسها بثلاث طرق للاستهلاك، من الأقل برمجة إلى الأكثر:
الصق المقطع التالي في أي صفحة من موقع شركتك ليظهر مربع بحث في قوائم العقوبات يعمل على بياناتنا، بمظهر بسيط يندمج مع تصميمك. مناسب لشركات الشحن ومكاتب المحاماة والاتحادات القطاعية التي تتيح لعملائها فحصًا ذاتيًا.
<iframe src="https://tradeprotected.com/embed?key=tp_YOUR_KEY&lang=ar"
style="width:100%;height:420px;border:1px solid #e4eaf1;border-radius:12px"
loading="lazy"></iframe>
المفتاح داخل كود التضمين مرئي للجميع — يقرؤه أي شخص يفتح مصدر صفحتك. لذا حدّد النطاقات المسموح بها لهذا المفتاح من «العضوية ← مفاتيح API» (مثل yourcompany.com)، فحتى لو نُسخ المفتاح فلن يعمل على موقع آخر. وهو النهج نفسه المتبع مع مفاتيح الواجهة الأمامية مثل Google Maps.
ننصح بفصل مفتاح التضمين عن مفتاح الاستدعاء من الخادم: الأول مقيّد بالنطاق، والثاني غير مقيّد لكنه موجود على خادمك وحده. ويمكن للحساب الاحتفاظ بخمسة مفاتيح في آن واحد، وهو ما يكفي للفصل بين البيئات.
يكفي إضافة معامل format، وكل نقاط الاستعلام تدعمه.
?format=xlsx. ملف .xlsx حقيقي برؤوس ثنائية اللغة وأعمدة مضبوطة العرض وصف رأس داكن عريض: نقرة مزدوجة ويصبح جاهزًا لملحق التقرير دون إعادة تنسيق.?format=csv. يتضمن علامة UTF-8 BOM ليفتح Excel النصوص غير اللاتينية بشكل صحيح؛ وملائم للبرامج النصية.?format=ndjson. كائن JSON مستقل في كل سطر، ملائم لخطوط المعالجة التدفقية: لا حاجة لاحتواء السحب الكامل في الذاكرة دفعة واحدة.matched وcount لاتخاذ القرار برمجيًا.# تصدير قائمة وزارة التجارة الصينية إلى Excel
curl -H "Authorization: Bearer tp_YOUR_KEY" "https://tradeprotected.com/api/v1/sanctions?source=CN&limit=500&format=xlsx" -o cn-list.xlsx
# حفظ نتيجة فحص مفرد كجدول لملف الامتثال
curl -H "Authorization: Bearer tp_YOUR_KEY" "https://tradeprotected.com/api/v1/screen?name=GAZPROM&format=xlsx" -o gazprom.xlsx
# البحث عن سفينة برقم IMO
curl -H "Authorization: Bearer tp_YOUR_KEY" "https://tradeprotected.com/api/v1/screen?name=9209508"
import requests
KEY = "tp_YOUR_KEY"
r = requests.get(
"https://tradeprotected.com/api/v1/screen",
params={"name": "GAZPROM"},
headers={"Authorization": "Bearer " + KEY},
timeout=20,
)
r.raise_for_status()
data = r.json()
if data["matched"]:
print("MATCH", data["count"], "تطابق — يتطلب مراجعة يدوية")
for row in data["rows"]:
print(row["source"], row["name"], row["url"])
const KEY = process.env.TP_API_KEY;
async function screen(name) {
const url = new URL("https://tradeprotected.com/api/v1/screen");
url.searchParams.set("name", name);
const r = await fetch(url, { headers: { authorization: "Bearer " + KEY } });
if (!r.ok) throw new Error("screen failed: " + r.status);
return r.json();
}
const out = await screen("SOVCOMFLOT");
console.log(out.matched ? "MATCH " + out.count : "clear");
names = ["GAZPROM", "ACSL", "SOVCOMFLOT"]
r = requests.post(
"https://tradeprotected.com/api/v1/screen",
json={"names": names},
headers={"Authorization": "Bearer " + KEY},
timeout=60,
)
for item in r.json()["results"]:
flag = "MATCH" if item["matched"] else "clear"
print(flag, item["query"], item["count"])
1000 استدعاء لكل مفتاح يوميًا، ويُعاد الضبط عند 00:00 بتوقيت UTC. وتحمل كل استجابة هذين الترويسين:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
يسمح الحساب بخمسة مفاتيح فعّالة كحد أقصى. والفصل بينها حسب البيئة (إنتاج / اختبار / زميل بعينه) يتيح إبطال واحد دون التأثير على بقية المستهلكين.
تُعاد الأخطاء دائمًا بالشكل {"error":{"code":"...","message":"..."}}. تفرّع على code لا على نص الرسالة.
| 401 | missing_key لم يُرسَل مفتاح · invalid_key المفتاح غير صالح أو مُبطَل |
|---|---|
| 403 | membership_required غير مشترك أو منتهٍ — تتوقف المفاتيح فور انتهاء الخطة وتعود بعد التجديد دون إصدار مفتاح جديد |
| 429 | quota_exceeded نفدت الحصة اليومية |
| 400 | missing_name / name_too_long / too_many_names مشكلات في المعاملات |
تتم المطابقة على أساس سلاسل جزئية وعبارات مُطبَّعة، ولذلك التطابق مؤشر للعناية الواجبة وليس نتيجة قانونية. وقد يؤدي تشابه الأسماء واختلاف النقل الحرفي إلى نتائج خاطئة أو مفقودة؛ فليكن القرار النهائي بالرجوع إلى السجل الرسمي عبر url.
تشمل خطة API كل مزايا العضوية، بالإضافة إلى واجهة البيانات وأداة البحث القابلة للتضمين وتصدير Excel.
تُباع الواجهات المماثلة عادةً بعقود سنوية تبدأ من آلاف الدولارات. أما خطتنا فشهرية وقابلة للإلغاء في أي وقت. جرّب بضعة استعلامات مجانًا وقيّم البيانات قبل الالتزام.