クラウド型電子署名サービスCMサインAPIについて

CMサインは日本法のみならず欧米法に準拠した電子署名サービスです。
APIではプラットフォームで利用できる機能を全てインテグレートすることが可能です。
下記にもございますが、実装ガイドを合わせてご覧になることを推奨いたします。 英語のAPI仕様書はこちら

フルカスタマイズのスワッガー情報はこちら

 

署名依頼画面のドラッグ&ドロップ機能を弊社インターフェイスで利用する場合

Field(フィールド)箇所のAPI呼び出しの際に tagを使用せず、prepareを使用することで、弊社インターフェイスを利用することが可能です。


弊社インターフェイスを利用する場合は、
こちら7.署名依頼作成画面の 3) フィールドをご覧ください。

 

署名依頼画面を弊社インターフェイスを利用する場合のスワッガー情報はこちら

1. Introduction/はじめに
CM Sign offers the ability to have end users sign PDF documents online. You can use the CM webapplication or, if you want an integration with your own systems,request access to our API.
Before starting integration of CM Sign into your services, we advise you to read our implementation guide. This guide can be used for a step-by-step implementation of CM Sign.

Download: implementation guide (PDF)

For a full API specification with parameter formats, a Swagger specification is available.

CMサインは、エンドユーザーにオンラインでPDFドキュメントに署名させる機能を提供します。 CMの管理画面上での Webアプリケーションでの使用もでき、独自のシステムとの統合が必要な場合は、APIへのアクセスをリクエストもできます。

CMサインインをサービスに統合する前に、実装ガイドを読むことをお勧めします。このガイドは、CMサインの段階的な実装に使用できます。

実装ガイド:https://www.cmtelecom.jp/sign-api-guide/

パラメータ形式の完全なAPI仕様については、Swagger仕様を利用できます。

2. Service description/サービス詳細

1) Dossiers/書類

A dossier is a collection of information related to the signing process of a document. Dossiers consist of:

  • Documents (files): the PDF documents to be signed

  • Invitees: the persons who have to sign or review the dossier

  • Owners (optional): the contact person, who will be informed about status updates of the dossier. If set, the owner’s name will be used in communication to the invitees, otherwise the organisation name is used instead.

A dossier automatically expires after 30 days by default, this can be customised when creating the dossier (up to 90 days).

Dossier とは、署名する書類に含まれる様々な情報を指します。Dossierは以下の情報で構成されています:

  • 書類(ファイル): 署名が必要なPDF形式の書類

  • 招待される人: 書類をレビューもしくは署名をする人

  • オーナー (オプション): dossierのステータス(署名の進捗など)についての通知を受ける人。オーナーの名前は招待される人へのコミュニケーション上(署名依頼メールなど)で使われます。設定されなければ、企業名が使われます。

Dossierはデフォルトで30日で有効期限が切れます。有効期限はカスタマイズでき、最大90日まで設定することができます。

2) Invitees/招待される人(署名者)

Invitees are persons asked to sign a specific dossier. An invitee has:

  • Fields: locations within a PDF document for information to be added

  • Name (optional): the name that will be used in communication to address the invitee

  • Email (optional): the email address that will be used to notify the invitee about this dossier and send the signed document

  • Reference (optional): allows the invitee it to be linked to an ID known within your organisation

招待される人(署名者)は特定の書類への署名を依頼された人のことを指します。

  • Fields: PDFに設置された情報入力欄

  • Name (optional): 招待される人(署名者)に連絡する際に使われる名前

  • Email (optional): 招待される人(署名者)に署名依頼の通知や署名済みの書類を送付するためのメールアドレス

  • Reference (optional): 招待される人(署名者)を貴社情報と紐付けるためのID

