API
DiMaker APIを利用することで、個人データを含むファイルを作成し、必要に応じて受信者に送信することができます。APIリクエストは他のサーバーやCORSリクエストを通じてブラウザから実行できます。
はじめに
「統合」セクションの「APIトークン」で、リクエスト用のセキュアトークンを取得し、このトークンの使用を許可する必要があります。その後、個人データの変数を含むドキュメントを作成し、メール配信用のテンプレートを設定し、生成されたファイルを保存するフォルダをDriveに作成してください。
ファイル作成
ファイルを作成するには、必要なデータをPOST-DATA、POST-、またはGETリクエストで以下のアドレスに送信してください:
https://dimaker.app/api/v1/create/
リクエストのエンコーディングはUTF-8です。必須フィールドにはアスタリスクが付いています。
-
secure*
トークン(36文字の文字列)
-
doc_id*
ファイル作成に使用するドキュメントのID(36文字の文字列)。ドキュメントを開いたときのURLバーからIDを取得できます。ドキュメントはゴミ箱には入れないでください。任意のドキュメントフォルダに保存可能です。
-
mask*
置換用の全変数を含む文字列。キー(変数)と値(置換するテキスト)として構成されます。一つのファイル用の場合:
[{"%name": "山田", "%スコア":"100"}]
複数ファイル用の例:
[{"%name": "山田", "%スコア":"100"}, {"%name": "田中", "%スコア":"200"}, {"%name": "鈴木", "%スコア":"300"}]Emailアドレスを指定する必要がある場合、%email変数を使用してください。また、ファイル名の指定は%filenameを使用します。複数のEmail宛先に送信する場合は、カンマで区切って指定してください。その場合、メール送信状況は最初のアドレスで表示されます。文字列にダブルクオートを使用することが必要で、エスケープが必要な場合はエスケープコードを追加します。
画像作成ブロックに画像を送信する場合、直接のURL(http://またはhttps://)またはBase64でエンコードされた画像のいずれかを使用してください。後者の場合、文字列は "data:image/"で始まる必要があります。
-
mail_id
Email送信用テンプレートのID(36文字の文字列)。テンプレートを開いているときにURLバーからIDを取得します。変数が送信されていない場合、メールは送信されません。
-
email_send
送信時間を設定します。以下の値を使用できます:
onfinish - 全ファイル作成後にメールを送信します(デフォルト)
oncreate - 各ファイル作成直後にメールを送信します。単一ファイルの場合、onfinishとoncreateは同じ意味になります。
timeout - 指定時間後にメールを送信します。その場合、以下の2つの追加パラメータも使用してください:
email_timeout_value - メール送信までの時間間隔(整数)
email_timeout_value - 時間間隔単位。"m"(分)、"h"(時)、"d"(日)から選択可能です。 -
folder_id
ファイルを保存するDrive上のフォルダID(36文字の文字列)。フォルダがない場合、最初のファイル作成時に自動作成されます。
-
page_id
ドキュメント内に複数ページが存在する場合、使用するページ番号(数値または文字列)。複数ページを使用する場合は、カンマで区切って指定してください。
-
result
結果の返却形式を指定します。以下の値が選択可能です:
未指定 - リクエスト結果の文字列を返します
link - 作成した初回ファイルへのリンク文字列を返します(複数ファイルの場合、最初のファイルのみ)。
ファイル作成には通常1〜5秒が必要です。作成完了前にリンクにアクセスすると404エラーが返されます。
file - 作成された初回ファイル自体を返します(複数ファイルの場合、最初のファイルのみ)。ただし、ファイル作成に30秒以上かかる場合には404エラーとなります。
結果
サーバーは以下の文字列形式で結果を返します:
-
result
リクエストの結果:
error - リクエストエラー。ファイルは作成されませんでした。
success - ファイル作成が成功しました。ユーザーに作成成功を通知したり、ファイル取得フォームを表示できます。 -
create_id
リクエスト成功時に返される生成ID。
-
files
作成されたファイルのIDを含む配列。成功した場合のみ返されます。各ファイルへのリンクには以下を使用します:
https://dimaker.app/getfile/{ID}/
PDF形式で取得するには、アドレスに pdf/ を追加してください。 -
url
ダウンロード用ウィジェットを表示するためのURL文字列。成功時のみ返されます。
作成が完了していない場合は警告メッセージが表示され、完了後にファイルがダウンロード可能になります。 -
error_text
エラー発生時のみ返されるエラーメッセージ。可能なエラー:無効なセキュアトークン、置換用マスク、ドキュメントID、メールテンプレートID、フォルダID、または内部サーバーエラー。
サンプル成功レスポンス:
{
"result":"success",
"create_id":"b4caf05b-6757-4d9c-b4bc-1924a9b31796",
"url":"https://embed.dimaker.app/widgets/get/927ebf68-2f55-4b20-a18c-c1171ee113db/b4caf05b-6757-4d9c-b4bc-1924a9b31796/",
"files":[
"369dc61e-40c2-46c0-81f4-e31ca8c33cc2",
"d94c6efb-0076-438b-bb84-fead9c1ae556",
"716e1081-c8ee-442b-b0b0-0681b2ed5d90"
]
}
1つのリクエストで複数ファイル作成
1つのリクエストで異なるドキュメントから複数のファイルを作成できます。例として、日本語と英語の両方のテンプレートを使用してファイルを生成することが考えられます。
doc_id変数を配列(doc_id[]という名前)として送信します。この場合、続く他の変数mail_id、email_send、folder_idも配列形式で送信可能です。他の設定が必要ない場合は、doc_idを配列化するだけで十分です。
ファイル作成後に自分に送信
ファイルが作成された直後に、アカウントのメールアドレスに送信されます。「メールテンプレート」フィールドで使用するテンプレートを選択できます。メールテンプレートで専用のテンプレートを事前に作成可能です。
ファイルの削除
不要なファイルを削除するには、以下のアドレスにPOST-DATA、POST-、またはGETリクエストを送信してください:
https://dimaker.app/api/v1/drive/files/delete/
リクエストのエンコードはUTF-8です。必須フィールドにはアスタリスクが付いています。
-
secure*
トークン(36文字の文字列)
-
file_id
削除対象のファイルID(36文字の文字列)。ファイルIDはAPI利用時に生成されたIDを指します。
または
-
file_ids
削除対象ファイルのIDを配列形式で指定します。
または
-
creater_id
APIを使用して生成されたファイルの生成ID。
delete_forever
ファイルを完全削除するか(デフォルトではゴミ箱に移動)。以下の値が使用可能です:
- 0 - ゴミ箱へ移動(デフォルト)
- 1 - 完全削除
正しい削除リクエスト例:
{
"secure":"b4caf05b-6757-4d9c-b4bc-1924a9b31796",
"file_id":"369dc61e-40c2-46c0-81f4-e31ca8c33cc2"
}
削除後の結果
サーバーは以下の文字列形式で結果を返します:
-
result
リクエストの結果:
error - リクエストエラー。ファイルは削除されませんでした。
success - ファイル削除が成功しました。 -
files
削除されたファイルのIDを含む配列。成功した場合のみ返されます。
-
error_text
エラー発生時のみ返されるエラーメッセージ。
成功した削除リクエスト例:
{
"result":"success",
"files":["369dc61e-40c2-46c0-81f4-e31ca8c33cc2"]
}