コンテンツにスキップ
commentor API
Esc
↑↓移動↵開く⌘Jプレビュー

本文を差し替える・版を追加する

取り込み用トークンで作った文書の本文を変える。mode で 2 通りに分かれる。

  • replace(省略時): 最新の版の本文を差し替える。コメントはそのまま残る。
  • add-version: 新しい版を足す。前の版とそのコメントは残り、画面で版を切り替えられる。

ほかの人の書き込みと食い違わないよう、直前に読んだ最新の版の ID を expectedVersionId で送る(add-version では必須)。

POST/api/reviews/{reviewId}/import-html
Authorization
AuthorizationBearer token · headerrequired

取り込み用トークン。文書を上げる、版を追加する、文書の一覧と中身を読むのに使う。

or
AuthorizationBearer token · headerrequired

本人用の個人トークン。発行時に選んだ範囲の操作を、本人の名義で行う。読み取りと本人のトークン操作は、範囲を問わず使える。

Path parameters
reviewIdstringrequired

文書の ID。文書の URL /reviews/<reviewId> の末尾と同じ。

Request body
requiredmultipart/form-data
htmlstring<binary>required

HTML のファイル(25 MiB まで)。

modestring
default: "replace"
Allowed:replaceadd-version
expectedVersionIdstring

直前に読んだ最新の版の ID。add-version では必須。

expectedSourceHashstring

直前に読んだ最新の版の本文のハッシュ(sha256: で始まる)。

versionIdstring

add-version で足す版の ID(必須)。同じ ID と同じ本文を送り直すと、同じ結果を返す。

matches ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
labelstring

add-version で足す版の表示名。

tagstring[]

add-version で足すタグ。

Responses
200

変えた。

reviewReview

文書とコメントの全体。ここに挙げた項目のほかにも、画面が使う項目が入る。

Show properties
reviewIdstring
titlestring
commentsRevisioninteger

コメントが書き換わるたびに 1 増える番号。書き込みで baseCommentsRevision として送る。

structureRevisioninteger
commentsComment[]
Show properties
Array of Comment
idstring
authorUser

書いた人。エージェント用トークンで書いたものは、トークンの持ち主の名義になる。

Show properties
idstring
providerstring
displayNamestring
categorystring

コメントの種類。note はメモ、revise は書き換えの提案、add は追記、delete は削除の提案、needs_review は確認、consult は相談。none は分類の無い旧いデータで、画面ではメモとして出す。

Allowed:notereviseadddeleteneeds_reviewconsultnone
statusstring

open は未解決、closed は解決済み。

Allowed:openclosed
bodystring
anchorobject

画面でコメントを表示する位置。書き込むときは anchor でなく Locator を送る。

threadThreadMessage[]
Show properties
Array of ThreadMessage
idstring
authorUser

書いた人。エージェント用トークンで書いたものは、トークンの持ち主の名義になる。

bodystring
createdTsstring<date-time>
statusEventsStatusEvent[]
Show properties
Array of StatusEvent
seqinteger
statusstring
Allowed:openclosed
byUser

書いた人。エージェント用トークンで書いたものは、トークンの持ち主の名義になる。

tsstring<date-time>
versionIdstring

コメントを付けた文書の版。

createdTsstring<date-time>
editedTsstring<date-time>
deletedTsstring<date-time>

削除されたコメントにだけ付く。画面には出ない。

aiReviewRunsRun[]
Show properties
Array of Run
idstring
kindstring
Allowed:ai_reviewvoice
statusstring
Allowed:runningcompletedfailedcancelled
titlestring
versionIdstring
commentIdsstring[]
summarystring
createdTsstring<date-time>
completedTsstring<date-time>
createdAtstring<date-time>
sourceobject

本文の出どころと版。

Show properties
versionsobject[]

版の一覧。古い順で、最後が最新の版。

Show properties
Array of object
versionIdstring
labelstring
createdAtinteger

版を作った時刻(UNIX 時間のミリ秒)。

sourceHashstring
_projectProjectLink

この文書に案件の結び付けがあるときだけ付く。

Show properties
codestringrequired
namestring | nullrequired
companystring | nullrequired
statusstringrequired
Allowed:activeinactive
inSnapshotbooleanrequired
rolestring | nullrequired

要求した本人の案件の役割。

Allowed:managereditorviewernull
versionobject

add-version のときだけ。足した版。

Show properties
versionIdstring
labelstring
createdAtstring<date-time>
sourceHashstring
locationstring
400

mode の値が違う、add-version に versionId か expectedVersionId が無い(versionId required・expectedVersionId required)、versionId の形が違う(versionId invalid)、タグの形が違う(invalid_tags)。

errorstringrequired