3) Fields/フィールド

  • Fields are locations within a PDF document where information will be added. Fields belong to a specific file and invitee and have parameters to configure its position(s) in the document.

    フィールドとはPDF書類上に情報を追加する位置です。フィールドは特定のファイルと招待する人に属し、それぞれにポジションをコンフィギュするためのパラメーターがあります。

    The following field types are supported:

    • signature: the invitee is asked for a signature

    • signatureDate: the date the invitee signed the document, automatically determined

    • initials: the invitee is asked for its initials. Initials can be specified for a page range and the invitee has to confirm its initials each page.

    • text: a text field that can be filled in by the invitee

    • label: a text field that contains a predefined text which cannot be modified

    • stamp: the invitee is asked for its stamp/seal (hanko), mostly used in Asia

     

     

    以下のフィールドがサポートされています。

    • signature: 招待された人が署名する欄

    • signatureDate: 招待された人が署名した日付, 署名した日に自動的で反映されます。

    • initials: 招待された人のイニシャル. 署名は全てのページ、もしくは指定したページに欄を設置できます。招待された人は各ページでイニシャルの入力の確認画面が表示されます。

    • text: 招待された人が自由にテキストを入力する欄

    • label: テキストの内容が指定された欄

    • stamp: 主にアジアで使用される、招待された人が押すスタンプ(判子)の欄

4) Invites/招待状

  • An invite is a unique URL for each invitee to view the dossier. CM Sign can email these invites to the invitees or you can distribute the URL yourself, for example by redirecting or sending customised emails yourself.

    An invite can have a custom expiration time, specified during creation. Creating multiple invites for an invitee is possible and this might be required if an invite expires before the invitee signed the document.

    招待状は書類へのアクセスに招待する人に与えられる個別のURLです。CMサインではメールで招待状を招待する人に送ることができます。もしくは、URLを自身に一度配布してから、カスタマイズした独自のメールで送ることも可能です。(その場合にはメール本文・送信者アドレスなどの全てのカスタマイズが可能です)

    招待状には有効期限を設定できます。招待した人が有効期限内に署名をしなかった場合、招待した人に対して複数の招待状を発行することができます。

3. Environments/環境

  • CM Sign provides two environments:

    • Sandbox: https://api.sandbox.cmdisp.com/sign/v1/

    • Production: https://api.cmdisp.com/sign/v1/

    The sandbox environment is ideally suited to do your initial experimentation with. Unlike the production environment, it doesn’t add a cryptographic signature to the document and you will not be billed for using the sandbox environment.

    Please note that the credentials for sandbox and production environment are different.

    CMサインは下記の環境を提供します。

    • Sandbox: https://api.sandbox.cmdisp.com/sign/v1/

    • Production: https://api.cmdisp.com/sign/v1/

    サンドボックスは試験用の環境です。プロダクション環境と異なり、書類に署名させることはできません。また、利用することで料金が発生することもありません。

    サンドボックスとプロダクションで利用するクレデンシャルは異なります。

4. Getting started/始め方

  • The steps for using the service are roughly:

    1. Upload one or more PDF document(s) that needs to be signed

    2. Create a dossier which references this document. A dossier includes information about the end users who need to sign the document, as well as the location within the PDF document(s) where they need to place their signature and initials.

    3. Create an invite for each invitee to sign/review the document

    4. The end user is directed to the invite URL, for example per email

    5. The end user is presented a web interface where he can read and sign/review the document

    6. The dossier owner is notified of the completion of the dossier

    7. The dossier owner downloads the signed document and audit report

    下記がサービスの大まかな流れです:

    1. 署名が必要なPDFドキュメントを1つ以上アップロードする

    2. ドキュメントを参照してdossierを作成する。Dossierには署名対象のエンドユーザー、PDF内で署名やイニシャルを入力する位置などの情報が含まれます。

    3. 署名する対象、書類を確認する対象へ送る招待状を作成する

    4. エンドユーザーは招待URLへ誘導される。(例えばメールで)

    5. エンドユーザーはウェブインターフェイスから署名、もしくは書類の確認ができる。

    6. dossier管理者は署名が完了したら通知を受け取る

    7. dossier管理者は署名された書類とオーディットレポートをダウンロードする

