NAV Navbar
cURL java javascript

Introduction

L'API NGSign permet de signer des documents en format PDF.

Pour signer un document, il faut créer et configurer un objet appelé NGTransaction. Une transaction regroupe un (ou plusieurs) document à signer, son créateur, des signataires et plusieurs configurations par signataire et par document.

L'API NGSign repose sur des services web REST. Notre API possède des URLs prévisibles et utilise des codes de réponse HTTP pour indiquer les status d'invocation des web services. Nous utilisons les verbes HTTP. Toutes les réponses de l'API sont sous format JSON.

Comment utiliser notre API

Pour signer un document, il faut suivre les étapes suivantes :

Création d'une NGTransaction

Pour créer une NGTransaction, il faut envoyer le document à signer en format PDF. Le service web vous retournera l'identifiant unique de la NGTransaction créée. Cet identifiant doit être utilisé par la suite pour configurer votre NGTransaction.

Voir Créer une transaction

Configuration d'une NGTransaction

La configuration d'une NGTransaction revient à spécifier les données suivantes via l'objet NGSignatureConfiguration:

Voir Configurer une transaction

Signature d'un document

La signature de document est une opération qui s'exécute en mode déconnecté. Le signataire doit envoyé les données suivantes afin de signer la transaction :

Voir Signer une transaction

Télécharger le document signé

Pour télécharger le document signé, l'utilisateur doit fournir l'identifiant de la NGTransaction ainsi que l'identifiant du NGDocument.

Authentification

L'authentification retourne l'objet de type user

{   
    "email":"test@mail.com",
    "firstName":"User",
    "lastName":"Signer",
    "phoneNumber":"22222222",
    "uuid":"userUuid",
    "roles":["USER"],
    "status":"CREATED",
    "tokensNumber":5
}

NGSign expose deux types de services :

Se connecter

curl -X POST 
-d email=test@mail.com 
-d password=testValue1
https://app.ng-sign.com.tn/server/authenticate
public class Example
{
    public static void main(String[] args) throws Exception
    {
        String urlParameters= "email=test@mail.com&password=testValue1";
        byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
        String request = "https://app.ng-sign.com.tn/server/authenticate";
        URL url = new URL(request);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        conn.setUseCaches(false);
        try (DataOutputStream wr = new DataOutputStream(
            conn.getOutputStream())) {
            wr.write(postData);
        }
        if (conn.getResponseCode() != 200) {
            throw new RuntimeException(
            "Failed : HTTP error code : " + conn.getResponseCode());
        }
        BufferedReader br = new BufferedReader(
            new InputStreamReader(conn.getInputStream()));
        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }
        conn.disconnect();
    }
}
function login() {
        var http = new XMLHttpRequest();
        var url = "https://app.ng-sign.com.tn/server/authenticate";
        var params = "email=test@mail.com&password=testValue1";
        http.open("POST", url, true);
        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            http.onreadystatechange = function() { 
                if (http.readyState == 4 && http.status == 200) {
                    alert(http.responseText);
                }
            }
        http.send(params);
}

POST https://app.ng-sign.com.tn/server/authenticate

Pour s'authentifer, l'utilisateur doit fournir son email et son mot de passe. Le système renvoye une cookie de type JSESSIONID qu'il faut utiliser dans les futures opérations.

Suite à l'opération d'authentifcation, L'API de NGSign retourne des informations de l'utilisateur connecté. Voir l'objet NGUser.

Se déconnecter

curl -X GET --cookie "JSESSIONID=testValue"   https://app.ng-sign.com.tn/server/logout
public class Example
{

