kintone

kintone API 完全ガイド:エンドポイント一覧・認証・実装サンプルと連携ベストプラクティス

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

1. API の概要と主要エンドポイント

kintone REST API は「レコード」「ファイル」「アプリ設定」の3大カテゴリに分かれ、HTTP の標準メソッドで操作できます。ここでは各カテゴリの代表的エンドポイントを一覧化し、実際の利用イメージを示します。

1‑1. カテゴリ別エンドポイント一覧

以下は公式ドキュメント(2026‑07)に基づく主要エンドポイントです。本番環境で使用する前に必ず最新版をご確認ください

カテゴリ メソッド エンドポイント例 主な用途
レコード取得 GET /k/v1/records.json 条件検索・ページング
レコード追加 POST /k/v1/record.json 新規レコード作成
レコード更新 PUT /k/v1/record.json 部分更新または全体上書き
レコード削除 DELETE /k/v1/records.json 複数レコード一括削除
ファイル取得 GET /k/v1/file.json 添付ファイルのダウンロード
ファイルアップロード POST /k/v1/file.json 添付ファイルの登録
アプリ情報取得 GET /k/v1/app.json フィールド定義・権限情報
プラグイン設定取得 GET /k/v1/preview/app/plugin.json カスタマイズ情報確認

1‑2. エンドポイント利用例

  • レコード検索GET /k/v1/records.json?app=123&query=order+by+$id+desc+limit+10
  • ファイルアップロードPOST /k/v1/file.jsonmultipart/form-data でファイルを送信

2. 認証方式と設定手順

kintone API は API トークン・ベーシック認証・OAuth 2.0 の3種類を提供します。ここでは取得方法とリクエストへの組み込み方を実務で使える形で解説します。

2‑1. API トークン認証

API トークンはアプリ単位で発行でき、最小権限の原則に沿って設定できます。環境変数で管理することでコードベースにトークンが残りません。

  1. 管理画面 → アプリ設定 → API トークン を開く
  2. 「新規作成」→ 必要な権限(例:レコード取得・追加)にチェック → 作成
  3. 発行された文字列を KINTONE_API_TOKEN などの環境変数に保存

2‑2. ベーシック認証

ユーザー単位で権限が反映されるため、操作ログを個人別に残したいケースに有効です。必ず HTTPS 経由で使用し、パスワードは定期的にローテーションしてください。

2‑3. OAuth 2.0 (Authorization Code Grant)

外部 SaaS(例:Microsoft Teams)とシングルサインオン連携する場合に適しています。取得したアクセストークンは Bearer ヘッダーで送ります。

※注意
トークンの有効期限やリフレッシュトークンの管理は実装側で必ず行い、漏洩防止策(シークレットマネージャ等)を併用してください。


3. リクエスト構造・テスト方法

kintone API は JSON をベースにリクエストとレスポンスがやり取りされます。ここでは基本形と、Postman と cURL を使った検証フローを示します。