5. Authentication/認証

  • Before you can start using the API, you need API credentials. These consist of a Key and a Key ID and can be obtained by registering for CM Sign. This will grant you access to the sandbox environment.

    The credentials provided by CM are confidential and should be kept secret.

    In order to authenticate you need to use your credentials to generate a JWT Bearer token. The JWT token has to be generated using the HS256 algorithm and your credentials. This JWT has to contain the following attributes: iat, nbf, exp in the payload, as well as the attribute kid in the header of the JWT. This kid attribute needs to contain the Key ID of your credentials.

    The generated token needs to be passed via the HTTP Authorization header like:

    Authorization: Bearer GENERATED_TOKEN_HERE

    There are many libraries available for different programming languages that can help you to generate a JWT. See the Libraries tab on https://jwt.io

    APIを利用する前にAPIクレデンシャルが必要です。これにはCM Signを利用するためのKeyとKey IDが含まれ、CM.com経由で登録することで得られます。これがあることでsandboxへのアクセスが許可されます。

    CM.comから提供されたクレデンシャルは機密情報です。取り扱いにはご留意下さい。

    認証を行うためにはクレデンシャルを使ってJWT Brearerトークンを作成する必要があります。JWT TokenHS256 アルゴリズムとクレデンシャルを用いて作成してください。このJWTは次の属性を含む必要があります。ペイロードにiat, nbf, exp 、JWTヘッダーにkid 。この kid 属性にはあなたのクレデンシャルのKey IDを含む必要があります。

    作成されたトークンは次のようなHTTP認証ヘッダー経由でパスされる必要があります。:

    Authorization: Bearer GENERATED_TOKEN_HERE

    これは様々なプログラミング言語でJWTを作成する時に役立ちます。https://jwt.ioのLIbrariesタブをご参照ください。

    Example/例

    Assuming we want to create a token that is valid for 60 seconds and we have received the following credentials:

    60秒間有効なトークンを作成し、以下のクレデンシャルを受け取ります:

    Key ID: 3b438437-04a4-40bb-8389-54bb02766fba Secret: AC4Etykn7jusGR5FwLDAtILtQbiQbTMKedP31szXg4WlSbjGEXyNMZ

    We need to create a JWT with the following properties:

    JWTを下記を利用して作成する必要があります:

    JWT header:

    {

      “alg”: “HS256”,

      “typ”: “JWT”,

      “kid”: “3b438437-04a4-40bb-8389-54bb02766fba”

    }

    JWT payload:

    {

      “iat”: 1546300800,

      “nbf”: 1546300800,

      “exp”: 1546300860

    }

    iat: the time at which the token is generated nbf: the time after which the token is valid exp: the time after which the token will expire

    Make sure these are UNIX timestamps in seconds

    This results in the following token:

    iat: トークンが作成された時間、nbf: トークンが有効になった後の時間、exp: トークンの有効期限

    これらは秒単位のUNIXのタイムスタンプであることを確認してください。

    下記のようなトークンとなります:

    eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjNiNDM4NDM3LTA0YTQtNDBiYi04Mzg5LTU0YmIwMjc2NmZiYSJ9.eyJpYXQiOjE1NDYzMDA4MDAsIm5iZiI6MTU0NjMwMDgwMCwiZXhwIjoxNTQ2MzAwODYwfQ.bwqCUHS1d5d8guAPHDsdd9-a8oXxH1q45O0tDP1asTo

    Add this token to the Authorization header in the API request.

    APIリクエストのAuthorization ヘッダーにこのトークンを追加してください。

    Authorization: Bearer GENERATED_TOKEN_HERE

    The https://jwt.io website provides a way to inspect or validate a token.

    https://jwt.ioがトークンの調査もしくは認証方法を提供してします

6. Upload a document/書類のアップロード

Every dossier is started with at least one file, the first step is to upload your PDF.

すべての書類は最低1つのファイルから作成されます。最初のステップはPDFファイルをアップロードすることです。

Request/リクエスト

POST https://api.cmdisp.com/sign/v1/upload

Request headers/リクエストヘッダー

Content-Type: multipart/form-data

Authorization: Bearer GENERATED_TOKEN_HERE


Example/例

