Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ title: Signhost api documentation
email: [email protected]
description: > # this means to ignore newlines until "baseurl:"
Digitally sign your documents using Signhost.
baseurl: "" # the subpath of your site, e.g. /blog
url: "https://signhost.com" # the base hostname & protocol for your site
baseurl: "/" # the subpath of your site, e.g. /blog
twitter_username: evidos
github_username: evidos

Expand All @@ -21,3 +20,6 @@ markdown: kramdown
kramdown:
input: GFM
hard_wrap: false

plugins:
- jekyll-redirect-from
28 changes: 28 additions & 0 deletions _data/structure.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Frontpage
- name: Evidos
menu:
- title: About
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
permalink: /signhost/
- title: Statuses & Activities
permalink: /signhost/status-activity/
- title: Postback
permalink: /signhost/postback/
- title: Endpoints & Model types
permalink: /signhost/endpoints/
2 changes: 1 addition & 1 deletion _includes/head.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<title>{% if page.title %}{{ site.title }} - {{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">

<link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
<link rel="stylesheet" href="{{ "/css/main.css" }}">
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}">
</head>
26 changes: 18 additions & 8 deletions _includes/header.html
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
{% assign current_product = page.product %}
<header class="site-header">

<div class="wrapper">

<a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a>

<a class="site-title" href="/">Product:</a>
<select name="products" class="site-select" onchange="window.location.href=this.value">
{% for product in site.data.structure %}
{% if product.name == "Evidos" %}
<option {% if current_product == "Evidos" %} selected {% endif %} disabled autocomplete="off">-- Pick below --</option>
{% else %}
<option {% if current_product == product.name %} selected {% endif %} value="{{ product.menu[0].permalink }}" autocomplete="off">{{ product.name }}</option>
{% endif %}
{% endfor %}
</select>
<nav class="site-nav">
<a href="#" class="menu-icon">
<svg viewBox="0 0 18 15">
Expand All @@ -13,11 +21,13 @@
</svg>
</a>

<div class="trigger">
{% for my_page in site.pages reversed %}
{% if my_page.title %}
<a class="page-link" href="{{ my_page.url | prepend: site.baseurl }}">{{ my_page.title }}</a>
{% endif %}
<div class="trigger">
{% for product in site.data.structure %}
{% if product.name == current_product %}
{% for item in product.menu %}
<a class="page-link" href="{{ item.permalink }}">{{ item.title }}</a>
{% endfor %}
{% endif %}
{% endfor %}
</div>
</nav>
Expand Down
2 changes: 1 addition & 1 deletion _layouts/page.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<article class="post">

<header class="post-header">
<h1 class="post-title">{{ page.title }}</h1>
<h1 class="post-title">{{ page.product }} - {{ page.title }}</h1>
</header>

<div class="post-content">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions _posts/2016-10-06-api-generated-fields.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
17 changes: 17 additions & 0 deletions _sass/_layout.scss
Original file line number Diff line number Diff line change
Expand Up @@ -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.5rem + 1rem);
max-width: 10em;
display: block;
border: 1px solid #478A9D;
border-radius: 2px;
}

.site-title {
font-size: 26px;
font-weight: 300;
Expand Down
3 changes: 2 additions & 1 deletion about.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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 [[email protected]](mailto:[email protected]) or call us on +31237370046.
78 changes: 78 additions & 0 deletions forms/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
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 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.
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 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.

## 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 mechanisms.

## 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))
46 changes: 46 additions & 0 deletions forms/design.md
Original file line number Diff line number Diff line change
@@ -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
<script src="https://formsengine.signhost.com/publisher/includeQuestionnaire.js" type="text/javascript"></script>
```
3. Initialize the form
```javascript
jQuery(function() {
FormsEngine.initForm({
id: "<forms_id>",
containerId: "<div containter Id>",
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.
Loading