- 開発
- CMS Developer Docs
- インテグレーションAPI を使って外部フォームの送信データで CMS のアイテムを更新する
インテグレーションAPI を使って外部フォームの送信データで CMS のアイテムを更新する
更新日
インテグレーションAPI を使うと、データの更新や削除など、パブリックAPI と比較して複雑な操作が可能です。登録情報の変更フォームなど、HTML フォームから送信されたデータで Re:Earth CMS の既存アイテムを更新する方法を説明します。
サンプルコード
Section titled “サンプルコード”以下は、更新フォームのサンプルコードです。アイテム ID、名前、コメントを送信して、指定したアイテムを更新します。WORKSPACE_ID などの値や、fields の key(フィールドキー)は、自分のモデルの設定に応じて変えてください。
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8" /> <title>Edit your info</title> </head> <body> <form id="contact-form"> <label>ID<br /><input type="text" name="itemId" required /></label><br /> <label>name<br /><input type="text" name="name" required /></label><br /> <label >message<br /><textarea name="comment" required></textarea></label ><br /> <button type="submit">Submit</button> </form>
<script> const WORKSPACE_ID = "<workspace_id_or_alias>"; const PROJECT_ID = "<project_id_or_alias>"; const MODEL_ID = "<model_id_or_key>"; const TOKEN = "<your_integration_token>";
document .getElementById("contact-form") .addEventListener("submit", async (e) => { e.preventDefault();
const formData = new FormData(e.target); const itemId = formData.get("itemId");
const url = `https://api.cms.reearth.io/api/${WORKSPACE_ID}/projects/${PROJECT_ID}/models/${MODEL_ID}/items/${itemId}`;
const body = { fields: [ { key: "name", type: "text", value: formData.get("name") }, { key: "comment", type: "textArea", value: formData.get("comment"), }, ], };
const resp = await fetch(url, { method: "PATCH", headers: { Authorization: `Bearer ${TOKEN}`, "Content-Type": "application/json", Accept: "application/json", }, body: JSON.stringify(body), });
if (!resp.ok) { const text = await resp.text(); throw new Error(`HTTP ${resp.status}: ${text}`); }
alert("Update complete."); }); </script> </body></html>フォームに入力して送信すると、インテグレーションAPI 経由でアイテムが更新されます。

CMS の Content 画面を確認すると、更新した内容がアイテムに反映されています。

エンドポイントの詳細な仕様については、インテグレーションAPIリファレンス を参照してください。