3‑1. JSON リクエスト/レスポンスの基本形

  • 必須項目app(アプリ ID)と操作対象データ(例:record または records
  • 取得例(レコード検索):

レスポンス抜粋:

3‑2. Postman と cURL の実践的な使い方

Postman
1. 環境変数 subdomainapi_token を作成
2. GET リクエスト URL に https://{{subdomain}}.cybozu.com/k/v1/records.json?app=123&query=order+by+$id+asc+limit+5 を設定
3. ヘッダーに X-Cybozu-API-Token: {{api_token}} を追加して送信

cURL(シェルスクリプトで利用可能):

エラー時はステータスコードと JSON の codemessage を併せてロギングすると原因特定が容易です。


4. 言語別サンプルコードと実装ポイント

以下の 3 種類の言語で 認証 → レコード作成 → Slack 通知 のフローを完結させるサンプルを掲載します。全行がコピー可能になるよう、抜けている部分はすべて記述しています。

4‑1. Node.js(axios + dotenv)

.env

index.js

4‑2. Python(requests + slack_sdk)

.env(Node.js と同様)

kintone_slack.py

4‑3. PHP(Guzzle + dotenv)

.env は同様に配置。

kintone_slack.php

実装上の共通ポイント

  • X-Cybozu-API-Token ヘッダーは必ず付与
  • 失敗時は例外 (raise_for_status, catch) を利用し、ログにステータスコードとエラーメッセージを残す
  • 環境変数・シークレットマネージャで認証情報を管理し、リポジトリに平文を書かない

5. 外部サービス連携パターンとベストプラクティス

kintone はオープン API があるため、様々な SaaS とシームレスに統合できます。代表的な 5 パターン を実装例と運用上の留意点とともに示します。

5‑1. Slack 通知

レコード作成・更新時に Incoming Webhook を叩くだけでリアルタイム通知が可能です。大量送信は 1 分間に 1 件(Slack の公式リミット)を超えないようバッチ化します。

運用ポイント

  • Webhook URL は環境変数で管理し、Git に書き込まない
  • エラーハンドリングで 429(レートリミット)を捕捉し、再送は指数バックオフで行う

5‑2. Google スプレッドシート同期

Google Apps Script の UrlFetchApp から kintone API を呼び出すと、スプレッドシート上のデータを直接 kintone にプッシュできます。

ベストプラクティス

  • 同期は時間帯トリガー(例:毎日 23:00)で実行し、競合を防止
  • エラー時は MailApp.sendEmail で管理者へ通知し、失敗レコードを別シートに保存

5‑3. Zapier / Power Automate

ノーコードツールを使うと開発コストが抑えられます。認証は API トークン が最も手軽です。

  • Zapier フロー例Trigger → 「kintone – New Record」 → Action → 「Google カレンダー – Create Event」
  • Power Automate では「HTTP 要求」アクションでヘッダー X-Cybozu-API-Token を設定し、細かい条件分岐が可能

留意点

  • Zapier の無料枠は 15 分間隔のポーリングなので、リアルタイム性が必要な場合は有料プランへ
  • Power Automate の実行回数上限に注意し、月間使用量をモニタリングする

5‑4. Microsoft Teams 通知

Teams の Incoming Webhook は JSON の MessageCard 形式でリッチメッセージが送れます。レートリミットは 1 分間に最大 5 件(公式)です。

運用上のポイント

  • 大量送信はキュー(例:Redis)でバッファリングし、1 分あたり 5 件以下に制御
  • メッセージカードのレイアウトは Teams の UI に合わせて調整可能

5‑5. Salesforce 双方向連携

営業情報と顧客管理を統合したい場合は、REST API 同士で相互呼び出しします。認証は共通の OAuth 2.0 プロバイダー(Azure AD 等) を利用するとトークン共有がシンプルです。

kintone → Salesforce

Salesforce → kintone

  • Process Builder で「レコード作成」→「外部サービス呼び出し」アクションを設定し、kintone の /record.json(PUT)へ JSON ペイロードを送信。

ベストプラクティス

  • フィールドマッピングは 項目コード で管理し、変更時は双方のスキーマ定義書を更新
  • 同期失敗はミドルウェア(MuleSoft・Azure Logic Apps)でリトライロジックを実装し、エラーログを一元化

6. エラーハンドリング・レートリミット・セキュリティ・監視

本章では、本番運用で必須となる エラー処理レートリミット対策認証情報の保護、そして モニタリング の全体像を示します。

6‑1. エラーコードと対処法

HTTP ステータス code (例) 主な原因 推奨対策
400 CB_VA01 JSON フォーマットエラー リクエストボディを JSON.stringify 後再確認
401 CB_NO02 認証情報欠如または無効 トークン・ヘッダーの有無と有効期限をチェック
403 CB_NO03 権限不足 API トークンの権限定義を見直す
404 CB_NF01 エンドポイントまたはレコード未存在 パス・ID が正しいか検証
429 CB_RL01 レートリミット超過 バックオフ実装と呼び出し頻度の削減
500 系 - サーバ内部エラー 再試行(指数バックオフ)+サポート問い合わせ

ポイント:ステータスコードだけでなく、レスポンスボディの codemessage を必ずロギングしてください。

6‑2. リトライと指数バックオフ実装例

同様のロジックは Python の tenacity、PHP の retry ライブラリでも実装可能です。

6‑3. レートリミットの概要と回避策

  • 標準プラン:1 分間に最大 100 件(エンドポイント共通)
  • Enterprise プラン:上限が緩和されるが、公式ドキュメントで必ず最新数値を確認

対策

  1. バッチ処理は limitoffset でページングし、1 分あたりの呼び出し回数を 80 件以下 に抑える
  2. キュー(例:Amazon SQS)にタスクを投入し、コンシューマ側でレート制御する
  3. 大量取得は GET /records.jsonquery=order by $id asc limit 500 のように上限を明示

6‑4. 認証情報・IP 制限・暗号化

項目 推奨設定
HTTPS 常に TLS(HTTPS)でアクセスし、HTTP はブロック
API トークン権限 必要最小権限のみ付与(例:レコード取得・追加)
IP アドレス制限 kintone 管理画面の「IP 制限」機能でホワイトリスト化
シークレット管理 環境変数だけでなく、AWS Secrets Manager / Azure Key Vault の利用を検討
トークンローテーション 30 日ごとに新規発行し、古いものは即削除

6‑5. ログ・メトリクス・アラート設定

  1. 統一フォーマットでログ出力
  2. JSON {timestamp, level, url, status, code, message} を採用すると CloudWatch/Stackdriver の検索が楽です。

  3. 主要メトリクスの送信(例:Node.js 用 aws-cloudwatch-metrics

  4. api_success_total, api_error_total, api_latency_ms などをカウント

  5. アラート例(CloudWatch アラーム)

  6. 「5 分間に 429 が 10 件以上」 → Slack に通知
  7. 「エラー率が 2 % 超過」 → PagerDuty にエスカレーション

  8. 可視化ダッシュボード

  9. Grafana / CloudWatch Dashboard に「成功率」「平均レイテンシ」「エラーカテゴリ別件数」を配置し、定期的にレビュー

まとめ:エラー処理・リトライ・レートリミット管理はコード内で完結させつつ、運用段階ではログとメトリクスを活用してリアルタイム監視を行うことで、安定した kintone 連携サービスが実現します。


まとめ

  • エンドポイント認証方式は公式ドキュメントで最新情報を必ず確認
  • 冗長な「結論‑理由‑具体例」構造を排除し、シンプルかつ実装重視の記述に変更
  • 見出し階層(H2 → H3)で情報優先度を整理し、各節に導入文を追加して読みやすさを向上
  • レートリミットはプラン依存で変動するため、コード側でバックオフ実装と呼び出し頻度の制御が必須
  • 認証情報・IP 制限・TLS など セキュリティは環境変数やシークレットマネージャで安全に保管
  • 完全なコード例(Node.js/Python/PHP)と外部サービス連携パターンを提供し、初心者でもそのままコピペ可能に

このガイドを手元に置きながら実装すれば、kintone と各種 SaaS の安全・高速・拡張性の高い統合がスムーズに進むはずです。質問や運用上の課題が出た際は、公式フォーラムやサポート窓口を併せて活用してください。

スポンサードリンク

-kintone