QUICKSTART
3ステップで最初の検索
秘密情報をゲームへ埋め込まず、短期tokenを渡すのが基本です。
✓公開stagingを利用できますhttps://api.rootmapgeo.com を ROOTMAP_BASE_URL に設定してください。 管理画面で作成したテスト用credentialだけを使用し、本番データは送らないでください。
- 01
認証情報をサーバーへ保存
rmk.<id>.<secret> 形式のproject credentialは、 ゲーム開発者のバックエンドだけで安全に保管します。
- 02
player tokenを発行
個人情報ではないplayerIdを送り、15分間だけ使えるtokenを受け取ります。
- 03
ゲームから周辺検索
player tokenをAuthorizationヘッダーへ入れて、現在地と半径を送ります。
1. バックエンドからtokenを発行
curl --request POST "$ROOTMAP_BASE_URL/v1/player-sessions" \
--header "Authorization: Bearer $ROOTMAP_PROJECT_CREDENTIAL" \
--header "Content-Type: application/json" \
--data '{"playerId":"player_01HXYZ"}'
2. ゲームから周辺を検索
curl --get "$ROOTMAP_BASE_URL/v1/objects/nearby" \
--header "Authorization: Bearer $PLAYER_TOKEN" \
--data-urlencode "lat=35.6595" \
--data-urlencode "lng=139.7005" \
--data-urlencode "radius=500" \
--data-urlencode "limit=20"
AUTHENTICATION
長期secretをゲームへ渡さない
配布済みアプリから秘密情報を回収するのは困難です。交換処理はバックエンドで行います。
1ゲームplayerIdを送る
HTTPS→
2あなたのサーバーcredentialを安全に保管
交換→
3RootMap15分tokenを発行
!project credentialはWeb、Unity、Godot、モバイルアプリへ直接含めないでください。playerIdにはメールアドレスや氏名ではなく、推測しにくい仮名IDを使います。
API REFERENCE
現在利用できるエンドポイント
すべてのレスポンスはJSONです。成功・失敗を問わずキャッシュしません。
仕様をダウンロードPOST/v1/player-sessions
project credentialを15分間のplayer tokenへ交換します。
リクエスト
| Authorization | Bearer project credential |
|---|
| Content-Type | application/json |
|---|
| playerId | 3–128文字の仮名ID |
|---|
| 最大本文 | 4 KiB |
|---|
201 Created
{
"tokenType": "Bearer",
"accessToken": "eyJhbGciOi...",
"expiresIn": 900,
"expiresAt": "2026-08-05T12:15:00.000Z",
"scope": "objects:read"
}
GET/v1/objects/nearby
指定した座標を中心に、距離が近いゲームオブジェクトを返します。
| 名前 | 必須 | 範囲 | 説明 |
|---|
lat | はい | -90〜90 | 緯度 |
lng | はい | -180〜180 | 経度 |
radius | いいえ | 1〜1,000 m | 検索半径。初期値500 |
limit | いいえ | 1〜100 | 最大件数。初期値50 |
リクエスト例
curl --get "$ROOTMAP_BASE_URL/v1/objects/nearby" \
--header "Authorization: Bearer $PLAYER_TOKEN" \
--data-urlencode "lat=35.6595" \
--data-urlencode "lng=139.7005" \
--data-urlencode "radius=500" \
--data-urlencode "limit=20"
GET/health
認証なしでAPIの稼働状態と版を確認します。
LIMITS & USAGE
予想外の大量利用を二段階で防止
短時間の連打と月間利用量を別々に管理し、429レスポンスで安全に停止します。
短時間120 requestsplayerごと・60秒ごとのnearby検索。超過時は60秒後に再試行します。
月間100,000 operationsFree検証枠の初期値。レスポンスのusageで残数と更新日時を確認できます。
有料プランテスト公開中公開予定価格をStripeテスト環境で確認できます。実際の請求は発生しません。
※ Rate Limitは悪用防止用です。月間利用量はRootMap側のproject counterを基準にします。
PRICING
小さな検証から、大規模運用まで
現在はpublic betaです。有料プランはStripeテスト環境でのみ選択でき、本番請求は行いません。
テスト環境で確認Free¥0月10万 API操作
個人開発・動作検証Starter¥9,800/月月200万 API操作
小規模な商用ゲームPro¥49,800/月月2,000万 API操作
スタジオ・受託開発Business¥198,000/月月1億 API操作
複数案件・イベントEnterprise¥500,000〜/月専用構成・SLA・導入支援
要件に合わせた個別見積もり ※ 上記はpublic betaの公開予定価格です。消費税、超過料金、解約・返金条件は有料提供開始前に最終表示します。
ERRORS
エラーから次の行動が分かる
エラー本文にはcodeとmessageが含まれます。予期しない問題ではrequestIdも返します。
| HTTP | code | 対応 |
|---|
| 400 | invalid_query | 座標、半径、件数などの入力を確認してください。 |
| 401 | invalid_credential | プロジェクト認証情報が不正または失効しています。 |
| 401 | invalid_token | player tokenを再発行してください。 |
| 403 | project_inactive | プロジェクトの状態を管理画面で確認してください。 |
| 403 | insufficient_scope | 必要な権限を持つtokenを使用してください。 |
| 413 | payload_too_large | リクエスト本文を4 KiB以下にしてください。 |
| 415 | unsupported_media_type | Content-Typeをapplication/jsonにしてください。 |
| 422 | candidate_limit_exceeded | 検索半径を狭めるか、データを分割してください。 |
| 429 | rate_limited | 60秒待ってから再試行してください。 |
| 429 | quota_exceeded | 月間枠の更新を待つか、プランを見直してください。 |
PUBLIC BETA POLICY
テスト公開の利用条件とデータの扱い
有料提供前の検証版として、保存する情報と問い合わせ先を明確にします。
保存する情報
ログイン識別子とメールアドレス、プロジェクト設定、復元できない形式の接続キー、配置データ、API利用量、Stripeの顧客・契約識別子を運用に必要な範囲で保存します。
位置情報
周辺検索の緯度・経度は応答処理に使い、通常ログへ記録しません。playerIdには氏名やメールアドレスではなく仮名IDを使用してください。
public betaの条件
SLAはありません。実データや機密情報を送らず、障害・仕様変更・データ初期化があり得る検証環境として利用してください。Stripe画面はテスト環境で、請求は発生しません。
問い合わせ・削除依頼
support@rootmapgeo.com、個人情報は privacy@rootmapgeo.com、脆弱性は security@rootmapgeo.com へ連絡してください。
!実課金はまだ開始しません販売主体の正式情報、特定商取引法表示、税込価格、解約・返金条件を確定・掲載し、live決済を別環境で検証してから有料提供へ切り替えます。