curl -X POST \

  https://api.cmdisp.com/sign/v1/upload \

  -H ‘Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjNiNDM4NDM3LTA0YTQtNDBiYi04Mzg5LTU0YmIwMjc2NmZiYSJ9.eyJpYXQiOjE1NDYzMDA4MDAsIm5iZiI6MTU0NjMwMDgwMCwiZXhwIjoxNTQ2MzAwODYwfQ.bwqCUHS1d5d8guAPHDsdd9-a8oXxH1q45O0tDP1asTo’ \

  -H ‘content-type: multipart/form-data; boundary=—-WebKitFormBoundary7MA4YWxkTrZu0gW’ \

  -F ‘file=@/tmp/Document.pdf’

This is a multipart/form-data request where the file parameter is the key for the file to be uploaded.

これは file パラメーターがアップロードのキーとなる multipart/form-data リクエストです。

Response/レスポンス

{

    “id”: “3fa4ddab-56a4-48bb-9072-8a61b422ea82”,

    “name”: “Document”,

    “hash”: “e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855”,

    “contentType”: “application/pdf”,

    “derivativeOf”: null,

    “uploadDateTime”: “2019-01-01T00:00:00+00:00”

}

The result of this request is a JSON response containing a description of the file as registered within CM Sign. The most important attribute in this response is the id. This id is the unique identifier for this file to be passed along when creating the actual dossier.

このリクエストの結果はJSONレスポンスで、CMサインで登録されたファイル情報を含みます。このレスポンスで最も重要な属性はidです。id はファイルを元にdossierを作成する際の識別記号となります。

7. Create a dossier/署名依頼作成画面

A dossier is the primary container for all information regarding the documents to be signed. It contains the file(s) to be signed, the invitees who will be invited to view and sign or review the document.

dossierとは署名が必要な書類の一時的なコンテナです。ここには署名が必要な書類、署名をするため、もしくは書類をレビューするために招待された人の書類が含まれます。

1) Owners/オーナー(管理者)

Owners receive status updates about the dossier, for example when a dossier has been signed by one of the invitees, and receive the audit report when the dossier has been completed. Owners are optional and multiple owners can be specified.

オーナーはdossierのステータスアップデート(通知)を受信します。例えば、dossierが誰かに署名された時の通知、署名完了した時のオーディットレポートを受信します。オーナーはオプションです。また、オーナーを複数名設定することも可能です。

2) Invitees/招待される人(署名者)

To define a sign order, set the position attribute on an invitee. For example, if there are two invitees, set position 1 for the first invitee and position 2 for the second invitee. It is possible to set multiple invitees on the same position.

Make sure the positions are consecutive and there is no gap between them.

Sometimes you want a dossier to be reviewed and approved (without signing it) by someone before the you can sign the document. You can set readOnly to true on invitee that needs to review the document.

署名の順序を決定するために、署名者にposition をあてがいます。例えば、2名署名する人がいる場合は、1番目に署名する人をposition 1 とし、2番目に署名する人をset position 2 とします。また同じ番号を複数名につけることも可能です。

ポジション番号は連番である必要があります。番号に抜けがないようにしてください。

また、署名は不要だが書類の確認(レビュー)が必要な時は readOnlytrueにして招待される人を設定します。

3) Fields/フィールド

For each field, you have to pass the id of the file on which the field will be placed. With the unit point, the locations of fields are determined using 72 DPI. The coordinates are from top-left to bottom-right. Next to supplying locations, the location can also be automatically determined based on a tag. The tag acts as a placeholder; the range and location of the field will be determined based on the location(s) of the tag in the document. In case of initials, add the tag to every page the field should be added to. The tag should be hidden, for example by making it white.

各フィールドには各ファイルのidを適用させなければなりません。フィールドは71DPIの環境下でpoint単位で決められます。配置はtop-left、bottom-rightです。また、位置は  tagで自動認識させることもできます。タグはプレースホルダーとして機能します;範囲と位置は書類内のタグで決定されます。イニシャルの場合は必要な全てのページにタグをつけている必要があります。タグは色を白にして見えないようにする必要があります。

★署名依頼画面:弊社ドラッグ&ドロップインターフェイスを利用する場合

