コンテンツにスキップ
Taylorz CRM Developers
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

最初のリクエスト

新しいアクセストークンからレコードの 1 ページまで。権限を読み、オブジェクトを見つけ、一覧する。そして最初に出る 4 つの拒否を見分けます。

リクエストは 3 つです。クライアントの接続で得たアクセストークンが必要で、以下のパスはすべて /api/v1 を基準にしています。

1. 権限を読む

GET /api/v1/capabilities
Authorization: Bearer <token>
{
  "actions": ["objects.read", "records.read", "records.write"],
  "features": { "api": true, "cpq": true, "approvals": false },
  "revision": 7
}

探りを入れるのではなく、ここから始めてください。 actions は存在する 21 個のうち、このトークンとこのメンバーが実際に許可されているものです。features は 8 つのモジュールの有効・無効の状態です。revision はモジュールポリシーのリビジョンなので、設定が変わったのかレコードが変わったのかを区別できます。

エンドポイント自身の説明が端的に述べています。拒否から権限を推測するのではなく、これをポーリングしてください。403 は何かがおかしいことを伝えますが、capabilities は何を持っているかを伝えます。

2. オブジェクトを見つける

GET /api/v1/objects

各エントリは key、label、kind、所有する moduleKey、revision を持ちます。

予期すべきことが 2 つあります。一覧はあなたのアクセス権でフィルターされます — オブジェクトを読めないメンバーにはそれが見えないため、これはワークスペースの完全なスキーマではありません。そして標準オブジェクトは設置されるまで存在しません。POST /bootstrap が有効なモジュールの所有するものを作成します。まだ誰も設定していないワークスペースでは、この一覧は誤りではなく空です。

照合は key で行ってください(account、lead、opportunity)。ラベルは表示用の文字列なので日本語です。

3. そのレコードを一覧する

GET /api/v1/objects/{objectId}/records?limit=10
{
  "items": [{ "id": "…", "name": "…", "revision": 3, "values": {} }],
  "nextCursor": "…",
  "total": 42
}

limit は 1 から 100 で既定は 50 です。次のページには nextCursor を after として渡し、null になったら終了します。

total は最初のページでのみ数えられます。 以降のページは total: null を返します。表示したい場合は最初のページの値を保持してください。

最小限はこれで全部です。並び順、ビュー、フィルター、関連レコードはすべて任意で、ビュー・並び順・ページネーションが拒否される 4 つのパラメータの組み合わせを含めて扱います。

最初に出る 4 つの拒否

拒否 意味 どうするか
workspace_session_required Web アプリケーションのトランスポート /api/v1/workspace/… を呼びました。設計上ベアラートークンを拒否します リファレンスにあるパスを使ってください
permission_required トークンのスコープかメンバーの役割がそのアクションを許可していません capabilities を読んでください。欲しいアクションが actions にありません
feature_disabled そのエンドポイントのモジュールがこのワークスペースで無効です capabilities を読んでください。features でそのモジュールが false です
オブジェクト一覧が空 誰も POST /bootstrap を実行していません 標準オブジェクトを設置するか、管理者に依頼してください

前の 3 つは同じ間違いの 3 つの形です。capabilities を先に読む代わりに、何ができるかを API に尋ねているということです。

401 は種類が違います。トークンが欠けている・不正・失効しているということで、リクエストを変えるのではなく新しいトークンを得るのが答えです。エラーが拒否の形と、再試行の価値があるものを扱います。

このページは役に立ちましたか?