    public static void main(String[] args) throws Exception
    {
        String cookieParam = "JSESSIONID=testValue";

        URL url = new URL("https://app.ng-sign.com.tn/server/logout");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Cookie", cookieParam);

        if (conn.getResponseCode() != 200) {
            throw new RuntimeException(
                "Failed : HTTP error code : " + conn.getResponseCode());
        } else {
            System.out.println(
                "User logged out successfully!");
        }
        conn.disconnect();
    }

function logout() {
        var xhttp = new XMLHttpRequest();
        xhttp.open("GET", "https://app.ng-sign.com.tn/server/logout", false);
        xhttp.withCredentials = true;
        xhttp.send();
    }

POST https://app.ng-sign.com.tn/server/logout

Il es possible de se déconnecter pour mettre fin à la session courante.

NGUser

L'objet NGUser

L'objet NGUser est défini comme suit :

{   
    "email":"test@mail.com",
    "firstName":"User",
    "lastName":"Signer",
    "phoneNumber":"22222222",
    "uuid":"userUuid",
    "roles":["USER"],
    "status":"CREATED",
    "tokensNumber":5
}

L'objet NGUser représente un utilisateur de NGSign ayant créé un compte.

Attribut Type Explication
uuid String Un identifiant unique d'un objet NGUser.
email String L'email de l'utilisateur.
firstName String Le prénom de l'utilisateur.
lastName String Le nom de l'utilisateur.
phoneNumber String Le numéro de téléphone de l'utilisateur.
status String Le statut de l'utilsateur qui peut être: ‘TEMPORARY_CREATED’, ‘CREATED’, ‘DELETED’ et ‘SUSPENDED’.
tokensNumber Integer Le nombre de jetons possédées par l'utilisateur pour signer et faire signer des NGTransaction.
roles List<String> La liste des rôles affectés à l’utilisateur.

Récupérer ses propres informations

GET https://app.ng-sign.com.tn/server/protected/user/

Tout utilsiateur connecté peut récupérer ses informations personnelles.

Récupérer les informations d'un utilisateur donné

GET https://app.ng-sign.com.tn/server/any/user/{uuid}

Tout utilisateur de NGSign peut récupérer les informations publiques de n'importe quel utilisateur en spécifiant son identifiant unique.

NGSigner

L'objet NGSigner

L'objet NGSigner est décrit comme suit :

    {
        "signer":
        {
            "email": "signer@test.com",
            "firstName": "Signer",
            "lastName": "Signer",
            "phoneNumber": null,
            "uuid": "uuid",
            "tokensNumber": 0
        },
        "status": "SIGNED",
        sigType: "CERTIFIED_TIMESTAMP",
        mode: "FACE_TO_FACE",
        signingTime: "1234",
        otp: "NONE"
    }

Cet objet contient les informations d'un signataire par rapport à une NGTransaction.

Attribut Type Explication
signer NGUser Les informations personnelles du signataire. Voir NGUser.
status String Le statut du signataire par rapport à la Transaction
type String Le type de signature.
mode String Le mode de signature : FACE_TO_FACE ou BY_EMAIL.
signingTime Date La date de signature.
otp String OTP pour demander la validation du compte de tous les signataires par un SMS ou NONE.

Récupérer un NGSigner

Récupérer les détails d'un signataire

curl -X GET -i 
-H "Accept: application/json" 
-H "Content-Type: application/json" 
https://app.ng-sign.com.tn/server/any/transaction/signer/tuuid
public class Example
{

    public static void main(String[] args) throws Exception
    {
        String tuuid = "testValue";

        URL url = new URL("https://app.ng-sign.com.tn/server/any/transaction/signer/" + tuuid);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Content-Type", "application/json");
        if (conn.getResponseCode() != 200) {
            throw new RuntimeException(
                "Failed : HTTP error code : " + conn.getResponseCode());
        }

        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }

        conn.disconnect();
    }
}

function getSigner() {
        var xhttp = new XMLHttpRequest();
        xhttp.open("GET", "https://app.ng-sign.com.tn/server/any/transaction/signer/tuuid", false);
        xhttp.setRequestHeader("Accept", "application/json");
        xhttp.setRequestHeader("Content-type", "application/json");
        xhttp.send();
        var response = JSON.parse(xhttp.responseText);
    }   

GET https://app.ng-sign.com.tn/server/any/transaction/signer/tuuid

Pour récupérer un objet de type NGSigner il est nécessaire de fournir son identifiant unique.

Transaction

Un objet NGTransaction est typiquement un document à signer lié à une liste de configuration. La configuration est typiquement :

L'objet NGTransaction