API呼び出しの際に tagを使用せず、prepareを使用することで、弊社のドラッグ&ドロップインターフェイスを利用することが可能です。

Boxes piece:

prepare

boolean example: false nullable: true Place fields using the web interface

prepareReturnUrl

string example: https://example.com nullable: trueOptionally redirect the user to your website after the fields are placed. The url must begin with https://

prepareUrl

string example: https://www.cm.com/app/sign/prepare/00f00a… readOnly: trueThe URL to the web interface to place fields. The URL is only valid for 60 minutes. Only available when dossier has been created with prepare: true

prepare

ブール値の例:false nullable:true 

Webインターフェイスを使用してフィールドを配置

prepareReturnUrl

文字列の例:https://example.com nullable:true

オプションでフィールドが配置された後、ユーザーをWebサイトにリダイレクトさせることができます。 URLはhttps://で始まる必要があります

prepareUrl

文字列の例:https://www.cm.com/app/sign/prepare/00f00a … 

readOnly:true

フィールドを配置するためのWebインターフェースへのURL。 URLは60分間のみ有効です。 書類がprepare:trueで作成されている場合のみ使用可能です

4) Reminders/リマインダー

To increase conversion, it’s recommended to use automatic reminders. Automatic reminders can be enabled by specifying the reminderIn field. Its value is the time in seconds after the invite was sent to an invitee, after which the reminder will be sent. Reminders only work if the invite emails were sent by CM Sign.

コミュニケーションを増やすために自動リマインダー機能を使うことを推奨しています。自動リマインダーはreminderIn フィールドを有効にすることで利用できます。その値は招待者に招待メールが送信されてから数秒単位です。リマインダーはCMサインから招待メールを発信した場合にしか利用できません。

Request/リクエスト

POST https://api.cmdisp.com/sign/v1/dossiers

Request headers/リクエストヘッダー

Content-Type: application/json

Authorization: Bearer GENERATED_TOKEN_HERE

Request body/リクエストボディ

{

    “name”: “Purchase contract”,

    “files”: [

        {

            “id”: “3fa4ddab-56a4-48bb-9072-8a61b422ea82”

        }

    ],

    “reminderIn”: 604800,

    “invitees”: [

        {

            “name”: “Invitee”,

            “email”: “invitee@example.com”,

            “position”: 1,

            “fields”: [

                {

                    “type”: “signature”,

                    “file”: “3fa4ddab-56a4-48bb-9072-8a61b422ea82”,

                    “locations”: [

                        {

                            “range”: “1”,

                            “unit”: “point”,

                            “x”: 500,

                            “y”: 750,

                            “width”: 100,

                            “height”: 50

                        }

                    ]

                },

                {

                    “type”: “initials”,

                    “file”: “3fa4ddab-56a4-48bb-9072-8a61b422ea82”,

                    “tag”: “{init1}”

                },

                {

                    “type”: “initials”,

                    “file”: “3fa4ddab-56a4-48bb-9072-8a61b422ea82”,

                    “tag”: “{optionalTag}”,

                    “tagRequired”: false

                }

            ]

        }

    ],

    “owners”: [

        {

            “name”: “Owner”,

            “email”: “owner@example.com”

        },

        {

            “name”: “Owner Copy”,

            “email”: “cc@example.com”,

            “cc”: true

        }

    ]

}

Response/レスポンス 