エラーの種類を表す短いコード。対処を分けるときはこの値を見る。

statusintegerrequired

HTTP ステータスと同じ値。

currentRevisioninteger

409 comments revision conflict のとき、文書の今の commentsRevision。

latestVersionIdstring

409 stale_target_version のとき、文書の最新版の ID。

401

トークンが無いか、この文書を読む権限が無い。

errorstringrequired

エラーの種類を表す短いコード。対処を分けるときはこの値を見る。

statusintegerrequired

HTTP ステータスと同じ値。

currentRevisioninteger

409 comments revision conflict のとき、文書の今の commentsRevision。

latestVersionIdstring

409 stale_target_version のとき、文書の最新版の ID。

403

この文書の本文を変えられない。取り込み用トークンで作った文書だけを変えられる。

errorstringrequired

エラーの種類を表す短いコード。対処を分けるときはこの値を見る。

statusintegerrequired

HTTP ステータスと同じ値。

currentRevisioninteger

409 comments revision conflict のとき、文書の今の commentsRevision。

latestVersionIdstring

409 stale_target_version のとき、文書の最新版の ID。

404

文書が無い(review not found)。

errorstringrequired

エラーの種類を表す短いコード。対処を分けるときはこの値を見る。

statusintegerrequired

HTTP ステータスと同じ値。

currentRevisioninteger

409 comments revision conflict のとき、文書の今の commentsRevision。

latestVersionIdstring

409 stale_target_version のとき、文書の最新版の ID。

409

stale_expected_version・stale_expected_source_hash: 送った版が最新でない。応答の latestVersionId で読み直して送り直す。version_id_conflict: 同じ versionId で別の本文を送った。ID を変える。

errorstringrequired

エラーの種類を表す短いコード。対処を分けるときはこの値を見る。

statusintegerrequired

HTTP ステータスと同じ値。

currentRevisioninteger

409 comments revision conflict のとき、文書の今の commentsRevision。

latestVersionIdstring

409 stale_target_version のとき、文書の最新版の ID。

413

HTML が大きすぎる(html too large)。

errorstringrequired

エラーの種類を表す短いコード。対処を分けるときはこの値を見る。

statusintegerrequired

HTTP ステータスと同じ値。

currentRevisioninteger

409 comments revision conflict のとき、文書の今の commentsRevision。

latestVersionIdstring

409 stale_target_version のとき、文書の最新版の ID。

Request
curl -X POST 'https://comment-review.fsmarketing.workers.dev/api/reviews/review_example01/import-html' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  --form-string 'html=string' \
  --form-string 'mode=replace' \
  --form-string 'expectedVersionId=string' \
  --form-string 'expectedSourceHash=string' \
  --form-string 'versionId=string' \
  --form-string 'label=string' \
  --form-string 'tag=string'
Response
{
  "review": {
    "reviewId": "string",
    "title": "string",
    "commentsRevision": 0,
    "structureRevision": 0,
    "comments": [
      {
        "id": "string",
        "author": {
          "id": "string",
          "provider": "string",
          "displayName": "string"
        },
        "category": "note",
        "status": "open",
        "body": "string",
        "anchor": {},
        "thread": [
          {
            "id": "string",
            "author": {
              "id": "string",
              "provider": "string",
              "displayName": "string"
            },
            "body": "string",
            "createdTs": "2019-08-24T14:15:22Z"
          }
        ],
        "statusEvents": [
          {
            "seq": 0,
            "status": "open",
            "by": {
              "id": "string",
              "provider": "string",
              "displayName": "string"
            },
            "ts": "2019-08-24T14:15:22Z"
          }
        ],
        "versionId": "string",
        "createdTs": "2019-08-24T14:15:22Z",
        "editedTs": "2019-08-24T14:15:22Z",
        "deletedTs": "2019-08-24T14:15:22Z"
      }
    ],
    "aiReviewRuns": [
      {
        "id": "string",
        "kind": "ai_review",
        "status": "running",
        "title": "string",
        "versionId": "string",
        "commentIds": [
          "string"
        ],
        "summary": "string",
        "createdTs": "2019-08-24T14:15:22Z",
        "completedTs": "2019-08-24T14:15:22Z"
      }
    ],
    "createdAt": "2019-08-24T14:15:22Z",
    "source": {
      "versions": [
        {
          "versionId": "string",
          "label": "string",
          "createdAt": 0,
          "sourceHash": "string"
        }
      ]
    },
    "_project": {
      "code": "EX-AA",
      "name": "string",
      "company": "string",
      "status": "active",
      "inSnapshot": true,
      "role": "manager"
    }
  },
  "version": {
    "versionId": "string",
    "label": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "sourceHash": "string"
  },
  "location": "string"
}