diff --git a/_posts/2015-11-26-howto-create-a-multidocument-transaction.markdown b/_posts/2015-11-26-howto-create-a-multidocument-transaction.markdown index cb7adbf..c7cf4e1 100644 --- a/_posts/2015-11-26-howto-create-a-multidocument-transaction.markdown +++ b/_posts/2015-11-26-howto-create-a-multidocument-transaction.markdown @@ -5,6 +5,7 @@ date: 2015-11-26 00:00:00 +0000 categories: api howto tags: - multidoc +product: Signhost --- ## How-to start a multi document transaction diff --git a/_posts/2015-12-07-update-timezone-information-on-data-retrieval.markdown b/_posts/2015-12-07-update-timezone-information-on-data-retrieval.markdown index 222800f..7f6c152 100644 --- a/_posts/2015-12-07-update-timezone-information-on-data-retrieval.markdown +++ b/_posts/2015-12-07-update-timezone-information-on-data-retrieval.markdown @@ -3,6 +3,7 @@ layout: post title: "Updated timezone information on data retrieval" date: 2015-12-07 00:00:00 +0000 categories: api changes +product: Signhost --- ## Losing timezone information diff --git a/_posts/2016-04-21-howto-create-a-transaction-with-fillable-pdf-fields.markdown b/_posts/2016-04-21-howto-create-a-transaction-with-fillable-pdf-fields.markdown index 7f26672..293fa7c 100644 --- a/_posts/2016-04-21-howto-create-a-transaction-with-fillable-pdf-fields.markdown +++ b/_posts/2016-04-21-howto-create-a-transaction-with-fillable-pdf-fields.markdown @@ -5,6 +5,7 @@ date: 2016-04-21 00:00:00 +0000 categories: api howto tags: - formfields +product: Signhost --- ## How-to create a transaction with fillable form fields diff --git a/_posts/2016-10-06-api-generated-fields.markdown b/_posts/2016-10-06-api-generated-fields.markdown index e7e3613..a40aeb1 100644 --- a/_posts/2016-10-06-api-generated-fields.markdown +++ b/_posts/2016-10-06-api-generated-fields.markdown @@ -5,6 +5,7 @@ date: 2016-10-06 00:00:00 +0000 categories: api howto tags: - formfields +product: Signhost --- ## How-to create a transaction with api generated fields diff --git a/_sass/_layout.scss b/_sass/_layout.scss index 0606ce7..f4d51d0 100644 --- a/_sass/_layout.scss +++ b/_sass/_layout.scss @@ -10,6 +10,23 @@ position: relative; } +.site-select { + float: left; + font-size: 16px; + font-weight: 300; + line-height: 56px; + letter-spacing: -1px; + margin: 0.5rem; + padding: 0.5rem; + box-sizing: border-box; + width: 100%; + height: calc(1.6rem + 1rem); + max-width: 10em; + display: block; + border: 1px solid #478A9D; + border-radius: 2px; +} + .site-title { font-size: 26px; font-weight: 300; diff --git a/about.md b/about.md index ad697cb..e05c21b 100644 --- a/about.md +++ b/about.md @@ -2,6 +2,7 @@ layout: page title: About permalink: /about/ +product: Evidos --- [Signhost.com](https://www.signhost.com) is a service that makes it possible to digitally sign, seal or deliver your documents. Documents can be signed directly from your webportal or by sending a signing request by email or other message to the end-user. @@ -16,7 +17,7 @@ This document describes the Signhost REST API implementation. The REST API is the underlying interface for all of our official Signhost API methods. It's the most direct way to access the API. This reference document is designed for those interested in developing for solutions using the SignHost.com REST API Signing feature or for those interested in exploring Ondertekenen.nl integration features in detail. -Further details about the methods can be found [here](/). +Further details about the methods can be found [here](/signhost/endpoints). # Questions Please contact us if you have any questions regarding our API or making it even better. Drop us an e-mail at [support@signhost.com](mailto:support@signhost.com) or call us on +31237370046. diff --git a/index.md b/index.md index b3cfcc1..725cc95 100644 --- a/index.md +++ b/index.md @@ -1,169 +1,38 @@ --- -layout: frontpage +layout: page +title: Documentation +product: Evidos --- -The Signhost API is RESTful and HTTP-based. Basically, this means that the communication is made through normal HTTP requests. - -Required steps to create a transaction: - -1. Create a new transaction with [POST api/transaction](/endpoints#%23/paths//api/transaction/post). -2. Optionally you can add metadata to generate fields with [PUT api/transaction/{transactionId}/file/{fileId}](/endpoints#%23/paths//api/transaction/%7BtransactionId%7D/file/%7BfileId%7D/put). -You have to submit the metadata first before you upload the file. -Make sure you use the same fileId for both the metadata and the file. -3. Upload the documents you want to be signed by performing a [PUT api/transaction/{transactionId}/file/{fileId}](/endpoints#%23/paths//api/transaction/%7BtransactionId%7D/file/%7BfileId%7D/put). -Repeat for each file. -4. Finally start the transaction with [PUT api/transaction/{transactionId}/start](/endpoints#%23/paths//api/transaction/%7BtransactionId%7D/start/put). - -### Server Address - -The REST gateway BaseURL is: https://api.signhost.com/api/ - -### Security - -We require that all requests are done over SSL. - -## Authentication - -To authenticate you have to add two HTTP headers to every request you make. -The first header includes the name "Application" with the value "APPKey {appkey here}". -This application key will be provided to you by email. -The second header includes the name "Authorization" with the value "APIKey {your usertoken}". -The Usertoken can be generated via Settings > Usertokens at the [SignHost Portal](https://portal.signhost.com/). -A name for the usertoken has to be submitted, after which the value for this usertoken will be displayed once only. -The amount of usertokens that can be generated for an account is limited to 64. -If more usertokens are needed, this needs to be requested at support@signhost.com. - -Below you find a HTTP request header example: - - Content-Type: application/json - Authorization: APIKey {usertoken here} - Application: APPKey {appkey here} - Accept: application/vnd.signhost.v1+json - Connection: keep-alive - -## Get signed document and receipt - -With the Signhost API it is possible to facilitate two different signing flows to the signer. - -**Invite flow;** Signhost API will send a SignRequest by email to the signer and will facilitate the workflow process for sending reminder emails and the signed result. - -**The direct flow;** The Signhost API returns a URL you will be able to directly redirect the signer on your portal or send the signer a message with the signing link yourself. - -By default the direct flow will be used when you create a transaction. -If you would like to make use of the Invite flow, you can do so by setting the SendSignRequest parameter to TRUE during the POST api/transaction. - -If you choose to make use of the Invite flow we will send a reminder after 7 days, you can adjust the amount of days by supplying a DaysToRemind parameter during the POST api/transaction (a value of -1 disables reminders). - -When the transaction is successfully signed (Status=30) you will be able to GET the signed document and receipt with a HTTP GET request to [api/transaction/{transactionId}/file/{fileId}](/endpoints#%23/paths//api/transaction/%7BtransactionId%7D/file/%7BfileId%7D//get) or [api/file/receipt/{transactionId}](/endpoints#%23/paths//api/file/receipt/%7BtransactionId%7D/get). -Do not forget to add the authorization headers as well. - -For legal proof it is important to store both the signed document and the receipt. - -* The Sender will receive the signed documents and receipt per mail when the **SendEmailNotifications** is set to true. -* The Signers will receive the signed documents and receipt per mail when the **SendSignConfirmation** is set to true. -* The Receivers will always receive the signed documents per mail. - -## Specify signature location - -We provide three ways to specify the location for the signatures. - -### Signer tag - -In our API it is possible to specify the signature location in the PDF document. When you create the PDF that needs to be signed you can include the tag {% raw %}{{Signer1}}, {{Signer2}}{% endraw %}, etc.. at the location you want the signature displayed. - -If you do not want to show a {% raw %}{{Signer}}{% endraw %} tag in your document you can give the tag the background colour of your document, in general this is the colour white. - -Although PDF is a document standard we strongly recommend to test the signer location and {% raw %}{{Signer}}{% endraw %} tag to see if the location is correct. - -Please be aware that including a lot of {% raw %}{{Signer}}{% endraw %} tags will have an impact on the performance and signature validation process. For a digital signature we do not recommend to include a signature on every page. If you do not include the {% raw %}{{Signer}}{% endraw %} tag, or you do not use another way to specify the location, we will use the default signing location; top right on the first page. - -### Create fields through API calls - -A second method of specifying the signature location is via the api. - -For this method you do not need to prepare the PDF file in any way. -The flow of making a transaction is basically the same as before, although this time you need to add file metadata to the transaction before uploading the file(s). -For more information about this method please take a further look at the following post: [How to create a transaction with api generated fields]({% post_url 2016-10-06-api-generated-fields %}). - -### Signature fields - -Besides specifying the signature location via the signer tag or via the API you also make use of pdf signature fields. -This method is not recommended as it requires external PDF tools. -To make sure that the signature fields are recognized they have to be named a specific pattern: Signature-x_y. Where the x stands for the signer and the y for the signature number. - -For example: Signature-1_2 will specify the place for the second signature of the first signer. - -## Webhook / Postback URL - -In your request you can specify a PostbackUrl. -On this URL on your own server Signhost will do a POST with the status of the request. -We only support a postback on the default https:// port 443. -Port 80 / http:// is *not* supported. -We will only issue 1 postback per PostbackURL at a time, one-by-one. - -When a postback fails we will queue all new postbacks and retry these again at a later time. -If the postback succeeds again we will continue issuing the remaining queued postbacks. - -For more information about postbacks and calculating the checksum and the body of the request view the [webhook postback sample](/postback) help page. - -## Return URL Parameters - -When the user signs or rejects the transaction we will redirect the browser to the return URL. -The return URL will have one of the following parameters, determined by the user action: - -* **User signs :** - https://www.example.org/[yourReturnUrl]?sh_signerstatus=signed -* **User rejects :** - https://www.example.org/[yourReturnUrl]?sh_signerstatus=rejected -* **Other :** - https://www.example.org/[yourReturnUrl] or https://www.example.org/[yourReturnUrl]?sh_signerstatus= - -The user actions provide an indication on what the user chose to do. -However, you must validate the actual status using the API, and you should not trust the sh_signerstatus for any important processing. -Depending on the communicated sh_signerstatus, you might want to show a different page. -Once the user signed or rejected the transaction, the server will process the input. -Therefore, the return URL will always be available before the transaction status has been updated. -Once the server has completed processing, a new postback will be send with the new transaction status. - -## Return codes - -Our REST API uses the standard [HTTP/1.1 status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) to return the status of your request. -In short this means that any status code in the range of: - -* **2xx** (eg 200) your request was successful; -* **4xx** (eg 400 bad request, invalid email address) there is an error in your request. -You must not retry this request unless you have corrected the error; -* **5xx** (eg 500) there was an error on our side. You may retry this request at a later time. -If you implement a retry policy you should use a backoff policy. - -## Formats - -JSON results which contain a date, time or datetime property are formatted according to [ISO8601](https://www.iso.org/iso/iso8601). A short explanation of the format is available at [w3.org - Date and Time Formats](https://www.w3.org/TR/NOTE-datetime). - -## Libraries & demos - -There are a few libraries and demos available to make connecting to our API easier. - -* [.Net Client Library](https://github.com/Evidos/SignhostClientLibrary) -* [PHP Demo Client](https://github.com/Evidos/signhost-phpdemoclient) -* [Java Client Library](https://github.com/Evidos/OndertekenenDemo-Java) -* [SignHost Ruby Gem](https://rubygems.org/gems/sign_host) - -## Handy tools - -* [Webhook Tester](https://webhook.site) / [Webhook Inbox*](http://webhookinbox.com/) for testing the postback. -* [JSONLint](https://jsonlint.com/) for formatting and checking json messages. - -\* Webhook Inbox only supports HTTP. +Evidos stands for Evidence in Online Services, that is to say being secure while operating on the internet. +Evidos is a market leader in the field of electronic signatures and electronic identification. +Our solutions allow you to conduct your business on the internet quickly, safely and in a legally valid manner, enabling faster and more efficient delivery of your products and services. + +For over a decade, Evidos has been actively involved in the latest national and international standards, legislation and technologies for identity verification and electronic signatures. +Thanks to our business administration background and excellent understanding of the technical aspects, we can offer solutions to a wide range of companies and organisations in various sectors. +We offer solutions that are both high quality and outcome-driven. + +## Products +This documentation website provides documentation for the following Evidos products: + +
    +{% for product in site.data.structure %} + {% unless product.name == "Evidos" %} +
  • + {{ product.name }} +
  • + {% endunless %} +{% endfor %} +