{

    “id”: “302935b2-8a22-4e25-bffb-fccda8963bd4”,

    “name”: “Purchase contract”,

    “state”: “draft”,

    “locale”: “en-US”,

    “completed”: false,

    “reminderIn”: 604800,

    “owners”: [

        {

            “id”: “0474a0f6-0901-4ca1-810d-01ea8c830c97”,

            “name”: “Owner”,

            “email”: “owner@example.com”,

            “cc”: false

        },

        {

            “id”: “3a4f3799-4480-4d07-945a-e4e96fd51e4e”,

            “name”: “Owner Copy”,

            “email”: “cc@example.com”,

            “cc”: true

        }

    ],

    “files”: [

        {

            “id”: “3fa4ddab-56a4-48bb-9072-8a61b422ea82”,

            “name”: “Document”,

            “hash”: “a497a1df892b6d2f205460b730b09c3a00c366061fa8975a388ce9672a39e833”,

            “contentType”: “application/pdf”,

            “derivativeOf”: null,

            “uploadDateTime”: “2019-01-01T00:00:00+00:00”

        }

    ],

    “invitees”: [

        {

            “id”: “f6d1afd5-aa6a-4c5e-8348-bf5a5310b5d2”,

            “name”: “Invitee”,

            “email”: “invitee@example.com”,

            “phoneNumber”: null,

            “identificationMethod”: null,

            “reference”: null,

            “readOnly”: false,

            “state”: null,

            “stateChanged”: null,

            “position”: null,

            “locale”: null,

            “fields”: [

                {

                    “id”: “a4542a27-5f93-483e-910d-a520770c9444”,

                    “type”: “signature”,

                    “tag”: null,

                    “file”: “3fa4ddab-56a4-48bb-9072-8a61b422ea82”,

                    “invitee”: “f6d1afd5-aa6a-4c5e-8348-bf5a5310b5d2”,

                    “locations”: [

                        {

                            “range”: “1”,

                            “unit”: “point”,

                            “x”: 500,

                            “y”: 750,

                            “width”: 100,

                            “height”: 50

                        }

                    ]

                },

                {

                    “id”: “7ead6deb-962a-475c-8a9f-c764b7e55357”,

                    “type”: “initials”,

                    “tag”: “{init1}”,

                    “file”: “3fa4ddab-56a4-48bb-9072-8a61b422ea82”,

                    “invitee”: “f6d1afd5-aa6a-4c5e-8348-bf5a5310b5d2”,

                    “locations”: [

                        {

                            “range”: “1-3”,

                            “unit”: “point”,

                            “x”: 341.2251,

                            “y”: 775.2541,

                            “width”: 30.0294,

                            “height”: 30.0294

                        }

                    ]

                }

            ]

        }

    ],

    “expiresIn”: 2592000,

    “expiresAt”: “2019-01-31T00:00:00+00:00”,

    “createdAt”: “2019-01-01T00:00:00+00:00”

}

8. Send invites/インバイト(招待メール)を送る

Once you have a complete dossier, you will have to send out a link to the invitees who will have to sign these documents. CM Sign can send emails automatically if you set email to true. If you don’t set the email option, the link can be retrieved from the response of the request. In this case you have to redirect the user to the inviteUri yourself. Invites have a configurable expiration time in seconds, the default is 30 days.

Dossierを完成させたら、署名してもらいたい人に署名用のURLが付いた招待メール(インバイト)を送る必要があります。 email to trueにすることで、自動でCMサインからメールを送信させることができます(この場合は本文や送信者アドレスはCMの固定のものになります)。メールの自動送信設定をしない場合、署名用のリンクはリクエストのレスポンスへリトリーブされます。その場合、自分でinviteUri へユーザーをリダイレクトさせる必要があります。招待には秒単位で構成可能な有効期限設定があります。デフォルトは30日です。email をtrueにしない場合は自由に本文や送信者アドレスを設定することが可能です。

Request/リクエスト

POST https://api.cmdisp.com/sign/v1/dossiers/{dossierId}/invites

Request headers/リクエストヘッダー

Content-Type: application/json

Authorization: Bearer GENERATED_TOKEN_HERE

Request body/リクエストボディ

[

  {

    “inviteeId”: “80692813-3493-40e9-86c3-d3b6f7378929”,

    “email”: true,

    “expiresIn”: 2592000

  }

]

Request body (with custom message)/カスタムメッセージ付きのりクエうとボディ(メールに個別にメッセージを追加)

[

  {

    “inviteeId”: “80692813-3493-40e9-86c3-d3b6f7378929”,

    “email”: true,

    “expiresIn”: 2592000,

    “emailConfig”: {

      “message”: “Custom message here”

    }

  }

]

Response/レスポンス

