OneSpan Signe Comment: Créer et envoyer un paquet avec REST à Perl

Haris Haidary, septembre 7, 2016

Perl est un langage de programmation à usage général qui était à l'origine destiné à la manipulation de texte. Ces jours-ci, cependant, il a utilisé dans une grande variété d'applications, telles que le développement web. Au fil des ans, il a gagné en popularité parmi les développeurs en raison de sa flexibilité, la portabilité, l'utilité, et ses caractéristiques variées. C'est aussi l'un des langages de programmation les plus populaires lorsqu'il s'agit de la programmation CGI (Common Gateway Interface) sur le Web. Dans ce blog, je vais vous montrer comment créer et envoyer un paquet avec l'API REST à Perl.

Le code

Pour mon exemple, je vais utiliser Perl Strawberry 5.24 pour Windows. Si vous ne l'avez pas déjà installé, vous pouvez le télécharger à partir du site officiel, ici. Le code d'exemple complet est disponible sur notre part de codecommunautaire des développeurs .

Let's get started. Dans votre éditeur de texte préféré, créez un nouveau nom de fichier "CreateAndSendPackage.pl" et enregistrez-le dans un endroit de votre choix. Vous pouvez aller de l'avant et copier le code ci-dessous. J'examinerai la façon de le faire plus en détail plus en détail.

utiliser LWP::UserAgent;
utiliser Fichier::Slurp;
utiliser des avertissements;
l'utilisation stricte;

mon $ua - LWP::UserAgent--nouveau;
$ua-temps(10);
$ua-default_header ('Accept-Encoding' ' scalar HTTP::Message::decodable());
$ua-add_handler ("request_send", sous-shift--dump; retour;

ma $url "https://sandbox.esignlive.com/api/packages";

mon $json ' ''''documents":["approbations":["id":"ExampleSignatureId","role":"Signer1","fields":["page":0,"top":507,"subtype":"LABEL","height":60,"left":573,"width":"" , "id":"signatureField","page":0,"top":507,"subtype":"FULLNAME","height":60,"left":213,"width":312,"type":"SIGNATURE" id":"Signer1","type":"SIGNER","signers":["email":"[email protected]","firstName":"John","lastName":"Smith","id":"Signer1"

mon $pdf -"sample_contract.pdf";
mon $field-nom 1 - "fichier";
mon $field-nom 2 - "charge utile";

mon $response - $ua--poste ($url,
			Autorisation 'your_api_key de base',
			Accepter l'application/json,
			Content_Type 'form-data',
			Contenu [ $field 'nom '1 '["$pdf"] , $field 'nom '2 '$json]
			);

imprimer $response-contenu;

Maintenant, passons en revue le code plus en détail. Les deux premières lignes importent les modules nécessaires pour faire des demandes HTTP à l'API de OneSpan Sign.

utiliser LWP::UserAgent;
utiliser Fichier::Slurp;
utiliser des avertissements;
l'utilisation stricte;

Ces modules sont préinstallés avec Perl Strawberry. Ensuite, nous devrons créer notre objet agent utilisateur. A savoir, cet objet met en œuvre un agent d'utilisateur web capable de faire des demandes HTTP/S. J'ai également configuré l'agent utilisateur de telle sorte qu'il s'éteins après 10 secondes et imprime la demande à la console à des fins de débogage.

mon $ua - LWP::UserAgent--nouveau;
$ua-temps(10);
$ua-default_header ('Accept-Encoding' ' scalar HTTP::Message::decodable());
$ua-add_handler ("request_send", sous-shift--dump; retour;

La ligne suivante est l'URL de point de terminaison où vous ferez votre demande POST à.

ma $url "https://sandbox.esignlive.com/api/packages";

Ensuite, la chaîne JSON qui définit votre paquet est créée. Vous construisez généralement votre chaîne JSON dynamiquement par rapport à avoir une grande chaîne comme dans cet exemple. J'ai choisi de le faire pour la simplicité.

mon $json ' ''''documents":["approbations":["id":"ExampleSignatureId","role":"Signer1","fields":["page":0,"top":507,"subtype":"LABEL","height":60,"left":573,"width":"" , "id":"signatureField","page":0,"top":507,"subtype":"FULLNAME","height":60,"left":213,"width":312,"type":"SIGNATURE" id":"Signer1","type":"SIGNER","signers":["email":"[email protected]","firstName":"John","lastName":"Smith","id":"Signer1"

Ensuite, quelques variables sont créées afin de faire notre demande POST. Notez que dans mon exemple, mon document PDF est dans le même répertoire que mon script Perl. Si votre document PDF est situé ailleurs, vous devrez mettre le chemin complet vers le document plutôt que de simplement déclarer son nom.

mon $pdf -"sample_contract.pdf";
mon $field-nom 1 - "fichier";
mon $field-nom 2 - "charge utile";

Enfin, nous avons réglé les en-têtes requis et faisons notre demande HTTP POST. La réponse sera ensuite imprimée sur la console.

mon $response - $ua--poste ($url,
			Autorisation 'your_api_key de base',
			Accepter l'application/json,
			Content_Type 'form-data',
			Contenu [ $field 'nom '1 '["$pdf"] , $field 'nom '2 '$json]
			);

imprimer $response-contenu;

Exécution de votre code

Ouvrez votre invite de commande et modifiez l'annuaire actuel à l'endroit où vous avez enregistré votre fichier « CreateAndSendPackage.pl ». Ensuite, entrez la ligne suivante:

perl CreateAndSendPackage.pl

OneSpan Sign retournera ensuite un id paquet en réponse, qui sera imprimé à la fenêtre de commande rapide.

Capture

Si vous avez des questions concernant ce blog ou toute autre chose concernant l'intégration oneSpan Sign dans votre application, visitez les forums de la communauté des développeurs: https://developer.OneSpan.com. C'est moi qui l'ai fait. Merci de lire! Si vous avez trouvé ce message utile, s'il vous plaît le partager sur Facebook, Twitter, ou LinkedIn.

Haris Haidary
Évangéliste technique junior
LinkedIn - France Twitter (en) 

OneSpan Sign Developer Community

OneSpan Sign Developer Community

Rejoignez la communauté OneSpan Sign Developer! Forums, blogs, documentation, téléchargements SDK, et plus encore.

Joignez-vous aujourd'hui