L'objet NGTransaction se présente comme suit :

{
    "uuid": "transactionUuid",
    "creationDate": 1495037982347,
    "status": "CREATED",
    "signingTime": null,
    "creator": {
        email: "ngsign@yopmail.com",
        firstName: "first name",
        lastName: "last name",
        phoneNumber:"00000000",
        uuid: "abc5s"
        status: "CREATED",
        tokensNumber:5,
        roles: ["user"]
    },
    "nextSigner": null,
    "signers": [],
    "observers": [],
    "pdfs": [
        {"size": 6292,
         "name": "PdfForTest",
         "extension": "pdf",
         "identifier": "testId"
        }
    ]
}

L'objet NGTransaction est défini par les paramètres suivants :

Attribut Type Explication
uuid String Un identifiant unique d'une NGTransaction.
creationDate Date La date de création de la Transaction
status String Le statut de la transaction
signingTime Date La date de signature de la transaction.
creator NGUser Le créateur de la transaction. Voir l'objet NGUser
nextSigner String Un identifiant unique permettant au prochain signataire d'accéder à la page de signature.
signers List<NGSigner> La liste des signataires . Voir l'objet NGSigner
observers List<NGUser> La liste des personnes observant la transaction. Voir l'objet NGUser
pdfs List<NGDocument> La liste de documents PDF à signer. Voir l'objet NGDocument

Créer une NGTransaction

Créer la Transaction

Exemple de requête

curl -X POST 
-H "Content-Type: application/json" --cookie "JSESSIONID=testValue" 
-d '[{"fileName": "file1", "fileExtension": "pdf", "fileBase64":"testValue"}, {"fileName": "file2", "fileExtension": "pdf", "fileBase64":"testValue"}]' 
https://app.ng-sign.com.tn/server/protected/transaction/pdfs
public class Example
{

    public static void main(String[] args) throws Exception
    {
        String cookieParam = "JSESSIONID=testValue";

        URL url = new URL("https://app.ng-sign.com.tn/server/protected/transaction/pdfs");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/json");

        String input = "[{\"fileName\": \"file1\",
            \"fileExtension\": \"pdf\",
            \"fileBase64\":\"testValue\"},
            {\"fileName\": \"file2\",
            \"fileExtension\": \"pdf\",
            \"fileBase64\":\"testValue\"}]' ";

        OutputStream os = conn.getOutputStream();
        os.write(input.getBytes());
        os.flush();

        if (conn.getResponseCode() != 200) {
            throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
        }

        BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));

        String output;
        System.out.println("Output from Server ....");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }
        conn.disconnect();

    }
}

function createTransaction() {
    var xhr = new XMLHttpRequest();
    var url = "https://app.ng-sign.com.tn/server/protected/transaction/pdfs";
    xhr.open("POST", url, true);
    xhr.setRequestHeader("Content-type", "application/json");
    xhr.withCredentials = true;
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            var json = JSON.parse(xhr.responseText);
            console.log("uuid = " + json.uuid + ", status = " + json.satus) ;
        }
    };
    var data = [{fileName: "file1",
        "fileExtension": "pdf",
        "fileBase64":"testValue"},
        {"fileName": "file2",
        "fileExtension": "pdf",
        "fileBase64":"testValue"}];

    xhr.send(data);
} 

POST https://app.ng-sign.com.tn/server/protected/transaction/pdfs

La création de transaction est une opération qui nécessite avoir un compte NGSign préalablement activé. L'utilisateur souhaitant créé une NGTransaction (appelé aussi creator) doit être préalablement connecté.

Pour créer une transaction, il faut envoyer la liste des fichiers PDFs à signer en format Base64. Voir l'objet NGFileUpload pour plus de détails.

Cet appel permet d'initier la création d'une NGTransaction qu'il faut configurer par la suite.

Récupérer le fichier pdf sous forme d'octets:

Récupérer le fichier sous forme d'octets

Exemple de requête

curl -X GET -i 
-H "Accept: application/json" 
-H "Content-Type: application/json" 
https//app.ng-sign.com.tn/server/any/transaction/uuid/pdfs/id
public class Example
{

