رفتن به محتوا

اولین درخواست

در این صفحه از رومو می‌پرسید «من کی هستم؟». این درخواست چیزی را عوض نمی‌کند. اگر جواب درست آمد، کلید شما کار می‌کند.

مثال‌های این سایت نشانی sandbox را می‌نویسند، یعنی محیط آزمایشی با پول آزمایشی. اول آنجا بیازمایید. برای تولید، که پولش واقعی است، فقط نشانی‌ها عوض می‌شوند: به جای https://api.romu.ir بنویسید https://api.romu.io و کنسول تولید را باز کنید.

sandboxتولید
APIapi.romu.irapi.romu.io
کنسولconsole.romu.irconsole.romu.io
اپ تأییدapprove.romu.irapprove.romu.io
شبکه‌هاTRON Nile و BSC testnetTRON و BSC اصلی
پولآزمایشیواقعی
نود دومرومو نود دوم را به جای نود شما نگه می‌داردیکی پیش رومو، یکی پیش شما

اگر سازمان فعال دارید، از گام 4 شروع کنید. از همان‌جا تا اولین پاسخ حدود پنج دقیقه است.

  1. ثبت‌نام کنید. در کنسول صفحه‌ی «ثبت‌نام سازمان» را باز کنید. نام سازمان، نام خودتان، ایمیل کاری و رمز عبور را بنویسید. شما مدیر این سازمان می‌شوید.

  2. ایمیلتان را تأیید کنید. یک پیوند به ایمیل شما می‌آید. روی آن بزنید و همان رمزی را که در ثبت‌نام نوشتید بنویسید. پیوند 24 ساعت و فقط یک بار کار می‌کند.

  3. سازمان را فعال کنید. مسیر کامل در راه‌اندازی سازمان است.

  4. یک جفت کلید بسازید. این کلید روی سیستم خودتان می‌ماند. فقط بخش عمومی آن را در کنسول می‌گذارید.

    پنجره‌ی ترمینال
    openssl genpkey -algorithm ed25519 -out romu-api-key.pem
    chmod 600 romu-api-key.pem
    openssl pkey -in romu-api-key.pem -pubout -outform DER | tail -c 32 | xxd -p -c 64

    خط آخر یک متن 64 نویسه‌ای چاپ می‌کند. این کلید عمومی شماست.

    OpenSSL خود مک این کلید را نمی‌سازد. راه‌های دیگر (Python، Node.js، ssh-keygen) در ساختن کلید API هست.

  5. کلید را در کنسول بگذارید. به «کلیدهای API» بروید و «کلید تازه» را بزنید.

    فیلد چه بنویسید
    نام مثلاً first-test
    کلید عمومی Ed25519 همان متن 64 نویسه‌ای
    دسترسی خواندن
    آدرس‌های IP مجاز IP سرور شما، مثلاً 203.0.113.7
    مدت اعتبار یک سال

    «پیشنهاد کلید» را بزنید.

  6. در اپ رومو تأیید کنید. کلید تازه تا تأیید نشود کار نمی‌کند. شناسه‌ی کلید، یعنی key_id⁠، از لحظه‌ی پیشنهاد در فهرست کلیدها هست و پس از تأیید، وضعیت کلید «فعال» می‌شود.

  7. کتابخانه را بگیرید. زبان خودتان را انتخاب کنید و فایل را کنار romu-api-key.pem بگذارید: romu.ts، romu.go یا romu.py. برای Python این را هم نصب کنید:

    پنجره‌ی ترمینال
    pip install cryptography

    شناسه‌ی کلید را به سیستم بدهید:

    پنجره‌ی ترمینال
    export ROMU_KEY_ID="your-key-id"
  8. درخواست را بفرستید. پاسخ باید این شکل باشد:

    پنجره‌ی ترمینال
    curl https://api.romu.ir/v1/whoami \
    -H "X-Custody-Key-Id: $KEY_ID" \
    -H "X-Custody-Timestamp: $TIMESTAMP" \
    -H "X-Custody-Nonce: $NONCE" \
    -H "X-Custody-Signature: $SIGNATURE"
    پاسخ
    {
    "org_id": "0192f1a0-7c3e-7b42-9d1e-5a8b3c6d2e10",
    "key_id": "01926e60-0000-7000-8000-000000000001",
    "scopes": [
    "read"
    ],
    "allowed_wallet_ids": [],
    "all_wallets": true
    }

    امضای درخواست را کتابخانه انجام می‌دهد؛ جزئیات: صفحه‌ی امضا

شناسه‌های پاسخ شما فرق دارند. org_id را نگه دارید، بعداً برای Webhook لازم می‌شود.

اگر 401 گرفتید

بخش «اگر 401 گرفتید»

این خطا یک جواب برای چند علت است. این‌ها را به ترتیب ببینید:

  1. ROMU_KEY_ID همان شناسه‌ی کنسول است.
  2. کلید فعال است، نه «در انتظار تأیید» یا «منقضی شد».
  3. IP سرور شما در «آدرس‌های IP مجاز» کلید هست.
  4. ساعت سرور شما درست است. اختلاف تا 5 دقیقه پذیرفته می‌شود.