API

ドキュメントは機械学習を利用して自動翻訳されています。

DiMaker の API を使って、個人情報を含むファイルを作成し、必要に応じて受信者に提供できます。API へのリクエストは、別のサーバーまたは CORS リクエストを介してブラウザから行うことが可能です。

初めに

「インテグレーション」 - 「API トークン」セクションで、リクエストに必要なセキュアトークンを取得し、そのトークンの使用を許可します。また、個人情報用の変数を含む文書を作成し、メール配信用のテンプレートと出力ファイルの保存に使用するディスクのフォルダを準備します。

ファイルの作成

ファイルを作成するには、以下のデータを指定して POST-DATA、POST-JSON、または GET リクエストをアドレスに送信します:
https://dimaker.app/api/v1/create/
リクエストの文字コードは UTF-8 です。必須フィールドはアスタリスクで表示されています。

  • secure*

    トークン(文字列、36文字)

  • doc_id*

    ファイル作成に使用される文書の ID(文字列、36文字)。ID は文書が開かれているときにアドレスバーから取得できます。文書はゴミ箱に入っていてはいけませんが、どのフォルダ内にあっても構いません。

  • mask*

    変数(キー)と置換用の値(テキスト)を含む置換用 JSON 文字列。このフィールドは、複数ファイル用のデータを含むこともできます。例:
    [{"%name": "田中", "%バッジ":"100"}]
    複数ファイル例:
    [{"%name": "田中", "%バッジ":"100"}, {"%name": "佐藤", "%バッジ":"200"}]
    メールアドレスには %email を、ファイル名には %filename を使用します。複数のメールアドレス宛にファイルを送信する場合は、カンマで区切って指定します。

    画像用のリンク (http:// または https://) または Base64 でエンコードされた画像を使用できます。後者の場合、"data:image/" で始まる文字列です。

  • mail_id

    ID が指定された場合にのみメールで送信され、指定がない場合は送信されません。

  • email_send

    ファイル送信のタイミング:
    onfinish - すべてのファイル作成後にメールを一斉送信 (デフォルト)
    oncreate - ファイル作成後すぐにメール送信。
    timeout - 指定した遅延時間後にメールを送信します。この場合、以下のパラメータも指定する必要があります:
    email_timeout_value - 送信までの遅延時間 (整数)
    email_timeout_unit - 遅延時間の単位。選択肢は "m"(分)、"h"(時間)、"d"(日)です。
    送信する正確な時間を unix time フォーマットで指定するには email_timeout_timestamp を使用します。email_timeout_value と email_timeout_timestamp が指定されている場合、後者が優先されます。

  • folder_id

    ファイル保存用フォルダの ID。フォルダが存在しない場合、最初のファイル作成時に自動生成されます。

  • storage_period

    ファイル保存期間を指定します。指定がない場合、手動削除するまでファイルは保存され続けます。削除するタイミングを指定するには、timeout 値を使用します。この場合、さらに次の2つのパラメータを指定します:
    storage_period_timeout_value - 削除までの遅延時間 (整数)
    storage_period_timeout_unit - 遅延時間の単位。m (分), h (時間), "d" (日)。
    正確な削除時間を unix time フォーマットで指定するには、storage_period_timeout_timestamp を使用します。storage_period_timeout_value と storage_period_timeout_timestamp が指定されている場合には、後者が優先されます。

  • page_id

    複数のページがある場合、ドキュメント内で使用するページ番号を指定します。最初のページは 0 から始まります。カンマ区切りで番号を指定することで、複数ページを作成に使用できます。

  • result

    結果をどの形式で返すかを指定します:

    • 未指定 - リクエスト結果の JSON 文字列が返されます。
    • link - 成功した場合、最初に作成したファイルへのリンクを含む文字列が返されます。他のファイルを作成した場合、最初のファイルのリンクが提供されます。作成ファイルの実際の準備には1-5秒かかるため、リクエストが成功する前にリンクにアクセスすると 404 エラーが返される可能性があります。ファイルが作成されなかった場合は、エラーを含む JSON 文字列が返されます。
    • file - 成功した場合、作成されたファイルそのもののコンテンツが返されます。大量のリクエストが同時に送信された場合、作成時間が増加する可能性があります。

結果

サーバーはリクエストに対する結果として、次のいずれかの JSON 文字列を返します:

  • result

    リクエスト結果:
    エラーの場合:error - ファイルは作成されていません。
    成功した場合:success - ファイルが正常に作成されました。API の使用シナリオに応じて、ファイル作成の成功を知らせるか、受信フォームを表示することができます。

  • create_id

    リクエストが正常に完了した場合の生成 ID。他の API リクエストで使用できる場合があります。

  • files

    作成されたファイルの ID を含む配列。成功した場合にのみ返され、ファイルを JPG 形式で取得するには https://dimaker.app/getfile/{ID}/ へアクセスが必要です。PDF ファイルをダウンロードするには、アドレスに pdf/ を追加してください。

  • url

    ダウンロードウィジェット表示のための URL。成功した場合にのみ返され、指定された URL を用いて Iframe を作成します。URL への直接アクセスだけでは結果は示されません。
    指定ドメイン名が API 設定で正しく構成されている必要があります。

  • error_text

    エラー時にのみ提供されるエラー説明。可能なエラー:不正な Secure トークン、置換用マスク、文書 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"
]
}

