Claudia Partner™DocsAPI・MCP 共通ドキュメント0.7.0-experimental

使う

表とデータの更新

基盤のデータは、表(collection)に入っています。表は、列(項目)と行(1件分のデータ)でできています。このページでは、表を読み、行を追加・更新・削除する方法を説明します。

基盤には、v1の顧客が定義する表と、v2の業務表を扱うAPIがあります。パスや版の意味が違うため、使う系列を混ぜずに実装します。選び方は、共通ルールにあります。

操作は、利用者の権限(またはserviceの承認)の範囲で、行います。権限がない表や列は、見えず、書けません。

読み取りから始める

  1. 利用できる表の一覧を取得します(次の例はv1)。
  2. 表の定義(definition)を読みます。画面に表示する名前(ラベル)とは別に、変わらない項目のID(field ID)と、型、権限を保持します。
  3. 検索の条件、sort、cursorを指定して、行を取得します。応答の列は、現在の権限で、絞り込まれています。
httpGET /v1/tables
GET /v1/tables/work_notes
POST /v1/tables/work_notes/query

work_notesは、説明用の表の名前です。実際に使える表は、対象の利用環境の一覧で確認します。

v2の系列では、次のように読み取ります。

httpGET /v2/tables
GET /v2/tables/work_notes
POST /v2/tables/work_notes/query
GET /v2/tables/work_notes/rows/{rowId}

応答のschema_versionと、行のversionを保存します。書き込みで使います。

行を追加・更新する

HTTP・実行例に、次の完全なHTTPのリクエストと応答があります。

書き込みのbatchには、Authorization、Content-Type、Idempotency-Keyを付けます。本文には、現在のschema_versionと、操作ごとのversionを指定します。

ヘッダーの値は、どこから得るか

ヘッダー値
Idempotency-Key書き込みの操作ごとに、新しく作る。8〜128文字の-、英数字、_。service申請では、UUID
X-Parent-Version(画像の操作)画像のpolicyで返る、親の行の版
X-Schema-Version(画像の操作)表の定義のschema_version(policyや行の取得で得た値)
If-Match次の操作が要求します。表の定義の更新(PUT /v2/tables/{collection})、関連の設定(PUT /v2/tables/{collection}/access)、画像の操作、v1のケース(ジョブ)の更新(PATCH /v1/jobs/{id})。"0"のように、版を二重引用符で囲みます。画像の新規は"0"です

v2の行の更新と削除(batch)では、If-Matchは使いません。本文のversionに、取得した行の版を指定します。

版と再送のキー

更新の競合を防ぎ、二重の実行を防ぐために、次の値を使います。

値意味
schema_version列や型など、表の定義の版
行のversionその行の更新の競合を確認する版
If-Match操作の仕様が要求する、期待する版
Idempotency-Key同じ操作の再送を見分けるキー

更新と削除は、取得した現在の版と、操作の内容を固定して送ります。通信が途切れたときは、結果が不明のことがあります。同じ操作を別のキーで作り直す前に、状態を確認します。412が返ったときは、対象を再取得し、差分を利用者に確認してから、次の操作を決めます。詳しくは、競合・再送・復帰にあります。

v2の表の定義

v2の表は、PUT /v2/tables/{collection}で定義します。本文の形は、APIリファレンスのWorkspaceDefineです。同じOpenAPIにあるField・Define・Definitionは、v1の表(/v1/tables/…)の形で、型が5つ、役割が3つに限られています。v2の表では、Workspaceで始まる形を見てください。

1つの表の列は、64までです。

IDの決まりと、使えない名前

型値
text文字。4,096文字まで
number数
money_jpy円の金額。整数
date日付。YYYY-MM-DD
time時刻。HH:MM:SS
duration時間の長さ。秒の整数
booleanはい・いいえ
choice決めた選択肢の1つ。選択肢は300まで
case_refケースを指す。値は、ケースのid(UUID)で、表示用の番号ではありません
asset_ref画像・添付の入れ物。値はbatchで書かず、画像・添付の操作で結びつけます

textの値に、U+0000(NUL)の文字を含めることはできません。含めて送ると、500(INTERNAL_CONTRACT_VIOLATION)で拒否されます。元のデータから取り込むときは、送る前に取り除きます。

1つのセルには、文字・数・真偽・nullのどれか1つが入ります。1つのセルに、複数の値は入りません。複数の値は、別の表の行に分けます。

必須、保存の状態、締め

自動で計算する列

durationの列は、同じ行の開始と終了のtimeの列から、自動で計算できます(computed。日をまたぐ場合はovernight)。そのほかの式(合計・税込・率など)の列はありません。アプリで計算します。

列の権限と、行を作った人

行がある表の定義を変える

アプリと共有の表

ケースと番号

関連(親と子)と所属

上限

表ごとの上限は、表の定義の応答(GET /v2/tables/{collection})のlimitsで返ります。

変更の確認と、記録

v2の業務表、関連、ごみ箱

v2では、業務表、ケース、関連(表どうしの親子の関係)、transaction(複数の表のまとめての更新)、履歴、ごみ箱と復元の操作を提供します。パスとschemaは、APIリファレンスで、「業務表・ケース」または「関連・所属」を選んで確認します。通しの手順は、アプリの登録と運用にあります。

削除と、原本の物理的な削除は、同じ意味ではありません。ごみ箱、添付の解除、外部の原本の保持を、区別して扱います。

CSVとAIからの更新

現在の取込MCPは、登録されたデータの形式に対して、CSVの検査、差分の計画、確認の後の反映、照合、出力を行います。計画を作っただけでは、業務表に反映されません。詳しくは、MCPの導入にあります。