API : Authentification

Pour les appels REST-like, une authentification avec un compte valide au sein d’une licence Sell&Sign est requise. L’authentification peut être réalisée de 2 façons différentes :

  • par l’utilisation d’un token en paramètre
  • par l’utilisation d’un token en entête

Il est bien sûr possible d’opérer simplement dans le cadre d’une session HTTP authentifiée.

Activer votre licence

Afin d’obtenir votre token d’authentification, vous devez disposer d’une licence valide de SELL&SIGN en ligne.

Authentification en paramètre d’URL

Pour utiliser ce mode d’authentification, vous devez ajouter le paramètre j_token à votre requête comme ceci :

https://<host>/calinda/hub/selling/model/<class>/<action type>?action=<method>&<parameters>&j_token=<token URL encodé>

Attention : pour passer des éléments en URL, ils doivent être URLencodés. Par exemple, la chaîne
!kYRv81H|bWEt8lwzntUmeaWeZ6Q7Zh7RKLxGlOny
devient
%21kYRv81H%7CbWEt8lwzntUmeaWeZ6Q7Zh7RKLxGlOny
Si besoin, vous trouverez ici un service en ligne permettant d’URLencoder une chaîne de caractères.

Exemple :

https://cloud.sellandsign.com/calinda/hub/selling/model/signaturemode/list?action=getSignatureModesFor&contract_definition_id=8&j_token=%21kYRv81H%7CbWEt8lwzntUmeaWeZ6Q7Zh7RKLxGlOny

Authentification en en-tête HTTP

Pour utiliser ce mode d’authentification, une manipulation de l’entête HTTP est nécessaire afin d’ajouter l’entête j_token.

En JavaScript, il est possible via l’objet Ajax de jquery de modifier l’entête. Sur les paramètres de configuration de l’appel ajax ($.ajax), on peut ajouter l’attribut beforeSend auquel on va attribuer une fonction que l’on va nommer setHeader. Elle recevra en paramètre un objet xhr sur lequel nous affecterons la valeur de notre entête en utilisant la fonction setRequestHeader.

Exemple :

 $.ajax({ 
	  ...
    	  beforeSend: setHeader,
	  ...
      });
      
      function setHeader(xhr) {
          xhr.setRequestHeader('j_token', 'abcde|RH/YgwxB4LA3jJ1gi9m6JF7iFnK/JKbT');
      }

En Java, en utilisant la librairie Apache HTTP Client, on peut appeler la méthode setHeader des objets HttpPost ou HttpGet.

Exemple :

HttpPost post = new HttpPost(resolveURL(method));
post.setHeader("j_token", my_token);