How to set up the Signi environment for integration?
1.Set up a single main account in Signi, which is the Owner of all workspaces
Setting up an account in Signi - see procedure at Creating an account and signing into the application for the first time. We recommend that you do not set up the main Signi account using the e-mail of a specific person, but using an e-mail such as info@company.com or signi@company.com, in that the mail sent to this e-mail must be accessible to the account creator. He/she must confirm the registration e-mail sent from Signi.
This account is then used to deal with all orders of and payments for Signi services for your company, establishing a workspace, setting its parameters, adding people to the team, generating API keys, etc.
2. Setting up a workspace for testing integration
A workspace is automatically created for the account creator when setting up an account in Signi.
Another 2-3 workspaces are generally created under the main account, for example Agenda X - PRODUCTION / Agenda X - TEST / Agenda X - DEVELOPMENT, see Creating multiple workspaces . This ensures that operating data are not mixed up with development or testing data.
Each workspace has its own API key, and each environment on the side of the integrated application uses the API key for its “own” workspace. All you have to do to shift from development to test or production is therefore to switch the API key.
3. Making API available and obtaining API keys
API access is free for Demo workspace; the solution at present is to write an "I want demo workspace" request to help@signi.com, stating the primary e-mail and the workspace you want to use in DEMO mode. We will then afford you access via API.
You then generate API keys for your workspaces under your main account; see Generating an API key.
4. Using workspace for business without integration
In parallel to this, an organization may have multiple workspaces for using Signi via user interface directly, when the users add documents to be signed via Signi user interface.
For more see Combination of both approaches.
If you don’t feel like picking through the set-up process yourself, we will be happy to guide you through it when putting Signi into service at your company.
Did you find that something else worked for you? Have you encountered any situations when this arrangement didn’t suit you? Let us know at help@signi.com.
Transferring supporting documents for signing
How are the supporting documents to be signed transferred?
Transferring files
A file that needs to be signed is transferred from your Application to Signi; for the format see In which formats are files sent for signing?and information about the placement of signatures in a document.
When approving the document, the counterparty is then shown the document and the fields to be signed.
The document, including signatures, is sent back to the Application from Signi as a PDF file.
For more see Creating a contract/document 2.0 > From a document and “How to transfer information about the placement of signatures when transferring documents for signing?” below.
Transferring parameters for a template
A template document is prepared in Signi, with tags that correspond to the individual parameters of the document at appropriate places in the document.
Specific parameter values, such as the client's name, are transferred as supporting documents when invoking a contract creation request.
The document, including signatures, is sent back to the Application from Signi as a PDF file.
More on this in Creating a contract / document 2.0 > From a template and the paragraph below, How to transfer parameters for filling into a template if using templates when signing.
What parameters are optional when calling and what are they used for?
Only email and telephone are required to send a document for signing; other identification data, however, are also among the parameters.
Some data are required when transferring supporting documents for a template when there is no identification of the contracting parties in the template document, and this is filled in from the parameters transferred when calling.
Here too a name is mandatory; it makes sense to enter a date of birth when the customer would like that this be specified to ensure more precise identification of the contracting parties.
They are not required when transferring documents; they remain there, however, in order to maintain the same structure of the parameters.
First name, Surname, or Organization is used in SMS and e-mail messages sent to signatories to identify the sender of the document. As in the case of the name of the sender in the header of the e-mail.
If data about the signatories were transferred in structured format, it would be possible to show them their documents signed without registration after their subsequent registration. In light of GDPR and the potential risk of error, this function will evidently not be available.
What is the simplest signing scenario?
When connecting, it is good to start with the simplest signing scenario and only then to make it more complex according to the needs of the users. How it looks:
The author/proposer of documents (is_proposer=true when calling API) is the e-mail of the party that set up the workspace in Signi, to which documents are sent via API, i.e. typically the e-mail of the main account in Signi for the document proposer’s company. He/she only approves the document (contract_role=true); i.e. his/her signature is not visible on the document. Approval proceeds automatically when calling via API.
All signatories or approvers, whether or not they are from the proposer’s company, are designated as counterparties (is_proposer=false). As a result, they need not have an account set up in Signi, only in the integrated application. They will all receive calls to sign and are able to sign a document. The only disadvantage is that they have to physically sign each and every document.
{ "name": "Document name - XXXXX", "number": "Document number - YYYYY", "locale": "cs", "settings": { "signing_order": "proposers_before_counterparties", "autosign_proposers": "V Praze" }, "people": [ { "is_proposer": true, "email": "vlastnikworkspace@firma.cz", "contract_role": "approve" ..... }, { "is_proposer": false, "party_order": 2, "email": "podepisujicizanavrhovatele@firma.cz", "contract_role": "sign" .... } { "is_proposer": false, "party_order": 3, "email": "podepisujicizaprotistranu@jinafirma.cz", "contract_role": "sign" .... } ], .... template a parametry či soubor a přílohy apod.
Is it possible to avoid the situation in which the proposer’s representative has to sign each and every document? It is, but the scenario thereafter is more complex. Contact us at help@signi.com and we will discuss the options in more detail.
How to specify the name of a document in the right way?
The document name is at the same time the name of the PDF file of the signed document which is returned to the integrated system or when downloading the document from user interface. At the same time, the PDF file of the checklist has the same name as the PDF file of the signed document, the difference being the prefix KL_ in the name.
It is therefore advisable during integration to send to API in the document name, i.e. contract_name, a unique value which is also understandable to the signatory. It will then be easy to clearly trace both the document and its checklist. At the same time, it should be borne in mind that the document name is shown to the signatories in e-mail and SMS notifications; i.e. it is not entirely appropriate to send, for example, the number itself. Example of correct naming: “Solemn declaration regarding warranty claim no. 6493543”.
How are the identification numbers of a document transferred?
The document number in Signi - Contract_ID, which is the result of invoking signature and is also a component part of the webhook call (in the HEAD section) - is currently used for identification.
If you want to transfer the identification of the document in the integrated system as well, this identification may be added to the address of the webhooks as workaround.
UNDER PREPARATION: Transferring document identification in the integrated system in the “your number/our number” logic to the parameters of invoking signature and webhooks.
Can the texts of sent emails and SMS be changed?
Yes, they can - this is a setting valid for the entire workspace, and they can be changed by any user with access to the space.
You can also specify the name of the sender, or the name of the addressee of the reply (REPLY TO).
Parameters in texts to be interchanged according to current status:
{CONTRACTNAME} - Adds the document name if the name of the file or template used is not filled in.
{NAME} - Adds the full name of the workspace owner
{CLIENTNAME} - Adds the full name of the client - for persons first name and surname??, for companies??
How to send multiple documents in one set?
Sequence of calling
endpoint template {.... Last_document:false… }
endpoint template attachment {.... Last_document:false… }
endpoint template attachment {.... Last_document:false… }
endpoint template attachment {.... Last_document:true… }
The document may have an unlimited number of attachments, each signature is billed as a separate signature.
If someone is to sign multiple documents in a single batch, he/she will only receive one SMS and email. He/she will then be shown the individual documents, which must be signed one by one.
Multiple documents sent in one set - for example, the customer receives one email. After clicking on it, it can access all documents in the set (see above) and can sign them (for example, an offer or a contract) or merely approve them (for example, General Terms and Conditions)
How do I receive the outcome of transferring supporting documents for signing?
You can find the immediate outcome of transferring supporting documents for signing synchronously as a “Response” to calling the relevant endpoint.
If the supporting documents are complete and valid, the response code is 200. Error codes begin with 400, and a description of the error is given in the body. You might sometimes encounter the universal error 500, although we try to minimize this.
The BODY of the response also provides you with the value of the variable Contract_ID, which is the identification of the document in Signi. This information is then used in the webhook (see below) and can be used to download a Checklist with the process of signing a document, etc.
The response also includes the URL of unique page addresses for signing a document by specific signatories/approvers, which can be used for integration.
How to sign via API remotely and in the integrated application itself?
There are two basic ways:
Remote signing via API - After signing is invoked in the integrated application, an e-mail message with a link to the pages for signing is sent after calling Signi API. If a phone number is provided, SMS notifications can also be sent. This is similar to the standard sending of documents for signing via Signi user interface.
Signing in the integrated application itself via API - The option of Signing on one device is available in Signi user interface, when both the proposer and all counterparties are in the one place and sign in Signi at the one time on the one device. This can be done in a similar way when integrating with another application, in that signing goes ahead in the integrated application. When transferring documents or supporting documents for a template, Signi returns the URL for the signature of individual signatories – see How do I receive the outcome of transferring supporting documents for signing?. The integrated application then displays pages with these addresses for signing by one or more signatories. Note that when there are multiple signatories, they must all have their own space for signing. If multiple documents are signed at the same time in a set, everything still comes under one URL, only the user sees several bookmarks with individual documents in the left-hand panel.
N.B. There is not presently any direct flag in API as to whether notifications should be sent or not; if a signature is to be made on one device, one system e-mail is shown for the signatory when calling. The signatory is therefore actually verified with his/her signature and, if necessary, a PIN copied from the verification SMS sent during 2FA authorization.
Documents
In which formats are files transferred for signing?
In the current version, only PDF can be sent via API; support for other formats, DOC, docx, XLS, xlsx, HTML, will be added, or reinstated.
In the HTTP request, files for signing are transferred in multichart/form-data format.
UNDER PREPARATION:
Reinstatement of support for DOC, docx, XLS, xlsx, HTML when uploading via API.
Binary files will be recoded into text in the End Point Full RestAPI variant.
How to transfer information about the placement of signatures when transferring files?
The placement of signatures is only resolved when you send your documents for signing. If using Signi templates, the position of the signatures is set by the template.
The dynamic placement of a signature
The easiest way to place signatures in documents when transferring via API is to attach a separate signature sheet with signatures at the end of the document. When calling the end point Create a contract 2.0 > From a document, "missing_positions": "append_to_the_end" is listed in the settings section as one of the parameters; see below or full example of Hello World 2.
"settings": { "signing_order": "all_at_once", "autosign_proposers": "V Praze", "missing_positions": "append_to_the_end" },
Example of stating the parameter missing_positions
Example of dynamic placement of a signature
Static placement of signatures
When calling the endpoint Create a contract 2.0 > From a document, you can also specify in the positions field exactly where the signature is to be placed for each person. This typically covers forms, where the place of the signature is always the same.
Parameters X, Y, sign_proposer [position][x] sign_proposer [position][y] sign_proposer [position][page] and sign_negotiator [position][x] sign_negotiator [position][y] sign_negotiator [position][page] are specified
This is the distance of the upper left-hand corner of the signature from the upper left-hand corner of the document, taken in relation to the dimensions of the uploaded document in %, i.e. the value is between 0 and 100.
Recommended size of signatures for uploading to the signatory’s profile: from 2034 x 792 to 646 x 298.
The placement of each signatory and signature is determined separately, i.e. there may be any number of signatures on the document, e.g. for multilateral agreements or multiple signatory statutory bodies.
By contrast, when there are multiple records in the positions field, the signature of one signatory is required in multiple places on a single document. This is useful, for example, in cases when multiple documents are merged in one PDF and the signatory should sign several of them.
{ "contract_name": "document name - nonmandatory", "number": "document number - nonmandatory", "locale": "cs", "settings": { "signing_order": "all_at_once", "missing_positions": "error" }, "people": [ { "is_proposer": true, "email": "demo@signi.com", "contract_role": "approve" }, { "is_proposer": false, "email": "zakaznik@seznam.cz", "contract_role": "sign", "person_type": "nature", "first_name": "John", "last_name": "Doe#2", "positions": [ { "x": 50, "y": 50, "page": 0 } ] } ], "file": "uploaded_file_key" }
Example of coordinates and page for a person
In the example, only the counterparty signs, which is why "contract_role": "approve" is specified for the proposer ("is_proposer": true); the approval takes place automatically during the API call
UNDER PREPARATION
the size of the signature is always adjusted to the size of the device
if the size of the signature is unconventional, it can be influenced using a suitable parameter
the use of “placeholders” in a document in the same way as, for example, in mass correspondence
Templates
When using templates, how to determine which parameters a template has?
End point https://api.signi.com/api/v1/contract/templates will return you all templates accessible for the workspace with the API key used when calling; the parameters of calling individual templates are found in JSON format in the returned list of templates - see, for example, below.
{ "templates": [ { "id": 396, "name": "Pohybový doklad ", "parameters": [ { "id": "111", "name": "Typ dokladu", "type": "con-options", "values": [ "Příjemka", "Výdejka", "Objednávka vydaná", "Objednávka přijatá", "Rezervace vydaná", "Rezervace přijatá", "Příjemka", "Vratné obaly" ] } ... ] } ] }
How to transfer information about the placement of signatures when using templates?
There is no need to think about the placement of signatures when using document templates managed in Signi. Both the placement and the size of the signatures are determined by the template.
One signature can be placed in a template multiple times, only the field for the specified signature order is stated in the template code more than once. The signatory, however, must physically sign only once.
See below for more information on arranging continuity between calling API and the template code.
How to harmonize templates and API calling so that signatures appear in the right places?
The signatures field in templates must have customized signing scenarios transferred via API. If it depends on the order of the signers, templates must also be adjusted to account for this. The two basic scenarios are as follows.
If the signing scenario involves the proposer as signer
"people": [
{
"is_proposer": true,
"party_order": 1,
"email": "me@example.com",
"contract_role": "sign"
},
{
"is_proposer": false,
"party_order": 2,
"email": "unregistered+1@example.com",
"contract_role": "sign",
the corresponding signature fields in the template are:
<tr>
<td>
<p>
<con-sign con-id="16" party-type="proposer"></con-sign>
</p>
</td>
<td>
<p>
<con-sign con-id="17" party-type="counterparty" party-order="2"></con-sign>
</p>
</td>
</tr>
If the signing scenario does not involve the proposer as signer
"people": [
{
"is_proposer": true,
"party_order": 1,
"email": "zakladatelworkspace@firmanavrhovatele.cz",
"contract_role": "approve"
},
{
"is_proposer": false,
"party_order": 2,
"email": "me@example.com",
"contract_role": "sign"
},
{
"is_proposer": false,
"party_order": 3,
"email": "unregistered+1@example.com",
"contract_role": "sign",
the corresponding signature fields in the template are:
<tr>
<td>
<p>
<con-sign con-id="16" party-type="counterparty" party-order="2"></con-sign>
</p>
</td>
<td>
<p>
<con-sign con-id="17" party-type="counterparty" party-order="3"></con-sign>
</p>
</td>
</tr>
If it depends on the order of the signers, the signing_order: "one_at_a_time” switch is also a component part of calling endpoints in API, essentially the same as ticking "Depends on order" in Signi user interface. When transferring signatures via API for individual persons, the parameter “party_order” corresponds to 1,2 3… The respective placements of the signatures in the templates must correspond to the order of signing and these numbers.
"settings": { "signing_order": "one_at_a_time" },
How do I display the whole template code of a template?
A template document is saved in the enhanced version of HTML.
It is accessible at the endpoint https://signi.docs.apiary.io/#reference/smlouva/smlouva/detail-smlouvy
It contains a field for replacement with real values (placeholder), such as CON_TEXT and others.
When using templates for signing, how to transfer the parameters to be filled into the template?
The Create contract / document 2.0 > From a template endpoint is used when transferring data for a template. The individual parameters of the template are transferred in the Parameters section, in that “id” corresponds to the id parameter in the template.
BODY { “number:” ... další standardní parametry dokumentů…. "parameters": [ { "id": "12", "value": "neurčito" … další volitelné parametry pro daný vzor...} "webhooks" ... další části volání }
Part of calling the Endpoint “Creating from a template” in Signi API
<con-section con-id="12">: Datum pohybu: <con-date con-id="1201" name="Datum pohybu" label="[Datum pohybu]" placeholder="Datum pohybu" description="Datum pohybu."></con-date>.<br> Zakázka: <con-textarea con-id="1202" name="Zakázka" label="[Zakázka]" placeholder="Zakázka" description="Zakázka "></con-textarea><br> Středisko: <con-textarea con-id="1203" name="Středisko" label="[Středisko]" placeholder="Středisko" description="Středisko "></con-textarea> </con-section>
Part of the template code
How to hide and display sections via API in a template when using templates?
You can define sections in templates which can then be switched on and off via API. Con-part serves this purpose in the template.
<con-part con-id="6" hideable=true> <div class="part1"> <div> <h4>ADRESA PRE ZASIELANIE KOREŠPONDENCIE</h4> <con-section con-id="61"> <span class="col-2">Ulica: <con-textarea con-id="611" name="Ulica" label="[Doplňte]" placeholder="" description="Uveďte ulicu" style="color:#004085 !important;"></con-textarea></span> <span class="col-1">| Súpisné číslo: <con-textarea con-id="612" name="Súpisné číslo" label="[Doplňte]" placeholder="" description="Uveďte súpisné číslo" style="color:#004085 !important;"></con-textarea></span> <span class="col-1">| Orientačné č.: <con-textarea con-id="613" name="Orientačné číslo" label="[Doplňte]" placeholder="" description="Uveďte orientačné číslo" style="color:#004085 !important;"></con-textarea></span> <span class="col-2">Obec: <con-textarea con-id="614" name="Obec" label="[Doplňte]" placeholder="" description="Uveďte obec" style="color:#004085 !important;"></con-textarea></span> <span class="col-1">| PSČ: <con-textarea con-id="615" name="PSČ" label="[Doplňte]" placeholder="" description="Uveďte PSČ" style="color:#004085 !important;"></con-textarea></span> <span class="col-1">| Číslo bytu: <con-textarea con-id="616" name="Číslo bytu" label="[Doplňte]" placeholder="" description="Uveďte číslo bytu" style="color:#004085 !important;"></con-textarea></span> </span> </p> </con-section> </div> </div> </con-part>
Displaying or hiding an entire section can be done by adding the ID parameter corresponding to the section con-part, where the value is either hide or show, to the parameters transferred via API.
The code in the JSON file for creating a document from a template then contains the following in the parameters field to cover the case in which the con-part section=2 is to be hidden.
.... "parameters": [ { "id": "2", "value": "hide" }, ...
N.B.! Identifiers of the con-part section are NOT shown in the list of template parameters - see When using templates, how to determine which parameters a template has? One of the ways of finding out is to download the whole template code using How do I display the whole template code of a template?, and there you will find the appropriate identifiers of the con-part section.
Jaké parametry jsou při volání nepovinné a k čemu se používají?
Pro zaslání dokumentu k podpisu je nutný jen e-mail a telefon, nicméně mezi parametry jsou i další identifikační údaje.
Některé údaje jsou nutné při předávání podkladů pro vzor, kdy ve vzoru dokumentu není žádná identifikace smluvních stran a vyplňují se z parametrů předaných při volání.
I zde je třeba povinné jméno, datum narození má smysl zadávat tehdy, kdy zákazník chce, aby pro přesnější identifikaci smluvní strany bylo uvedeno.
Při předání dokumentů nejsou nutné, nicméně pro zachování stejné struktury parametrů tam zůstávají.
Ve zprávách podepisujícím přes SMS a e-mail se použije Jméno, Příjmení či Organizace coby identifikace odesílatele dokumentu. Stejně jako ve jménu odesílajícího v hlavičce e-mailu.
Pokud se předají údaje o podepisujících ve strukturované podobě, bylo by možné po jejich následné registraci jim zobrazit i jejich dokumenty podepsané bez registrace. Vzhledem ke GDPR a potenciálnímu riziku omylu tato funkce zřejmě nebude dostupná.
Jak získám výsledek předání podkladů pro podpis
Okamžitý výsledek předání podkladů pro podpis zjistíte synchronně jako “Response” na volání příslušného endpointu.
Pokud jsou podklady kompletní a validní, kód odezvy je 200 Chybové kódy začínají 400 , kde v body je popis chyby. Občas můžete narazit na universlání chybu 500, snažíme se jí minimalizovat.
V BODY odpovědi získáte i hodnotu proměnné Contract_ID, což je identifikace dokumentu v Signi. Tento údaj je pak použit ve webhooku (viz dále), lze ho použít pro stažení Kontrolního listu s průběhem podpisování dokumentu apod.
Součástí odezvy jsou i URL unikátních adres stránek pro podpis dokumentu konkrétními podepisujícími/schvalujícími, které lze použít při integraci.
Jak získat přístup ke stránkám pro podepsání?
Jsou dvě základní cesty :
Distanční podepsání - podepisujícím se po zavolání end pointu API odesílá emailová notifikace s odkazem na stránky pro podepsání. Pokud je uvedeno tel číslo, může odcházet i SMS notifikace. Je to obdoba standardního odeslání dokumentu k podpisu přes uživatelské rozhraní Signi.
Podpis na jednom zařízení - SIgni vrací URL pro podpis jednotlivých podepisujících viz Jak získám výsledek předání podkladů pro podpis a integrovaná aplikace zobrazí odpovídající odkazy, rámce apod. pro podpis jednotlivých osob. Pozor, pokud je podepisujících více, musí mít všechni svůj prostor k podpisu. Je to obdoba podpisu na jednom zařízení přes uživatelské rozhraní Signi.
Pozn: Nyní není v API přímo příznak pro to, zda se mají odesílat notifikace či nikoliv, pokud se má dít podpis na jednom zařízení, pří voání se u podepisujícího uvede jeden systémový e-mail. Podepisující se tak reálně ověřuje svým podpisem a případně PIem opsaným z ověřovací SMS zaslané při 2FA autorizaci.
Jak získat výsledky podepisování?
Vyvoláním zpětného webhooku
Součástí předávání podkladů pro podpis jsou i 3 URL adresy tzv. “webhooků” pro každou hodnotu výsledku:
podepsáno - signed,
odmítnuto - rejected,
neověřeno - expired.
URL adresy typicky obsahují volání integrované aplikace.
Zavolán je vždy jen jeden webhook z těchto tří podle výsledku. Pokud se parametr url ponechá prázdný, web hook se nevyvolá.
Ve vzoru volání na apiary.io je třeba text “your_webhook_url\” nahradit reálnou URL.
Nyní se volá webhook pro každý dokument zvlášť včetně příloh.
Při volání webhooku předáváme stejný API klíč jako byl použit pro volání Signi tj. zabezpečení je stejné jako směrem do Signi. Typ autorizace je tedy API Key, jako hodnota klíče x-api-key je uveden API klíč workspace, do kterého byl dokument k podpisu poslán, a hodnota se předává v Header.
Výsledný podepsaný dokument se do integrované aplikace při vyvolání webhooku předává následovně:
{
"contract_id": 3359,
"state": "completed",
"attachments": []
}
který je platný pouze 10 minut po vyvolání webhooku, později je při pokusu o stažení vrácena chyba.
Později lze stáhnout dokument přeshttps://api.signi.com/api/v1/contract/id/download
Soubor ve webhooku a end pointu download se předává ve formátu - Application/pdf .
PŘIPRAVUJEME: Volbu, kdy půjde pouze podepsat všechny dokumenty v jednom volání a zpět se bude volat pouze jeden webhook. Hodí se např. tehdy, pokud v integrovaném workflow systému je možné jedno větvení podmínek pro jeden případ, který ale zahrnuje více dokumentů.
Průběžným ověřováním stavu
Někdy lze webhooky v integrovaném systému obtížně implementovat.
Je možné se periodicky anebo např. při otevření detailu souvisejícího záznamu v integrovaném dokumentu dotazovat na aktuální stav dokumentu.
Při odeslání dokumentu k podpisu v odpovědi získáte identifikátor dokumentu Contract_id:
Response 200 HEADERS Content-Type:application/json BODY { "contract_id": "1234", "attachments": [] }
Stav příslušného dokumentu získáte přes End Point Detail smlouvy, tj. https://api.ismlouva.cz/api/v1/contract/id, kde id je Contract_id.
Jak se dostanu k polím definovaným v daném vzoru?
Vzor dokumentu je uložen v rozšířené verzi HTML.
Přístupný je na endpointu https://ismlouva3rdpartyservice1.docs.apiary.io/#reference/smlouvy/contract/contract-detail
Obsahuje pole pro nahrazení reálnými hodnotami (placeholder), typu CON_TEXT a další.
V jakém formátu se předávají soubory k podpisu i zpět?
Soubory k podpisu s předávají ve formátu - multipart/form-data
Soubor ve webhooku a end pointu download se předává ve formátu - Application/pdf
PŘIPRAVUJEME: Ve variantě End Pointů Full RestAPI budou binární soubory překódovány do textu.
Jak se předávají identifikační čísla dokumentu?
Nyní se pro identifikaci používá číslo dokumentu v Signi - Contract_ID, které je výsledkem vyvolání podpisu a je i součástí volání webhooku (v HEAD sekci).
Pokud si chcete předávat i identifikaci dokumentu v integrovaném systému, jako workaround je možné tuto identifikaci vložit do adresy webhooků.
PŘIPRAVUJEME: Předání identifikace dokumentu v integrovaném systému v logice “vaše číslo/naše číslo” do parametrů vyvolání podpisu i webhooků.
Jdou změnit texty zasílaných e-mailů a SMS?
Ano, lze - je to nastavení platné pro celý workspace/pracovní prostor a může je měnit jakýkoli uživatel s přístupem do prostoru.
Lze určit i jméno odesílatele, resp. jméno adresáta odpovědi (REPLY TO)
Parametry v textech k záměně dle aktuálního stavu:
{CONTRACTNAME} - Doplní název dokumentu, pokud není vyplněn název souboru nebo použitého vzoru
{NAME} - Doplní celé jméno vlastníka pracovního prostoru
{CLIENTNAME} - Doplní celé jméno klienta - u osob jméno a příjmení??, u firem??
Vytváření hlavního dokumentu s několika přílohami
Posloupnost volání
endpoint template {.... Last_document:false… }
endpoint template attachment {.... Last_document:false… }
endpoint template attachment {.... Last_document:false… }
endpoint template attachment {.... Last_document:true… }
Dokument může mít neomezené množství příloh, podpis každého je účtován jako samostatný podpis.
Pokud má člověk podepsat více dokumentů v jedné dávce, dojde mu pouze jedna SMS a e-mail. Pak se mu ukáží jednotlivé dokumenty, které musí podepsat jeden po druhém.
PŘIPRAVUJEME: Výsledek podpisu každého z dokumentů se předává samostatným voláním příslušného webhooku. Volbu, kdy půjde pouze podepsat všechny dokumenty v jednom volání.
Je možné mít vlastní branding?
Vlastní branding se hodí :
v rámci prodejního procesu - kdy ukážeme zákazníkovi “jeho design” na prvcích komunikace = mailech a stránkách pro schválení dokumentů,
při skutečném nasazení.
Zatím nelze “naklikat”, lze zaslat požadavek.
Možnosti brandingu jsou popsány v Kroky podpisu dokumentu a možnosti brandingu - PUBLIC.
PŘIPRAVUJEME: Cílově půjde o jeden z úkonů, které mohou připravovat pro koncové zákazníky ve svém rozhraní a účtovat partneři.
Jak sladit vzory a volání API, aby se podpisy ukazovaly na správných místech ?
Pole pro podpisy ve vzorech je třeba mít přízpůsobené scénáři podepisování předávaném přes API. Pokud záleží na pořadí podepisujících, musí být vzory přízpůsobené i tomu. Dva základní scénáře jsou následující.
Pokud je scénář podepisování s navrhovatelem
"people": [
{
"is_proposer": true,
"email": "me@example.com",
"contract_role": "approve"
},
{
"is_proposer": false,
"party_order": 1,
"email": "unregistered+1@example.com",
"contract_role": "approve",
musí být pode pro podpisu ve vzoru
<tr>
<td>
<p>
<con-sign con-id="16" party-type="proposer"></con-sign>
</p>
</td>
<td>
<p>
<con-sign con-id="17" party-type="counterparty" party-order="1"></con-sign>
</p>
</td>
</tr>
Pokud je scénář podepisování bez navrhovatele
"people": [
{
"is_proposer": false,
"party_order": 1,
"email": "me@example.com",
"contract_role": "approve"
},
{
"is_proposer": false,
"party_order": 2,
"email": "unregistered+1@example.com",
"contract_role": "approve",
musí být pode pro podpisu ve vzoru
<tr>
<td>
<p>
<con-sign con-id="16" party-type="counterparty" party-order="1"></con-sign>
</p>
</td>
<td>
<p>
<con-sign con-id="17" party-type="counterparty" party-order="2"></con-sign>
</p>
</td>
</tr>
Pokud záleží na pořadí podepisujících, je součástí volání endpointů v API i přepínač signing_order": "one_at_a_time", což odpovídá zaškrtnutí “Záleží na pořadí” v uživatelském rozhraní Signi. Při předávání podpisů přes API u jednotlivých osob / person odpovídá parametr “party_order” 1,2 3… pořadí podepisování a těmto číslům pak musí odpovídat příslušná umístění podpisů ve vzorech.
"settings": { "signing_order": "one_at_a_time" },
Proč není API Signi striktně RestAPI?
Signi je integrovaná s různě vyspělými aplikacemi.
Tomu odpovídá současná podoba API, kterou lze nazvat “Essential” a lze snadno použít jednoduše i při základním volání z jednoduchého webu na PHP či CURL utilitu přes HTTP.
PŘIPRAVUJEME: Paralelní verzi fundamentálně pojatého RestAPI, kde například binární soubory jsou překódované do textového řetězce.