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
meta:https://10plate.io/t/g5eX7Vz106z/meta