## Posts
    {% for post in site.posts reversed %}
  • - +

    - {{ post.title }} + {{ post.title }}

  • {% endfor %} diff --git a/endpoints.html b/signhost/endpoints.html similarity index 98% rename from endpoints.html rename to signhost/endpoints.html index 1101107..4b4e2a5 100644 --- a/endpoints.html +++ b/signhost/endpoints.html @@ -1,7 +1,12 @@ --- layout: page title: Endpoints & Model types -permalink: /endpoints/ +permalink: signhost/endpoints/ +product: Signhost + +redirect_from: + - /endpoints + - /endpoints/ ---

    You can make HTTP GET, POST or PUT Requests. Requests are passed to the API by using JSON objects to the API endpoints with the appropriate parameters. The documentation for each API call will contain more detail on the parameters accepted by the call.

    diff --git a/signhost/index.md b/signhost/index.md new file mode 100644 index 0000000..889b641 --- /dev/null +++ b/signhost/index.md @@ -0,0 +1,173 @@ +--- +layout: page +title: Basic Information +permalink: signhost/ +product: Signhost +--- + +The Signhost API is RESTful and HTTP-based. Basically, this means that the communication is made through normal HTTP requests. + +Required steps to create a transaction: + +1. Create a new transaction with [POST api/transaction](endpoints#%23/paths//api/transaction/post). +2. Optionally you can add metadata to generate fields with [PUT api/transaction/{transactionId}/file/{fileId}](endpoints#%23/paths//api/transaction/%7BtransactionId%7D/file/%7BfileId%7D/put). +You have to submit the metadata first before you upload the file. +Make sure you use the same fileId for both the metadata and the file. +3. Upload the documents you want to be signed by performing a [PUT api/transaction/{transactionId}/file/{fileId}](endpoints#%23/paths//api/transaction/%7BtransactionId%7D/file/%7BfileId%7D/put). +Repeat for each file. +4. Finally start the transaction with [PUT api/transaction/{transactionId}/start](endpoints#%23/paths//api/transaction/%7BtransactionId%7D/start/put). + +### Server Address + +The REST gateway BaseURL is: https://api.signhost.com/api/ + +### Security + +We require that all requests are done over SSL. + +## Authentication + +To authenticate you have to add two HTTP headers to every request you make. +The first header includes the name "Application" with the value "APPKey {appkey here}". +This application key will be provided to you by email. +The second header includes the name "Authorization" with the value "APIKey {your usertoken}". +The Usertoken can be generated via Settings > Usertokens at the [SignHost Portal](https://portal.signhost.com/). +A name for the usertoken has to be submitted, after which the value for this usertoken will be displayed once only. +The amount of usertokens that can be generated for an account is limited to 64. +If more usertokens are needed, this needs to be requested at support@signhost.com. + +Below you find a HTTP request header example: + + Content-Type: application/json + Authorization: APIKey {usertoken here} + Application: APPKey {appkey here} + Accept: application/vnd.signhost.v1+json + Connection: keep-alive + +## Get signed document and receipt + +With the Signhost API it is possible to facilitate two different signing flows to the signer. + +**Invite flow;** Signhost API will send a SignRequest by email to the signer and will facilitate the workflow process for sending reminder emails and the signed result. + +**The direct flow;** The Signhost API returns a URL you will be able to directly redirect the signer on your portal or send the signer a message with the signing link yourself. + +By default the direct flow will be used when you create a transaction. +If you would like to make use of the Invite flow, you can do so by setting the SendSignRequest parameter to TRUE during the POST api/transaction. + +If you choose to make use of the Invite flow we will send a reminder after 7 days, you can adjust the amount of days by supplying a DaysToRemind parameter during the POST api/transaction (a value of -1 disables reminders). + +When the transaction is successfully signed (Status=30) you will be able to GET the signed document and receipt with a HTTP GET request to [api/transaction/{transactionId}/file/{fileId}](endpoints#%23/paths//api/transaction/%7BtransactionId%7D/file/%7BfileId%7D//get) or [api/file/receipt/{transactionId}](endpoints#%23/paths//api/file/receipt/%7BtransactionId%7D/get). +Do not forget to add the authorization headers as well. + +For legal proof it is important to store both the signed document and the receipt. + +* The Sender will receive the signed documents and receipt per mail when the **SendEmailNotification** is set to true. +* The Signers will receive the signed documents and receipt per mail when the **SendSignConfirmation** is set to true. +* The Receivers will always receive the signed documents per mail. + +## Specify signature location + +We provide three ways to specify the location for the signatures. + +### Signer tag + +In our API it is possible to specify the signature location in the PDF document. When you create the PDF that needs to be signed you can include the tag {% raw %}{{Signer1}}, {{Signer2}}{% endraw %}, etc.. at the location you want the signature displayed. + +If you do not want to show a {% raw %}{{Signer}}{% endraw %} tag in your document you can give the tag the background colour of your document, in general this is the colour white. + +Although PDF is a document standard we strongly recommend to test the signer location and {% raw %}{{Signer}}{% endraw %} tag to see if the location is correct. + +Please be aware that including a lot of {% raw %}{{Signer}}{% endraw %} tags will have an impact on the performance and signature validation process. For a digital signature we do not recommend to include a signature on every page. If you do not include the {% raw %}{{Signer}}{% endraw %} tag, or you do not use another way to specify the location, we will use the default signing location; top right on the first page. + +### Create fields through API calls + +A second method of specifying the signature location is via the api. + +For this method you do not need to prepare the PDF file in any way. +The flow of making a transaction is basically the same as before, although this time you need to add file metadata to the transaction before uploading the file(s). +For more information about this method please take a further look at the following post: [How to create a transaction with api generated fields]({% post_url 2016-10-06-api-generated-fields %}). + +### Signature fields + +Besides specifying the signature location via the signer tag or via the API you also make use of pdf signature fields. +This method is not recommended as it requires external PDF tools. +To make sure that the signature fields are recognized they have to be named a specific pattern: Signature-x_y. Where the x stands for the signer and the y for the signature number. + +For example: Signature-1_2 will specify the place for the second signature of the first signer. + +## Webhook / Postback URL + +In your request you can specify a PostbackUrl. +On this URL on your own server Signhost will do a POST with the status of the request. +We only support a postback on the default https:// port 443. +Port 80 / http:// is *not* supported. +We will only issue 1 postback per PostbackURL at a time, one-by-one. + +When a postback fails we will queue all new postbacks and retry these again at a later time. +If the postback succeeds again we will continue issuing the remaining queued postbacks. + +For more information about postbacks and calculating the checksum and the body of the request view the [webhook postback sample](postback) help page. + +## Return URL Parameters + +When the user signs or rejects the transaction we will redirect the browser to the return URL. +The return URL will have one of the following parameters, determined by the user action: + +* **User signs :** + https://www.example.org/[yourReturnUrl]?sh_signerstatus=signed +* **User rejects :** + https://www.example.org/[yourReturnUrl]?sh_signerstatus=rejected +* **Other :** + https://www.example.org/[yourReturnUrl] or https://www.example.org/[yourReturnUrl]?sh_signerstatus= + +The user actions provide an indication on what the user chose to do. +However, you must validate the actual status using the API, and you should not trust the sh_signerstatus for any important processing. +Depending on the communicated sh_signerstatus, you might want to show a different page. +Once the user signed or rejected the transaction, the server will process the input. +Therefore, the return URL will always be available before the transaction status has been updated. +Once the server has completed processing, a new postback will be send with the new transaction status. + +## Return codes + +Our REST API uses the standard [HTTP/1.1 status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) to return the status of your request. +In short this means that any status code in the range of: + +* **2xx** (eg 200) your request was successful; +* **4xx** (eg 400 bad request, invalid email address) there is an error in your request. +You must not retry this request unless you have corrected the error; +* **5xx** (eg 500) there was an error on our side. You may retry this request at a later time. +If you implement a retry policy you should use a backoff policy. + +## Formats + +JSON results which contain a date, time or datetime property are formatted according to [ISO8601](https://www.iso.org/iso/iso8601). A short explanation of the format is available at [w3.org - Date and Time Formats](https://www.w3.org/TR/NOTE-datetime). + +## Libraries & demos + +There are a few libraries and demos available to make connecting to our API easier. + +* [.Net Client Library](https://github.com/Evidos/SignhostClientLibrary) +* [PHP Demo Client](https://github.com/Evidos/signhost-phpdemoclient) +* [Java Client Library](https://github.com/Evidos/OndertekenenDemo-Java) +* [SignHost Ruby Gem](https://rubygems.org/gems/sign_host) + +## Handy tools + +* [Webhook Tester](https://webhook.site) / [Webhook Inbox*](http://webhookinbox.com/) for testing the postback. +* [JSONLint](https://jsonlint.com/) for formatting and checking json messages. + +\* Webhook Inbox only supports HTTP. + +## Posts +
      + {% for post in site.posts reversed %} +
    • + + +

      + {{ post.title }} +

      +
    • + {% endfor %} +
    diff --git a/postback.md b/signhost/postback.md similarity index 98% rename from postback.md rename to signhost/postback.md index 1c5c79c..d591cad 100644 --- a/postback.md +++ b/signhost/postback.md @@ -1,7 +1,12 @@ --- layout: page title: Postback -permalink: /postback/ +permalink: signhost/postback/ +product: Signhost + +redirect_from: + - /postback + - /postback/ --- The Signhost postback service is meant to provide realtime updates on your transactions. diff --git a/status-activities.html b/signhost/status-activities.html similarity index 89% rename from status-activities.html rename to signhost/status-activities.html index 78af4ad..ae9e2e0 100644 --- a/status-activities.html +++ b/signhost/status-activities.html @@ -1,7 +1,12 @@ --- layout: page title: Statuses & Activities -permalink: /status-activity/ +permalink: signhost/status-activity/ +product: Signhost + +redirect_from: + - /status-activity + - /status-activity/ ---

    Some of our endpoints return both the status of the transaction and signer activities. A list of all the statuses as well as a list of all the activities can be found below.

    Transaction Statuses

    From 65bf695985793c1c0db113fb2337bac3642149ff Mon Sep 17 00:00:00 2001 From: Wouter Janson Date: Wed, 11 Dec 2019 14:20:15 +0100 Subject: [PATCH 2/6] add forms documentation --- _data/structure.yaml | 11 +++++ forms/configuration.md | 75 ++++++++++++++++++++++++++++++ forms/design.md | 46 ++++++++++++++++++ forms/images/sequence_diagram.png | Bin 0 -> 82477 bytes forms/index.md | 44 ++++++++++++++++++ forms/initiate.md | 65 ++++++++++++++++++++++++++ 6 files changed, 241 insertions(+) create mode 100644 forms/configuration.md create mode 100644 forms/design.md create mode 100644 forms/images/sequence_diagram.png create mode 100644 forms/index.md create mode 100644 forms/initiate.md diff --git a/_data/structure.yaml b/_data/structure.yaml index 6dc2bc9..6a95fb2 100644 --- a/_data/structure.yaml +++ b/_data/structure.yaml @@ -5,6 +5,17 @@ permalink: /about/ # Products +- name: Forms + menu: + - title: Basic Information + permalink: /forms/ + - title: Designing the webform + permalink: /forms/design + - title: Initiate Form Url + permalink: /forms/initiate + - title: Configuration + permalink: /forms/configuration + - name: Signhost menu: - title: Basic Information diff --git a/forms/configuration.md b/forms/configuration.md new file mode 100644 index 0000000..f01f07c --- /dev/null +++ b/forms/configuration.md @@ -0,0 +1,75 @@ +--- +layout: page +title: Configuration of the form to Evidos Signhost +permalink: forms/configuration/ +product: Forms +--- + +Evidos forms has a native integration with [Evidos Signhost](/signhost) the signing API of Evidos. After the user filled all the information the signing transaction including the PDF(s) to be signed are created. + +## Mapping formfields to sign API + +The creation of the PDF is based on a template. Within the project the PDF template is mapped to the formfields. + +The formfield are included in the postback/GET using the Context property, a valid json object containing the name and input of the formfield. This also includes hidden fields for additional background validations. + +See Evidos Signhost get for an example of the result. In the json the Context property could look like: +```json +"Context": { + "Name": { + "Firstname": "John", + "Lastname": "Doe", + } +``` + +## Defining the signing flow – Number of Signers +At the end of the form it is possible to let the user define if he will be the authoritative signer and directly view and sign the document(s), or define the authoritative signer(s) by typing the name/ email. +The customer needs to know or decide if the end user is allowed to sign directly and/or delegate to other signers. +If other signers are defined the signing URL will be send by email to the other signers or the enduser is able to distribute the signing link himself. + +## Sign Parameters +It is also required to define the additional parameters for Evidos Signhost. +During the project these parameters will be defined with the customer. +A detailed overview of the parameters can be viewed in the Evidos Signhost API: [https://evidos.github.io/signhost/endpoints/##/definitions/Transaction](/signhost/endpoints/##/definitions/Transaction) + +## Verificationmethods +It is important to decide on what level the enduser will identify during the signing process, for example SMS, Scribble, eID. Multiple verification methods are supported. +Methods are described here: [https://evidos.github.io/signhost/endpoints/##/definitions/Verification](/signhost/endpoints/##/definitions/Verification) + +## Postback URL +When the customer system will use the Signhost API to retrieve the document(s) and receipt a postback must be configured. +For details on the postback mechanism see: [https://evidos.github.io/signhost/postback/](/signhost/postback) + +## Return URL +At the end of the signing the signers are send to a return URL. +This can be a result page of the customer or a result page on Evidos forms. +Within the Evidos forms it is possible to additionally start a payment process or any other trigger. + +## Retrieving the result Postback/ Get +For the webform a specific postback URL is configured. +This postback URL can be an endpoint at the customer system. +The customer system is able to retrieve the filled form data from the postback. +The formfield are included in the postback using the Context property, a valid json object containing the name and input of the formfield. +This also includes hidden fields for additional background validations. + +Based on the postback the customer system is also informed on the transaction and signer activities like; how many signers signed, clicked or looked at the transaction. +See status in our signing api: [https://evidos.github.io/signhost/status-activity/](/signhost/status-activity) + +Based on the postback the customer system can do a GET to retrieve the signed documents and transaction receipt. + +Signed document(s): +[https://evidos.github.io/signhost/endpoints/##/paths//api/transaction/{transactionId}/file/{fileId}//get](/signhost/endpoints/##/paths//api/transaction/{transactionId}/file/{fileId}//get) + +Transaction Receipt: +[https://evidos.github.io/signhost/endpoints/##/paths//api/file/receipt/{transactionId}/get](/signhost/endpoints/##/paths//api/file/receipt/{transactionId}/get) + +**Note:** If no postback can be implemented it is possible to configure Evidos Forms to send the result by email or other secure distribution mechanism. + +## Delete a transaction +Within Evidos Signhost a time is defined for the sign URL’s to be available. +Optionally the customer system can send a delete after successfully retrieving the signed documents and transaction receipt. +This delete will directly remove the customer data from the Evidos Signhost system. + +## Transaction dashboard +Based on the postback integration the customer system is able to integrate a status dashboard of the signing transactions linked with the form webanalytics. +If this is not available or implemented the Evidos Portal can be used to view the signing transaction dashboard. ([https://portal.signhost.com](https://portal.signhost.com)) \ No newline at end of file diff --git a/forms/design.md b/forms/design.md new file mode 100644 index 0000000..a952b7d --- /dev/null +++ b/forms/design.md @@ -0,0 +1,46 @@ +--- +layout: page +title: Designing the webform +permalink: forms/design/ +product: Forms +--- + +Evidos will define the webform and fields together with the customer. +During the design the different steps in the form can be defined. +Also specific form validations, required/non required fields are defined. +The webforms are responsive and mobile friendly. + +## Branding + +The form can be branded in the style and look and feel of the customer. +There are two ways to present the webform: +1. By including a javascript library and a javascript include in the website of the customer. +2. A dedicated form on Evidos Forms, optionally with a custom website domain (for example: ```https://mydomain.com/form``` ) + +To include a form you have to do the following: +1. If not included yet include JQuery library and JQuery UI with widgets functionality. (Recommended jQuery version is > 1.10.2.2) +2. Include our Forms library: +```html + +``` +3. Initialize the form +```javascript +jQuery(function() { + FormsEngine.initForm({ + id: "", + containerId: "
    ", + publisherUri: "https://formsengine.signhost.com/publisher", + }); +}); +``` + +## Data validation +The following data field validation and enrichment is possible to include; + +Identity check; within the form the user presents eID like iDIN or passport/selfie check; + +Data enrichment; Additional data is prefilled using registers like address, chamber of commerce; + +Registry check; Additional checks in a register like creditworthiness, Politically Exposed Person (PEP); + +Data validation; Checking value entry, like IBAN check, phone check. diff --git a/forms/images/sequence_diagram.png b/forms/images/sequence_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5779f77ea49994f2b3aadcbd17f6e862ad249f GIT binary patch literal 82477 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 mgk&GkZ!$CcFbqm!`N!yBbg{;>``` + +Note: although the non-prefilled link does not prefill any personal information, it could be useful to link the final signed document to a certain customer file. +In this case it is possible to include a unique non guessable ID in the URL; ```https://mydomain.com/form/?id=``` + +## Authentication + +When prefilled data is included it could be a requirement to let the enduser login before seeing the personal data. +This could minimize to risk to expose personal data to unauthorized persons. +Optionally it is possible to link the form to the authentication service of the customer. +Evidos Forms will then check if the entered credentials are valid using the customer system REST API. + +## Retrieving the customerdata +When the enduser clicks on the formlink, Evidos Forms will get the prefilled data from the customer system using a Rest API service. +Evidos forms will use the unique non guessable ID within the Rest API to retrieve the data. +Evidos forms has several standard Rest API connections available, further specification of this (existing) customer API is specified within the project. + +The mapping of the formfields and the customer datafields is done during the project and depends on the API specifications and required formfields. + +**Note:** it is not required to show prefilled data as a formfield, this could also be hidden data for use in the customer system. + +## Additional PDF attachments +In certain use cases the customer wants to include a default PDF, or generate PDF in the signing process. +For example when the customer configured a custom proposal from a product configuration system. +It is possible to get this PDF from the customer system. +In this case an additional REST API service must be available to retrieve the document. + +## Errors/ non availability of customer webservice +For prefilled forms it could happen that the webservice of the customer is not available or the specific enduser record is not available. +This will result in a configured error message for the enduser, for example: +> Form is unavailable, try again later or contact your merchant + +Endpoints of the webservice must be monitored by the customer. + +## PDF documents +There are three types of PDF documents that can be included or used to be signed; +1. Default PDF without custom data, these documents can be added automatically and are configured in Evidos Forms; +2. Template PDF, the PDF template that can be filled with the formfields entered by the enduser; +3. Pre-generated PDF, a PDF document that is generated earlier in the journey, for example when the customer configured a custom proposal from a product configuration system. It is possible to get this PDF from the customer system. In this case an additional REST API service must be available to retrieve the document. + +## User filling in the form +When the user clicks the URL the webform is opened. +The user fills in the details and one or more additional checks are performed. + +If the data entry is not correct or results in not finishing the form, the user will be shown the error or mismatch. + +No data is cached. If the user closes the form he is able to open the link again clicking on the link. + +**Note:** The prefilled form URL is available as long as the data can be retrieved from the customer system. +Non-prefilled forms are available until the customer closes the webform by contacting Evidos. + +## Form analytics +Customer can see the analytics of the forms by including their web analytics tools. \ No newline at end of file From f91099777cf8c4b651cb8aba23494aa30c863d35 Mon Sep 17 00:00:00 2001 From: Wouter Janson Date: Fri, 13 Dec 2019 11:57:45 +0100 Subject: [PATCH 3/6] fixup! add forms documentation --- forms/images/sequence_diagram.png | Bin 82477 -> 0 bytes forms/images/sequence_diagram.svg | 21 +++++++++++++++++++++ forms/index.md | 3 ++- 3 files changed, 23 insertions(+), 1 deletion(-) delete mode 100644 forms/images/sequence_diagram.png create mode 100644 forms/images/sequence_diagram.svg diff --git a/forms/images/sequence_diagram.png b/forms/images/sequence_diagram.png deleted file mode 100644 index 3b5779f77ea49994f2b3aadcbd17f6e862ad249f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82477 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 mgk&GkZ!$CcFbqm!`N!yBbg{;>Customer System -> Enduser: Create formlink +Note left of Enduser: Form link has a UID/token as queryparameter +Enduser -> Evidos Forms: Click on formlink +Evidos Forms -> Enduser: Request authentication to show prefilled form (Optional) +Evidos Forms -> Customer System: Validate authentication (optional) +Evidos Forms -> Customer System: Retrieve prefilled data by UID/token Rest API +Note right of Customer System: This authentication / Data REST API is provided by te Customer System +Customer System -> Evidos Forms: Return prefilled data +Evidos Forms -> Enduser: Show prefilled form +Enduser -> Enduser: Fill in form data +Evidos Forms -> Evidos Forms: Validate data +Enduser -> Evidos Forms: Submit form +Evidos Forms -> Evidos Signhost: Forward data to Sighost Signing Platform API +Evidos Signhost -> Enduser: Show sign URL with document(s) +Enduser -> Evidos Signhost: Sign document(s) +Evidos Signhost -> Enduser: Redirect enduser to returnURL +Evidos Signhost -> Customer System: Email Signing confirmarion (Optional) +Evidos Signhost -> Enduser: Email Signing Confirmation (Optional) +Evidos Signhost -> Customer System: Send Postback status (Optional) +Customer System -> Evidos Signhost: Get signed docment and receipt (Optional) +Customer System -> Evidos Signhost: Delete transaction (Optional)Customer SystemCustomer SystemEnduserEnduserEvidos FormsEvidos FormsEvidos SignhostEvidos SignhostCreate formlinkForm link has a UID/token as queryparameterClick on formlinkRequest authentication to show prefilled form (Optional)Validate authentication (optional)Retrieve prefilled data by UID/token Rest APIThis authentication / Data REST API is provided by te Customer SystemReturn prefilled dataShow prefilled formFill in form dataValidate dataSubmit formForward data to Sighost Signing Platform APIShow sign URL with document(s)Sign document(s)Redirect enduser to returnURLEmail Signing confirmarion (Optional)Email Signing Confirmation (Optional)Send Postback status (Optional)Get signed docment and receipt (Optional)Delete transaction (Optional) \ No newline at end of file diff --git a/forms/index.md b/forms/index.md index 3a1da91..a5f5e0b 100644 --- a/forms/index.md +++ b/forms/index.md @@ -41,4 +41,5 @@ The integration of Evidos Forms makes use of the following components; The following sequence diagram shows an example of the process flow of the webform signing integration -![Sequence diagram](images/sequence_diagram.png) \ No newline at end of file +**Evidos Forms Signhost integration** +![Sequence diagram](images/sequence_diagram.svg) From d049898602503f6d2ea04d12a51a6defea7f3d09 Mon Sep 17 00:00:00 2001 From: Wouter Janson Date: Fri, 13 Dec 2019 13:05:22 +0100 Subject: [PATCH 4/6] fixup! Add multi product structure --- _sass/_layout.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_sass/_layout.scss b/_sass/_layout.scss index f4d51d0..2c8410b 100644 --- a/_sass/_layout.scss +++ b/_sass/_layout.scss @@ -20,7 +20,7 @@ padding: 0.5rem; box-sizing: border-box; width: 100%; - height: calc(1.6rem + 1rem); + height: calc(1.5rem + 1rem); max-width: 10em; display: block; border: 1px solid #478A9D; From f56750eb841b7aac8a0496426eace47829d02cb3 Mon Sep 17 00:00:00 2001 From: Wouter Janson Date: Fri, 13 Dec 2019 13:14:38 +0100 Subject: [PATCH 5/6] fixup! add forms documentation --- forms/images/sequence_diagram.svg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forms/images/sequence_diagram.svg b/forms/images/sequence_diagram.svg index 4caef0a..0b515b7 100644 --- a/forms/images/sequence_diagram.svg +++ b/forms/images/sequence_diagram.svg @@ -1,10 +1,10 @@ -Customer System -> Enduser: Create formlink +<?xml version="1.0" encoding="utf-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" width="1667" height="973" xmlns:xlink="http://www.w3.org/1999/xlink"><source><![CDATA[Customer System -> Enduser: Create formlink Note left of Enduser: Form link has a UID/token as queryparameter Enduser -> Evidos Forms: Click on formlink Evidos Forms -> Enduser: Request authentication to show prefilled form (Optional) Evidos Forms -> Customer System: Validate authentication (optional) Evidos Forms -> Customer System: Retrieve prefilled data by UID/token Rest API -Note right of Customer System: This authentication / Data REST API is provided by te Customer System +Note right of Customer System: This authentication / Data REST API\n is provided by te Customer System Customer System -> Evidos Forms: Return prefilled data Evidos Forms -> Enduser: Show prefilled form Enduser -> Enduser: Fill in form data @@ -18,4 +18,4 @@ Evidos Signhost -> Customer System: Email Signing confirmarion (Optional) Evidos Signhost -> Enduser: Email Signing Confirmation (Optional) Evidos Signhost -> Customer System: Send Postback status (Optional) Customer System -> Evidos Signhost: Get signed docment and receipt (Optional) -Customer System -> Evidos Signhost: Delete transaction (Optional)Customer SystemCustomer SystemEnduserEnduserEvidos FormsEvidos FormsEvidos SignhostEvidos SignhostCreate formlinkForm link has a UID/token as queryparameterClick on formlinkRequest authentication to show prefilled form (Optional)Validate authentication (optional)Retrieve prefilled data by UID/token Rest APIThis authentication / Data REST API is provided by te Customer SystemReturn prefilled dataShow prefilled formFill in form dataValidate dataSubmit formForward data to Sighost Signing Platform APIShow sign URL with document(s)Sign document(s)Redirect enduser to returnURLEmail Signing confirmarion (Optional)Email Signing Confirmation (Optional)Send Postback status (Optional)Get signed docment and receipt (Optional)Delete transaction (Optional) \ No newline at end of file +Customer System -> Evidos Signhost: Delete transaction (Optional)]]>Customer SystemCustomer SystemEnduserEnduserEvidos FormsEvidos FormsEvidos SignhostEvidos SignhostCreate formlinkForm link has a UID/token as queryparameterClick on formlinkRequest authentication to show prefilled form (Optional)Validate authentication (optional)Retrieve prefilled data by UID/token Rest APIThis authentication / Data REST APIis provided by te Customer SystemReturn prefilled dataShow prefilled formFill in form dataValidate dataSubmit formForward data to Sighost Signing Platform APIShow sign URL with document(s)Sign document(s)Redirect enduser to returnURLEmail Signing confirmarion (Optional)Email Signing Confirmation (Optional)Send Postback status (Optional)Get signed docment and receipt (Optional)Delete transaction (Optional) \ No newline at end of file From 38b3c0ced674cc9c0c92f7f43042ee441a788b5d Mon Sep 17 00:00:00 2001 From: Wouter Janson Date: Fri, 13 Dec 2019 13:23:07 +0100 Subject: [PATCH 6/6] fixup! add forms documentation --- forms/configuration.md | 19 +++++++++++-------- forms/index.md | 6 +++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/forms/configuration.md b/forms/configuration.md index f01f07c..08d5a51 100644 --- a/forms/configuration.md +++ b/forms/configuration.md @@ -5,13 +5,16 @@ permalink: forms/configuration/ product: Forms --- -Evidos forms has a native integration with [Evidos Signhost](/signhost) the signing API of Evidos. After the user filled all the information the signing transaction including the PDF(s) to be signed are created. +Evidos forms has a native integration with [Evidos Signhost](/signhost) the signing API of Evidos. +After the user filled all the information the signing transaction including the PDF(s) to be signed are created. ## Mapping formfields to sign API -The creation of the PDF is based on a template. Within the project the PDF template is mapped to the formfields. +The creation of the PDF is based on a template. +Within the project, the PDF template is mapped to the formfields. -The formfield are included in the postback/GET using the Context property, a valid json object containing the name and input of the formfield. This also includes hidden fields for additional background validations. +The formfield are included in the postback/GET using the Context property, a valid json object containing the name and input of the formfield. +This also includes hidden fields for additional background validations. See Evidos Signhost get for an example of the result. In the json the Context property could look like: ```json @@ -25,11 +28,11 @@ See Evidos Signhost get for an example of the result. In the json the Context pr ## Defining the signing flow – Number of Signers At the end of the form it is possible to let the user define if he will be the authoritative signer and directly view and sign the document(s), or define the authoritative signer(s) by typing the name/ email. The customer needs to know or decide if the end user is allowed to sign directly and/or delegate to other signers. -If other signers are defined the signing URL will be send by email to the other signers or the enduser is able to distribute the signing link himself. +If other signers are defined the signing URL will be sent by email to the other signers or the enduser is able to distribute the signing link himself. ## Sign Parameters It is also required to define the additional parameters for Evidos Signhost. -During the project these parameters will be defined with the customer. +During the project, these parameters will be defined with the customer. A detailed overview of the parameters can be viewed in the Evidos Signhost API: [https://evidos.github.io/signhost/endpoints/##/definitions/Transaction](/signhost/endpoints/##/definitions/Transaction) ## Verificationmethods @@ -41,9 +44,9 @@ When the customer system will use the Signhost API to retrieve the document(s) a For details on the postback mechanism see: [https://evidos.github.io/signhost/postback/](/signhost/postback) ## Return URL -At the end of the signing the signers are send to a return URL. +At the end of the signing, the signers are sent to a return URL. This can be a result page of the customer or a result page on Evidos forms. -Within the Evidos forms it is possible to additionally start a payment process or any other trigger. +Within the Evidos forms, it is possible to additionally start a payment process or any other trigger. ## Retrieving the result Postback/ Get For the webform a specific postback URL is configured. @@ -63,7 +66,7 @@ Signed document(s): Transaction Receipt: [https://evidos.github.io/signhost/endpoints/##/paths//api/file/receipt/{transactionId}/get](/signhost/endpoints/##/paths//api/file/receipt/{transactionId}/get) -**Note:** If no postback can be implemented it is possible to configure Evidos Forms to send the result by email or other secure distribution mechanism. +**Note:** If no postback can be implemented it is possible to configure Evidos Forms to send the result by email or other secure distribution mechanisms. ## Delete a transaction Within Evidos Signhost a time is defined for the sign URL’s to be available. diff --git a/forms/index.md b/forms/index.md index a5f5e0b..3c6aa3a 100644 --- a/forms/index.md +++ b/forms/index.md @@ -6,8 +6,8 @@ product: Forms --- Evidos makes it possible to provide webforms to your customers to fill and sign transactions in one integrated flow. -In this way you have a flexible solution to collect data in a smart way and generate the documents to be signed based on a template. -In general it is not possible to fill any smart formfields during the Evidos Signhost signing process, Evidos Forms is a specialized module to offer this functionality. +In this way, you have a flexible solution to collect data in a smart way and generate the documents to be signed based on a template. +In general, it is not possible to fill any smart formfields during the Evidos Signhost signing process, Evidos Forms is a specialized module to offer this functionality. It is also possible to offer a prefilled form based on the data that you already have available in your own customer system. This makes it possible that the enduser is not required to fill all data all over again. @@ -17,7 +17,7 @@ The following technical documentation describes the way how you can integrate yo ## Before you start All connections are done using JSON Rest webservices over an https connection; -The architectural principal is to store a minimum of personal data for the shortest time as possible at the Evidos platform. +The architectural principle is to store a minimum of personal data for the shortest time as possible at the Evidos platform. Only for the time needed to process the transaction; If the forms are prefilled with customer data, this data is not stored on the Evidos platform.