واجهة برمجة الختم الزمني — بداية سريعة

استدعاء HTTP واحد. بلا مفتاح، بلا حساب، بلا استمارة تسجيل. ملفك يبقى مكانه — ولا يسافر سوى بصمته SHA-256.

# الوقت العالمي الحالي
curl https://beattime.live/api/now/

# ختم ملف: احسب البصمة محليًا وأرسل البصمة فقط
sha256sum contract.pdf
curl -X POST https://beattime.live/api/proof/stamp \
     -H 'Content-Type: application/json' \
     -d '{"digest":"<64 hex characters>"}'

هذا هو التكامل كله. لا شيء لتسجيله، ولا رمز للتدوير، ولا حصة للتفاوض عليها — الخدمة مجانية وستبقى كذلك.

ما الذي يعود في الرد

يعيد الختم السجل كما هو في هذه اللحظة. لاحقًا تعيد البصمة نفسها ما هو أكثر: توقيعًا، ثم مرتكزات خارجية.

digest
بصمة SHA-256 التي أرسلتها، بأحرف صغيرة. هي كل ما نراه من ملفك على الإطلاق.
beat
اللحظة بتوقيت ‎.beat — قراءة عالمية واحدة، بلا منطقة زمنية.
utc
اللحظة نفسها بتوقيت UTC، بدقة الميكروثانية.
seq
الموضع في السجل الذي لا يقبل إلا الإضافة. الأرقام لا تتكرر ولا تتغيّر.
week
أسبوع ISO الذي تنتمي شجرة ميركل الخاصة به إلى هذا الختم.
chain_hash
يربط هذا المُدخل بسابقه، فحذف أي مُدخل يكسر السلسلة على نحو ظاهر.
week_root
جذر ميركل الأسبوعي. يبقى مؤقتًا ويتغيّر حتى يُغلَق الأسبوع.
inclusion_proof
بصمات الأشقاء مع جهة كل منها (L أو R). بها تعيد حساب الجذر بنفسك — وهذا تحديدًا ما يجعل الإثبات مستقلًا عنّا.
root_signature
توقيع Ed25519 على جذر الأسبوع بعد تجميده. يظهر فور ختم الأسبوع.
ots_status
حالة المرتكز في بيتكوين: pending أثناء انتظار التأكيد، ثم bitcoin مع ارتفاع الكتلة.
anchors
مراجع بنكية سُجِّل عليها جذر الأسبوع — مرتكز لا يعتمد على أي سلسلة كتل.

«الأسبوع ما زال مفتوحًا» ردّ طبيعي، وليس خطأ.

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

ختم الملف نفسه مرتين

الختم الأول يفوز دائمًا. أرسِل البصمة نفسها مجددًا فتستعيد السجل الأصلي — الوقت نفسه والرقم التسلسلي نفسه — بالحالة 200 بدل 201. لذلك تكرار المحاولة آمن: ردّ ضائع أو عميل متوتر لن يزحزح ختمك الزمني إلى الأمام.

201 Created   → خُتِم لأول مرة
200 OK        → مختوم من قبل؛ يُعاد الختم الزمني الأصلي
400           → البصمة ليست 64 حرفًا ست عشريًا
429           → تجاوزت الحد؛ انتظر ثم أعد المحاولة

الحدود وCORS

الحدود محسوبة لكل عنوان IP، وهي موجودة كي لا يزاحم عميل واحد البقية. وهي سخيّة عن قصد لكل ما يفعله تكامل عادي.

نقطة النهايةالحد
POST /api/proof/stamp20 / min
GET /api/proof/verify120 / min
GET /api/proof/cert/<digest>10 / min
الباقي (الوقت، التحويل، المزامنة)300 / min

تستجيب كل نقطة نهاية بالترويسة Access-Control-Allow-Origin: *، فيمكنك استدعاؤها من المتصفح مباشرة. وللطلبات عبر Tor حدود أعلى، لأن خلف عقدة الخروج الواحدة أشخاصًا كُثرًا.

عملاء جاهزون

ملفات مفردة، بلا اعتماديات، برخصة Apache-2.0: بايثون وPHP وجافاسكربت و#C وC++17. انسخ أحدها إلى مشروعك أو اطّلع على المرجع الكامل.

احصل على عميل   مرجع OpenAPI

ما ليست عليه هذه الخدمة

من المفيد معرفته قبل أن تبني عليه — ونفضّل قوله هنا على أن تكتشفه في المراجعة:

الخوارزميات مدوَّنة في المواصفة، وتطبيق سطح المكتب الذي يعيد حساب كل ذلك مفتوح المصدر.

← اختم ملفًا من المتصفح