    public static void main(String[] args) throws Exception
    {
        String uuid = "testUuid";
        String id = "testId";

        URL url = new URL("https://app.ng-sign.com.tn/server/any/transaction/" + uuid+"/pdfs/"+id);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Content-Type", "application/json");
        if (conn.getResponseCode() != 200) {
            throw new RuntimeException(
                "Failed : HTTP error code : " + conn.getResponseCode());
        }

        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }

        conn.disconnect();
    }
}
function getPDF(){
    var xhr = new XMLHttpRequest();
    xhr.responseType = 'arraybuffer';
    xhr.onload = function() {
        var buffer = xhr.response;
        var blob = new Blob([buffer], {
            type: 'application/pdf'
            });
        var objectURL = URL.createObjectURL(blob);
        window.open(objectURL);
    };
    xhr.open("GET", "https://app.ng-sign.com.tn/server/any/transaction/uuid/pdfs/id", true);        
    xhr.send();
}

GET https//app.ng-sign.com.tn/server/any/transaction/uuid/pdfs/id

Pour récupérer le fichier sous forme d'octects, il faut utiliser l'identifiant de la transaction (uuid) et l'identifiant unique du fichier (id).

Configurer une NGTransaction

Configurer la Transaction

Exemple de requête

curl -X POST  -H "Content-Type: application/json" --cookie "JSESSIONID=testValue" 
-d '{"sigConf": [{
    "signer": {
        "firstName": "Creator",
        "lastName":"Creator",
        "email": "creator@test.com"
    },
    "sigType": "CERTIFIED_TIMESTAMP",
    "mode": "BY_MAIL",
    "otp": "OTP",
    "docsConfigs": [{
        "page": 1,
        "xAxis": 147.5,
        "yAxis": 175,
        "identifier": "testId"
    }]}],
    "lang": "fr"
    }'
public class Example
{

    public static void main(String[] args) throws Exception
    {
        String transactionUuid = "testUuid";
        String cookieParam = "JSESSIONID=testValue";
        URL url = new URL("https://app.ng-sign.com.tn/server/protected/transaction/" + transactionUuid + "/launch");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Cookie", cookieParam);
        conn.setRequestProperty("Content-Type", "application/json");

        String input
            = "[\"sigConf\": [{
                \"signer\": {
                    \"firstName\":\"Creator\",
                    \"lastName\":\"Creator\",
                    \"email\":
                    \"creator@test.com\"},
                 \"sigType\": \"CERTIFIED_TIMESTAMP\",
                 \"docsConfigs\": [{
                     \"page\": 1,
                    \"xAxis\": 147.5,
                    \"yAxis\": 175,
                    \"identifier\": \"testId\"}],
                \"mode\": \"FACE_TO_FACE\"}]},
                 \"lang\": \"fr\"}]";

        OutputStream os = conn.getOutputStream();
        os.write(input.getBytes());
        os.flush();

        if (conn.getResponseCode() != 200) {
            throw new RuntimeException(
                "Failed : HTTP error code : " + conn.getResponseCode());
        }

        BufferedReader br = new BufferedReader(
            new InputStreamReader(conn.getInputStream()));

        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }

        conn.disconnect();
    }
}
function configureTransaction() {
    var xhr = new XMLHttpRequest();
    var url = "https://app.ng-sign.com.tn/server/protected/transaction/transactionUuid/launch";
    xhr.open("POST", url, true);
    xhr.setRequestHeader("Content-type", "application/json");
    xhr.withCredentials = true;
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            var json = JSON.parse(xhr.responseText);
            console.log("uuid = " + json.uuid + ", status = " + json.satus) ;
        }
    };
    var data = '{
    sigConf: [{
        signer: {
            firstName: "Creator",
            lastName:"Creator",
            email: "creator@test.com"
        },
        sigType: "CERTIFIED_TIMESTAMP",
        mode: "BY_MAIL",
        otp: "OTP",
        docsConfigs: [{
            page: 1,
            xAxis: 147.5,
            yAxis: 175,
            identifier: "testId"
        }]
    }],
    lang: "fr"
    }';
    xhr.send(data);
} 