一括ファイル作成リクエスト

一つのリクエストで異なる文書から複数のファイルを作成できます。例えば、ロシア語と英語のテンプレートを使用して、複数ファイルを生成することが可能です。

このリクエストを送信するには、変数 doc_id を配列(変数名は doc_id[])として送信してください。これにより、複数のファイル作成に doc_id[] 配列変数を利用します。他の変数(mail_id、email_send、folder_id など)も配列で送信可能で、特定のテンプレート、タイミング、フォルダに保存されます。必要ない場合は、doc_id のみ配列にすれば対応可能。

例えば、異なる文書からファイルを作成し、異なるフォルダに保存する場合、二つの doc_id[] 変数と対応する二つの folder_id[] 変数を送信します。同じメールで送信する場合は、mail_id を一つ指定し、email_send[] には“manual”、次に“oncreate”と指定します。この場合、ファイル作成が完了した時点で一斉送信されます。

作成後にファイルを自身に送信

ファイルは作成完了後すぐにアカウントのメールアドレスに送信されます。使用するテンプレートは「メールテンプレート」から選択可能です。必要に応じて「メールテンプレートでの送信」で新しいメールテンプレートを事前に作成できます。

ファイルの削除

ファイル削除のために、以下のデータで POST-DATA、POST-JSON、または GET リクエストを以下のアドレスに送信します:
https://dimaker.app/api/v1/drive/files/delete/
リクエストの文字コードは UTF-8 です。必須フィールドはアスタリスクで表示されています。

  • secure*

    トークン(文字列、36文字)

  • file_id

    削除するファイル ID。API によって生成された files 配列から取得できます。

    または

  • file_ids

    削除するファイル ID の配列。複数ファイルを一度に削除する場合に使用。

    または

  • creater_id

    API を通して生成された場合の生成 ID。file_id や file_ids の代わりに生成 ID を指定することができます。この場合、生成 ID に関連するすべてのファイルが削除されます。

    delete_forever

    ファイルを完全に削除するかどうか。デフォルトではファイルはゴミ箱に移動されます。

    • 0 - ゴミ箱へ移動 (デフォルト)
    • 1 - 完全削除

    ゴミ箱内のファイルは、移動後60日後に自動的に削除されます。

ファイル削除リクエストの正しい例:
{
"secure":"b4caf05b-6757-4d9c-b4bc-1924a9b31796",
"file_id":"369dc61e-40c2-46c0-81f4-e31ca8c33cc2"
}

結果

サーバーは次のいずれかの JSON 文字列を返します:

  • result

    リクエスト結果:
    エラーの場合:error - ファイルは削除されませんでした。
    成功した場合:success - ファイルの削除が正常に完了しました。

  • files

    削除されたファイル ID を含む配列。成功した場合にのみ返されます。

  • error_text

    エラー時にのみ提供されるエラー説明。可能性のあるエラー:不正なSecureトークン、ファイルID、生成ID、またはサーバ内部エラー。

成功したリクエスト時の戻り例:
{
"result":"success",
"files":["369dc61e-40c2-46c0-81f4-e31ca8c33cc2"]
}


その他の連携

準備はできましたか?

開く ウェブアプリを開く