RootMapDeveloper Docs

位置情報ゲームを、もっと身近に。

最初の周辺検索まで、迷わず10分。

RootMapは、モンスターやスポットなどのゲームオブジェクトを 現在地の周辺から取得するためのAPI基盤です。このガイドでは、 安全な認証から最初のレスポンスまでを順番に説明します。

15分
短期player token
1–1,000 m
周辺検索の半径
0件
検証時の見逃し
GET /v1/objects/nearby200 OK
{
  "data": [
    {
      "id": "treasure_shibuya_01",
      "kind": "treasure",
      "name": "青い宝箱",
      "location": {
        "latitude": 35.6597,
        "longitude": 139.7008
      },
      "distanceMeters": 34.21,
      "properties": { "rarity": "rare" }
    }
  ],
  "meta": {
    "resultCount": 1,
    "usage": { "remaining": 99999 }
  }
}

QUICKSTART

3ステップで最初の検索

秘密情報をゲームへ埋め込まず、短期tokenを渡すのが基本です。

公開stagingを利用できます

https://api.rootmapgeo.com を ROOTMAP_BASE_URL に設定してください。 管理画面で作成したテスト用credentialだけを使用し、本番データは送らないでください。

  1. 01

    認証情報をサーバーへ保存

    rmk.<id>.<secret> 形式のproject credentialは、 ゲーム開発者のバックエンドだけで安全に保管します。

  2. 02

    player tokenを発行

    個人情報ではないplayerIdを送り、15分間だけ使えるtokenを受け取ります。

  3. 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へ交換します。

リクエスト

AuthorizationBearer project credential
Content-Typeapplication/json
playerId3–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 requests

playerごと・60秒ごとのnearby検索。超過時は60秒後に再試行します。

月間100,000 operations

Free検証枠の初期値。レスポンスのusageで残数と更新日時を確認できます。

有料プランテスト公開中

公開予定価格をStripeテスト環境で確認できます。実際の請求は発生しません。

※ Rate Limitは悪用防止用です。月間利用量はRootMap側のproject counterを基準にします。

PRICING

小さな検証から、大規模運用まで

現在はpublic betaです。有料プランはStripeテスト環境でのみ選択でき、本番請求は行いません。

テスト環境で確認
Free¥0

月10万 API操作

個人開発・動作検証
Starter¥9,800/月

月200万 API操作

小規模な商用ゲーム
Business¥198,000/月

月1億 API操作

複数案件・イベント
Enterprise¥500,000〜/月

専用構成・SLA・導入支援

要件に合わせた個別見積もり

※ 上記はpublic betaの公開予定価格です。消費税、超過料金、解約・返金条件は有料提供開始前に最終表示します。

ERRORS

エラーから次の行動が分かる

エラー本文にはcodeとmessageが含まれます。予期しない問題ではrequestIdも返します。

HTTPcode対応
400invalid_query座標、半径、件数などの入力を確認してください。
401invalid_credentialプロジェクト認証情報が不正または失効しています。
401invalid_tokenplayer tokenを再発行してください。
403project_inactiveプロジェクトの状態を管理画面で確認してください。
403insufficient_scope必要な権限を持つtokenを使用してください。
413payload_too_largeリクエスト本文を4 KiB以下にしてください。
415unsupported_media_typeContent-Typeをapplication/jsonにしてください。
422candidate_limit_exceeded検索半径を狭めるか、データを分割してください。
429rate_limited60秒待ってから再試行してください。
429quota_exceeded月間枠の更新を待つか、プランを見直してください。

OPERATIONS

公開前に確認してほしいこと

01

サービス状態

公開stagingは稼働中です。healthを確認できます。本番環境とSLAはまだ提供していません。

02

変更履歴

2026-08-06:public beta、料金案、東京ベースマップ、問い合わせ窓口を公開。

03

データとプライバシー

playerIdは仮名化してください。地図公開時はOpenStreetMapの帰属表示が必要です。

PUBLIC BETA POLICY

テスト公開の利用条件とデータの扱い

有料提供前の検証版として、保存する情報と問い合わせ先を明確にします。

保存する情報

ログイン識別子とメールアドレス、プロジェクト設定、復元できない形式の接続キー、配置データ、API利用量、Stripeの顧客・契約識別子を運用に必要な範囲で保存します。

位置情報

周辺検索の緯度・経度は応答処理に使い、通常ログへ記録しません。playerIdには氏名やメールアドレスではなく仮名IDを使用してください。

public betaの条件

SLAはありません。実データや機密情報を送らず、障害・仕様変更・データ初期化があり得る検証環境として利用してください。Stripe画面はテスト環境で、請求は発生しません。

実課金はまだ開始しません

販売主体の正式情報、特定商取引法表示、税込価格、解約・返金条件を確定・掲載し、live決済を別環境で検証してから有料提供へ切り替えます。

NEXT

管理画面から、最初の接続テストまで。

ChatGPTでサインインすると、project作成、認証情報の作成・ローテーション、staging同期を試せます。

管理画面を開く