POST https://app.ng-sign.com.tn/server/protected/transaction/{transactionUuid}/launch

Configurer l'objet de Transaction créé au cours de la première étape (liste de signataire, l'emplacement des signatures, …)

Récupérer une NGTransaction

Récupérer la Transaction

Exemple de requête

curl -X GET -i 
-H "Accept: application/json" 
-H "Content-Type: application/json" 
https://app.ng-sign.com.tn/server/any/transaction/transactionUuid
public class Example
{
    public static void main(String[] args) throws Exception
    {
         String transactionUuid = "testValue";

        URL url = new URL("https://app.ng-sign.com.tn/server/any/transaction/" + transactionUuid);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Accept", "application/json");

        if (conn.getResponseCode() != 200) {
            throw new RuntimeException(
                "Failed : HTTP error code : " + conn.getResponseCode());
        }

        BufferedReader br = new BufferedReader(
            new InputStreamReader(conn.getInputStream()));

        String output;
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }

        conn.disconnect();
    }
}
function getTransaction() {
    var xhttp = new XMLHttpRequest();
    xhttp.open("GET", "https://app.ng-sign.com.tn/server/any/transaction/transactionUuid", false);
    xhttp.setRequestHeader("Accept", "application/json");
    xhttp.setRequestHeader("Content-type", "application/json");
    xhttp.send();
    var response = JSON.parse(xhttp.responseText);
}

GET https://app.ng-sign.com.tn/server/any/transaction/uuid

Pour récupérer un objet de type NGTransaction, il faut utiliser son identifiant unique (uuid)

Signer une NGTransaction

Pour signer la Transaction

Exemple de requête

curl -X POST 
-H "Accept: application/json" 
-H "Content-Type:application/json;charset=utf-8" 
-d "testValue"  
https://app.ng-sign.com.tn/server/any/transaction/tuuid/act
public class Example
{

    public static void main(String[] args) throws Exception
    {
        String tuuid = "testId";


        URL url = new URL("https://app.ng-sign.com.tn/server/any/transaction/" + tuuid + "/act");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/json");

        String input = "testValue";
        OutputStream os = conn.getOutputStream();
        os.write(input.getBytes());
        os.flush();

        if (conn.getResponseCode() != 200) {
            throw new RuntimeException(
                "Failed : HTTP error code : " + conn.getResponseCode());
        }

        BufferedReader br = new BufferedReader(
            new InputStreamReader(conn.getInputStream()));

        String output;
        System.out.println("Output from Server....");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }
        conn.disconnect();

    }
}
function signTransaction() {
    var xhr = new XMLHttpRequest();
    var url = "https://app.ng-sign.com.tn/server/any/transaction/tuuid/act";
    xhr.open("POST", url, true);
    xhr.setRequestHeader("Content-type", "application/json;charset=utf-8");
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            var json = JSON.parse(xhr.responseText);
            console.log("uuid = " + json.uuid + ", status = " + json.status) ;
        }
    };
    xhr.send("testValue");
}

Pour signer une transaction, il faut envoyer :

NGDocument

L'objet NGDocument

L'objet NGSigner est décrit comme suit :

    {
        "size": 123,
        "name": "file_to_test",
        "extension": "pdf",
        "identifier": uuid_test
    }

Cet objet représente le document à signer. Il ne contient que les méta-data du document.

Attribut Type Explication
name String Le nom du document.
extension String L'extension du document. Typiquement, la valeur est pdf
identifier String Un identifiant unique du document.
size long La taille du document.

NGFileUpload

L'objet NGFileUpload est une entité qui comporte le document PDF à signer encodé en Base64.

L'objet NGFileUpload

L'objet NGFileUpload est décrit comme suit :

    {
        "fileName": "file_test",
        "fileExtension": "pdf",
        "fileBase64": "base-64 encoded file",
    }
Attribut Type Explication
fileName String Le nom du fichier.
fileExtension String L'extension du fichier. Typiquement PDF.
fileBase64 String Le fichier encodé en Base64.

