BUNKERFUELPRICES
المطوّرون

واجهة API للموردين

نقطة نهاية واحدة. انشر مصفوفة أسعار، واسترجع ما نُشِر وما احتُجِز. لا SDK لتثبيته ولا تكامل يستدعي جدولة مكالمة بشأنه — إن كان نظامك يملك أرقام اليوم أصلًا، فهذه طلب HTTP واحد.

احصل على مفتاح

افتح بوابة الموردين بالعنوان الذي يُصدر مكتبك عروضه منه. الرابط الذي يصلك يسجّل دخولك، ومفتاحك على تلك الصفحة. تبدأ المفاتيح بـ bfps_ ولا تنتهي صلاحيتها أبدًا؛ ويمكنك تدوير أحدها من الصفحة نفسها.

تعامل معه كأنه كلمة مرور. أي شخص يحوزه يمكنه نشر أسعار باسمك، وسعر خاطئ منسوب إليك أسوأ لك منه لنا.

نشر الأسعار

POST https://bunkerfuelprices.com/api/v1/supplier/prices

curl -X POST https://bunkerfuelprices.com/api/v1/supplier/prices \
  -H "Authorization: Bearer bfps_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prices": [
      { "port": "SGSIN", "grade": "VLSFO", "amount": 784.50 },
      { "port": "SGSIN", "grade": "MGO",   "amount": 1146.00 },
      { "port": "AEFJR", "grade": "VLSFO", "amount": 795.00,
        "minMt": 200, "validHours": 24, "basis": "delivered" }
    ]
  }'

الحقول

الحقلالنوعملاحظات
portstringrequiredUN/LOCODE، خمسة أحرف — SGSIN وNLRTM وAEFJR. لا اسم الميناء. الرمز غير المعروف يُرفَض لذلك الصف وحده؛ ويُنشَر الباقي.
gradeenumrequiredVLSFO · HSFO · MGO · ULSFO · LNG · B24 · B30
amountnumberrequiredالسعر، بالعملة والوحدة أدناه.
currencyUSD | EURoptionalالافتراضي USD. يُحوَّل EUR بسعر ECB المرجعي الحيّ في اليوم نفسه.
unitmt | litre | m3optionalالافتراضي mt. تُحوَّل الأرقام لكل لتر باستخدام كثافة الرتبة.
basisdelivered | ex_wharf | foboptionalالافتراضي delivered. لهذا أهمية: سعر تسليم الرصيف (ex-wharf) معروضًا على أنه مُسلَّم (delivered) يُقلّل مما يدفعه المشتري، ونحن لا نقارن إلا ضمن الأساس الواحد.
minMtnumberoptionalأدنى كمية ينطبق عليها السعر.
validHours1–168optionalالمدة التي يظل فيها ساريًا. الافتراضي 24، وبعدها يُوسَم بأنه قديم بدل عرضه على أنه حالي.
taxIncludedbooleanoptionalالافتراضي false. يهمّ أساسًا مراسي اليخوت.

الاستجابة

{
  "accepted": 3,
  "published": 2,
  "held": 1,
  "results": [
    { "port": "SGSIN", "grade": "VLSFO", "ok": true, "published": true,
      "submissionId": "..." },
    { "port": "SGSIN", "grade": "MGO",   "ok": true, "published": true,
      "submissionId": "..." },
    { "port": "AEFJR", "grade": "VLSFO", "ok": true, "published": false,
      "heldForReview": ["38% away from the $795 median across 6 other ports"] }
  ]
}

الصف البعيد عن السوق في موانئ أخرى يُحتجَز لمراجعة شخص بدل نشره. ليس هذا تشكيكًا فيك — بل هو ما يمنع رقمًا كُتب خطأً من أن يصير رقمًا يتصرّف المشتري بناءً عليه، وهو يحمي اسمك أكثر مما يحمي اسمنا. تُطلَق الأسعار المحتجَزة عادة في اليوم نفسه.

الصفوف مستقلة. الصف الخاطئ لا يرفض الدفعة.

اقرأ ما لدينا

curl https://bunkerfuelprices.com/api/v1/supplier/prices \
  -H "Authorization: Bearer bfps_YOUR_KEY"

يعيد آخر مئة عملية إرسال لك مع حالتها، لتتمكن من المطابقة دون الاحتفاظ بسجلّ خاص بما قبلناه.

لوحة الأسعار العامة

مفتوحة، لا تحتاج مفتاحًا، ومفيدة للتحقق من موضع سعرك مقابل بقية السوق قبل نشره.

curl "https://bunkerfuelprices.com/api/v1/prices?grade=VLSFO&limit=50"

الأخطاء والحدود

الحالةالمعنى
200تمت المعالجة. تحقّق من results — لا يعني رمز 200 أن كل صف قد نُشِر.
400تعذّر تحليل المحتوى (body). تسمّي الاستجابة الحقل المعنيّ.
401مفتاح مفقود أو خاطئ أو موقوف.

حتى 200 سعر لكل طلب. انشر بالوتيرة التي تشاء — تنشر معظم المكاتب مرة في الصباح ومرة أخرى إن تحرّك السوق. تكرار نشر الميناء والرتبة نفسيهما يحلّ محل السعر الأسبق بدل تكراره.

ماذا نفعل به

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

لسنا موردًا للوقود ولا تاجرًا ولا وسيطًا، ولا نتّخذ أي مركز تداول في أي شحنة، فلا مصلحة لنا في سعرك سوى أن نكون على صواب بشأنه. التفاصيل الكاملة في سياسة البيانات والتسعير. اسحبه في أي وقت من البوابة، أو راسِل data@bunkerfuelprices.com.