[

    {

        “id”: “22b33b45-bde6-45f4-a45a-ec1fa53ffffa”,

        “inviteeId”: “80692813-3493-40e9-86c3-d3b6f7378929”,

        “inviteUri”: null,

        “readOnly”: false,

        “identificationMethod”: null,

        “email”: true,

        “reminder”: false,

        “emailSentAt”: “2019-01-01T00:00:00+00:00”,

        “expiresIn”: 2592000,

        “expiresAt”: “2019-01-31T00:00:00+00:00”,

        “createdAt”: “2019-01-01T00:00:00+00:00”

    }

]

9. Retrieve status callback/リトリーブステータスコールバック

A webhook URL can be configured for your Key ID so you get notified about status updates for the dossier.

Please contact support@cmdisp.com and tell us your Key ID and the URL that needs to be configured.

Webhook URLをKey IDにコンフィギュするとdossierの最新ステータスを確認できます。support@cmdisp.com へKey IDとコンフィギュしたいURLをご連絡ください。

POST https://yourwebserver

Request headers/リクエストヘッダー

Content-Type: application/json

Request/リクエスト

{

    “id”: “b041a287-bc92-4469-801e-ae1a39c08f6e”,

    “type”: “dossier.state.updated”,

    “dossier”: {

        “id”: “b659c273-954e-43cf-893a-0f74a7f87153”,

        “state”: “completed”

    },

    “created”: “2019-01-01T00:00:00+00:00”

}

Response/レスポンス

The status code should be in the 2xx range (between 200 and 300), the response body doesn’t matter as it’s ignored. In case of an unsuccessful status code (4xx, 5xx), the webhook will be retried.

ステータスコードは2xxレンジ(200〜300)である必要があります。レスポンスボディは無視されるため、関係ありません。もし失敗ステータスコード(4xx, 5xx)が発生した場合、webhookは再試行されます。

10. Download dossier/書類のダウンロード

Once the dossier is completed, you can download the documents.

dossierが完成したら、書類をダウンロードすることができます。

Please note that the dossier can only be downloaded until the expiry of the dossier set by the expiresIn field.

 expiresIn フィールドで設定した期日が過ぎるとダウンロードできなくなりますのでご注意ください。

1) Document/書類

To download the signed document, specifying the type=file query parameter.
署名済みの書類をダウンロードするためには、 type=file クエリパラメタ―を特定します。

GET https://api.cmdisp.com/sign/v1/dossiers/{dossierId}/download?type=file

When there are multiple documents per dossier you will need to specify the file id.
もし複数の書類がdossierごとに存在する場合はfile idを特定する必要があります。

GET https://api.cmdisp.com/sign/v1/dossiers/{dossierId}/download?type=file&file=8d817359-7eb8-4b6e-9030-17ac286b7dc0

2) Audit Report/オーディットレポート

The audit report contains all info and events related to the dossier for evidence purposes, specify the type=auditReport query parameter.
オーディットレポートには書類のエビデンスとなる情報が含まれます。type=auditReport クエリパラメータ―で特定します。

GET https://api.cmdisp.com/sign/v1/dossiers/{dossierId}/download?type=auditReport

3) Full ZIP/フルZIP

The ZIP file contains all signed documents and the audit report.
下記のZIPファイルには署名済みの書類とオーディットレポートが入っています。

GET https://api.cmdisp.com/sign/v1/dossiers/{dossierId}/download

 

10. Error handling/エラー対応

When an error occurs, you will receive a JSON message describing the error. Please make sure to handle these errors.
エラーが起きた場合、エラーに関するJSONメッセージを受信します。エラーが起きた場合は対応するようにお願いします。

Example:

{

  “status”: 400,

  “message”: “Error message”

}

11. Swagger API documentation/スワッガーAPI仕様書

For a complete technical documentation with specifications for all field types, JSON objects and methods, you can consult our complete swagger specification.

すべてのフィールドタイプの仕様、JSONオブジェクトとメソッドを含むテクニカルなドキュメンテーションは下記のSwagger仕様書を確認するか弊社までお問い合わせください。

Swagger API docs