SignatureConfiguration

    {
        "sigConf": {
            "signer":
            {
                "email": "signer@test.com",
                "firstName": "Signer",
                "lastName": "Signer",
                "phoneNumber": null,
                "uuid": "uuid",
                "tokensNumber": 0
            },
            sigType: "CERTIFIED_TIMESTAMP",
            mode: "FACE_TO_FACE",
            otp: "NONE"
            docsConfig: {
                page: 1,
                xAxis: 12,
                yAxis: 345,
                identifier: "uuid_test"
            }
        },
        "observers": [{
            email: "observer@yopmail.com",
            firstName: "first",
            lastName: "last",
            phoneNumber: "00000000",
            uuid: "uuid_test",
            roles: ["observer", "signer"],
            status: "CREATED",
            tokensNumber: 2
        }],
        "lang": "en",
    }

Cet objet permet de configurer une NGTransaction avec les données suivantes :

Attribut Type Explication
sigConf List<NGSignerConfiguration> La liste de Voir l'objet NGSignerConfiguration
observers List<NGUser> La liste des personnes observant la transaction. Voir l'objet NGUser.
lang String La langue de traitement de la transaction encodée en deux caractères miniscules selon la norme ISO 639-2. Les langues supportées sont le français (fr) et l'anglais (en).

NGSignerConfiguration

L'objet NGSignerConfiguration est défini comme suit :

{   
    "email": "test@mail.com",
    "firstName": "User",
    "lastName": "Signer",
    "phoneNumber": "22222222",
    "uuid": "userUuid",
    "roles": ["USER"],
    "status": "CREATED",
    "tokensNumber": 5
}

Cet objet fait partie de la configuration d'une transaction. Il permet de spécifier la configuration d'un signataire.

Attribut Type Explication
signer NGUser Le signataire.Voir l'objet NGUser
sigType String Le type de signature : SIGNATURE_WITH_SSCD ou CERTIFIED_TIMESTAMP.
mode String Le mode de signature. BY_EMAIL ou FACE_TO_FACE
otp String OTP pour demander la validation du compte de tous les signataire par un SMS ou NONE.
docsConfigs List<NGDocumentConfig> La liste de configuration de la signature de l'utilisateur dans chaque document sujet de la transaction. Voir l'objet NGDocumentConfig.

Les types de signature sont :

Les modes de signature sont :

NGDocumentConfiguration

L'objet NGDocumentConfig

L'objet NGDocumentConfiguration est décrit comme suit :

    {
        "page": 1,
        "xAxis": 12,
        "yAxis": 345,
        "identifier": "uuid_test"
    }

Cet objet représente la configuration d'un document à signer. Il permet de configurer l'emplacement de la signature visuelle dans chaque document.

Attribut Type Explication
page Integer Le numéro de page sur laquelle la signature visuelle sera apposée. La valeur par défaut est 1 qui correspond à la première page du document.
xAxis Integer La position horizontale de la signature dans la page. La valeur par défaut est 0.
yAxis Integer La position verticale de la signature dans la page. La valeur par défaut est 0.
identifier String L'identifiant du document.

Erreurs

Erreurs

NGSign utilise des codes de réponse HTTP conventionnels pour indiquer le succès ou l'échec d'une requête. En général, les codes dans la gamme 2xx indiquent un succès, les codes dans la gamme 4xx indiquent une erreur relative aux données fournies dans la requête et les codes dans la gamme 5xx indiquent une erreur avec le serveur de NGSign (ce qui est rare).

Code erreur Signification
400 Bad Request – La requête est incorrecte ou corrompue, et le serveur ne pouvait pas la comprendre.
401 Unauthorized – La requête nécessite une identification de l'utilisateur.
403 Forbidden – L'accès à la ressource sujet de la requête est absolument interdit pour une raison quelconque.
404 Not Found – La ressource demandée n'a pas pu être trouvée sur leur serveur.
405 Method Not Allowed – Méthode non autorisée.
406 Not Acceptable – La ressource demandée n'est pas disponible dans un format qui respecterait les en-têtes “Accept” de la requête.
500 Internal Server Error – Quelque chose a mal tourné sur le serveur, mais le serveur ne pouvait pas préciser le problème exact.