API(開発者向け)

テンプレート

10plateのすべてのテンプレートには、GET/POSTのAPIが用意されています。 API経由でデータを渡すことで、入力欄にデータが入った状態でテンプレートを表示することができます。

URLとモード

全てのテンプレートには、2つのURLが用意されています。
2つのURLのどちらを使うかによって、入力欄がある編集可能な状態で表示するか、編集ができない状態で表示するかを切り替えられます。

1. 編集可能モード

URL: https://10plate.io/t/[slug]

サンプルURL: https://10plate.io/t/BDrLdxrRJVW

通常の公開テンプレートのページです。 API経由で渡したデータで編集可能部分を書き換えた後、さらにユーザが自由に編集できる状態になります。

2. 編集不可モード

URL: https://10plate.io/d/t/[slug]

サンプルURL: https://10plate.io/d/t/BDrLdxrRJVW

テンプレート下の共有用URLと同じURLです。
/dをURLの間にはさむことで、テンプレート情報が隠され、追加編集できない状態でテンプレートが表示されます。エクセルや既存のシステムと連携させて、帳票印刷などの仕組みを作る時にお薦めです。

API仕様

データの渡しかた

パラメータ名は、波括弧の中に指定したラベルをそのまま指定します。

テンプレートがこうなら(→サンプルテンプレート

hello,{{foo}}
hello,{{bar}}
hello,{{baz}}

foo=hogehoge&bar=fugafuga&baz=piyopiyo

というデータを、テンプレートページのURLにGETまたはPOSTで渡すと、

hello,hogehoge
hello,fugafuga
hello,piyopiyo

とデータが反映された状態で表示されます。

サンプルURL:
編集可https://10plate.io/t/6GyY67kE9Wk?foo=hogehoge&bar=fugafuga&baz=piyopiyo
編集不可https://10plate.io/d/t/6GyY67kE9Wk?foo=hogehoge&bar=fugafuga&baz=piyopiyo

JSONでデータを渡す

jsonという変数名で、jsonデータを渡す方法もあります。

{"foo":"hogehoge","bar":"fugafuga","baz":"piyopiyo"}

をURLエンコードしたものをjsonというパラメータ名で渡すと、上のGET/POSTパラメータで渡した場合と同じ挙動になります。

サンプルURL:
編集可https://10plate.io/t/6GyY67kE9Wk?json=%7B%22foo%22%3A%22hogehoge%22%2C%22bar%22%3A%22fugafuga%22%2C%22baz%22%3A%22piyopiyo%22%7D
編集不可https://10plate.io/d/t/6GyY67kE9Wk?json=%7B%22foo%22%3A%22hogehoge%22%2C%22bar%22%3A%22fugafuga%22%2C%22baz%22%3A%22piyopiyo%22%7D

複数ページを一括生成する

JSONでデータを渡す場合、渡すデータを配列にすることで、複数ページを一気に生成できます。

例:渡すデータを

[
  {"foo":"hogehoge","bar":"fugafuga","baz":"piyopiyo"},
  {"foo":"ほげほげ","bar":"ふがふが","baz":"ぴよぴよ"}
]

としてこれをURLエンコードしてjsonというパラメータで渡すと、

hello,hogehoge
hello,fugafuga
hello,piyopiyo
------
hello,ほげほげ
hello,ふがふが
hello,ぴよぴよ

という2ページ分が表示されます。

サンプルURL:
編集可https://10plate.io/t/6GyY67kE9Wk?json=%5B%7B%22foo%22%3A%22hogehoge%22%2C%22bar%22%3A%22fugafuga%22%2C%22baz%22%3A%22piyopiyo%22%7D%2C%7B%22foo%22%3A%22%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92%22%2C%22bar%22%3A%22%E3%81%B5%E3%81%8C%E3%81%B5%E3%81%8C%22%2C%22baz%22%3A%22%E3%81%B4%E3%82%88%E3%81%B4%E3%82%88%22%7D%5D
編集不可https://10plate.io/d/t/6GyY67kE9Wk?json=%5B%7B%22foo%22%3A%22hogehoge%22%2C%22bar%22%3A%22fugafuga%22%2C%22baz%22%3A%22piyopiyo%22%7D%2C%7B%22foo%22%3A%22%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92%22%2C%22bar%22%3A%22%E3%81%B5%E3%81%8C%E3%81%B5%E3%81%8C%22%2C%22baz%22%3A%22%E3%81%B4%E3%82%88%E3%81%B4%E3%82%88%22%7D%5D

テンプレートmeta

テンプレートのメタ情報(主に入力欄のラベルなどのスキーマ情報)を取得するためのAPIです。 外部サービスと連携させる際、変数名やデータ形式が知りたい場合に便利です。

URL

https://10plate.io/t/[slug]/meta

出力内容

{
  "last_revision_no": [最新リビジョンの番号],
  "schema": [
    {
      "alt_label": "[代替ラベル]",
      "default_value": "[デフォルト値]",
      "label": "[フィールドのラベル]",
      "type": "[フィールドのタイプ]"
    },
    {
      "alt_label": "[代替ラベル]",
      "choices": [
        {
          "label": "[選択肢のラベル]",
          "value": "[選択肢の値]"
        },
        {
          "label": "[選択肢のラベル]",
          "value": "[選択肢の値]"
        }...
      ],
      "default_value": "[デフォルト値]",
      "label": "[フィールドのラベル]",
      "type": "[フィールドのタイプ]"
    }...
  ]
}

サンプル:
テンプレートhttps://10plate.io/t/g5eX7Vz106z
metahttps://10plate.io/t/g5eX7Vz106z/meta