اولین درخواست
در این صفحه از رومو میپرسید «من کی هستم؟». این درخواست چیزی را عوض نمیکند. اگر جواب درست آمد، کلید شما کار میکند.
مثالهای این سایت نشانی sandbox را مینویسند، یعنی محیط آزمایشی با پول آزمایشی. اول آنجا بیازمایید. برای تولید، که پولش واقعی است، فقط نشانیها عوض میشوند: به جای https://api.romu.ir بنویسید https://api.romu.io و کنسول تولید را باز کنید.
| sandbox | تولید | |
|---|---|---|
| API | api.romu.ir | api.romu.io |
| کنسول | console.romu.ir | console.romu.io |
| اپ تأیید | approve.romu.ir | approve.romu.io |
| شبکهها | TRON Nile و BSC testnet | TRON و BSC اصلی |
| پول | آزمایشی | واقعی |
| نود دوم | رومو نود دوم را به جای نود شما نگه میدارد | یکی پیش رومو، یکی پیش شما |
اگر سازمان فعال دارید، از گام 4 شروع کنید. از همانجا تا اولین پاسخ حدود پنج دقیقه است.
-
ثبتنام کنید. در کنسول صفحهی «ثبتنام سازمان» را باز کنید. نام سازمان، نام خودتان، ایمیل کاری و رمز عبور را بنویسید. شما مدیر این سازمان میشوید.
-
ایمیلتان را تأیید کنید. یک پیوند به ایمیل شما میآید. روی آن بزنید و همان رمزی را که در ثبتنام نوشتید بنویسید. پیوند 24 ساعت و فقط یک بار کار میکند.
-
سازمان را فعال کنید. مسیر کامل در راهاندازی سازمان است.
-
یک جفت کلید بسازید. این کلید روی سیستم خودتان میماند. فقط بخش عمومی آن را در کنسول میگذارید.
پنجرهی ترمینال openssl genpkey -algorithm ed25519 -out romu-api-key.pemchmod 600 romu-api-key.pemopenssl pkey -in romu-api-key.pem -pubout -outform DER | tail -c 32 | xxd -p -c 64خط آخر یک متن 64 نویسهای چاپ میکند. این کلید عمومی شماست.
OpenSSL خود مک این کلید را نمیسازد. راههای دیگر (Python، Node.js، ssh-keygen) در ساختن کلید API هست.
-
کلید را در کنسول بگذارید. به «کلیدهای API» بروید و «کلید تازه» را بزنید.
فیلد چه بنویسید نام مثلاً first-testکلید عمومی Ed25519 همان متن 64 نویسهای دسترسی خواندن آدرسهای IP مجاز IP سرور شما، مثلاً 203.0.113.7مدت اعتبار یک سال «پیشنهاد کلید» را بزنید.
-
در اپ رومو تأیید کنید. کلید تازه تا تأیید نشود کار نمیکند. شناسهی کلید، یعنی
key_id، از لحظهی پیشنهاد در فهرست کلیدها هست و پس از تأیید، وضعیت کلید «فعال» میشود. -
کتابخانه را بگیرید. زبان خودتان را انتخاب کنید و فایل را کنار
romu-api-key.pemبگذارید:romu.ts،romu.goیاromu.py. برای Python این را هم نصب کنید:پنجرهی ترمینال pip install cryptographyشناسهی کلید را به سیستم بدهید:
پنجرهی ترمینال export ROMU_KEY_ID="your-key-id" -
درخواست را بفرستید. پاسخ باید این شکل باشد:
پنجرهی ترمینال 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"import { romu } from "./romu.ts";const res = await romu.get("/v1/whoami");console.log(res.body);client, err := romu.NewClient("https://api.romu.ir", keyID, "romu-api-key.pem")status, body, err := client.Get("/v1/whoami", "")import romustatus, body = romu.get("/v1/whoami")print(body)پاسخ {"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 گرفتید»این خطا یک جواب برای چند علت است. اینها را به ترتیب ببینید:
ROMU_KEY_IDهمان شناسهی کنسول است.- کلید فعال است، نه «در انتظار تأیید» یا «منقضی شد».
- IP سرور شما در «آدرسهای IP مجاز» کلید هست.
- ساعت سرور شما درست است. اختلاف تا 5 دقیقه پذیرفته میشود.