認証
インストールで一度出るトークンと、client_credentials です。
呼び出しには、Authorization: Bearer <token> が必要です。トークンはワークスペースを決めるので、リクエストにワークスペースを書く欄はありません。
トークンの発行と再インストールは API の画面です。ここでは、トークンの形と、もう一つの取り方だけを書きます。
トークン
インストールを終えると、トークンが一度だけ表示されます。閉じたあとは、同じ文字列は再表示できません。無くしたら、同じアプリを再インストールします。前のトークンは、その時点で使えなくなります。
プレフィックスは次のとおりです。
| 種類 | 始まり |
|---|---|
| クライアント ID | cpt_app_ |
| 本番の秘密 | cpt_sec_live_ |
| 開発の秘密 | cpt_sec_test_ |
| トークン | cpt_tok_ |
本番のホスト api.cepto.io は、cpt_sec_live_ だけを受け付けます。開発のホストは、live と test の両方を受け付けます。
必要な権限
権限は kikan_products_read のように、対象と read / write の組です。Write には、同じ対象の Read が含まれます。持っていない操作は 403 です。
| 操作 | 必要な権限 |
|---|---|
| 品番の参照 | kikan_products_read |
| 品番の登録・更新 | kikan_products_write |
| マスタの参照 | kikan_masters_read |
| マスタの登録・更新 | kikan_masters_write |
| 発注の参照 | kikan_purchase_orders_read |
| 発注計画の参照 | kikan_order_plans_read |
| 受注の参照 | kikan_sales_orders_read |
| リースの参照 | kikan_leases_read |
client_credentials
画面のトークンを使わず、クライアント ID と秘密から同じ種類のトークンを取ることもできます。期限はありません。再インストールすると、以前のトークンは無効です。
POST /v1/oauth/token
Content-Type: application/json
{
"grant_type": "client_credentials",
"client_id": "cpt_app_...",
"client_secret": "cpt_sec_live_..."
}秘密は、JSON の client_secret か、Authorization: Basic(クライアント ID と秘密を : でつなぎ、Base64 にしたもの)のどちらかです。
成功すると、次の形が返ります。
{
"access_token": "cpt_tok_...",
"token_type": "Bearer",
"scope": "kikan_products_read kikan_products_write"
}scope を付けると、そのアプリが持っている権限のうち、書いたものだけに絞れます。持っていない名前を書くと失敗します。空なら、アプリに付いている権限がすべて付きます。
このパスは、1分あたり 30 回までです。超えると 429 です。トークンを付けたあとの呼び出しは、1分あたり 120 回までです。