OneSpan Signe Comment: Créer et envoyer un paquet avec REST dans PHP

Haris Haidary, novembre 2, 2016

Dans un blog précédent, je vous ai montré comment créer une application de formulaire web PHP simple avec OneSpan Sign. Cependant, dans le code, j'ai démonté le processus en trois demandes distinctes. À savoir, après que l'utilisateur a rempli le formulaire, trois appels HTTP sont faits à OneSpan Sign:

  1. Créer un paquet
  2. Télécharger le document
  3. Envoyer le paquet

Dans ce blog, je vais vous montrer comment vous pouvez simplifier le processus et faire des demandes ci-dessus dans un seul appel.

Le code

Si vous n'avez pas déjà PHP installé, vous pouvez le télécharger à partir du site officiel. Le code d'exemple complet est également disponible sur le Developer Community Code Share.

Let's get started. Dans votre éditeur de texte préféré, créez un nouveau fichier nommé "CreateAndSendPackage.php" 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.

Maintenant, passons en revue le code plus en détail. Les deux premières lignes définissent la constante nécessaire afin de faire des appels RESTful à l'API de OneSpan Sign. La constante API_URL est l'URL de point de terminaison où nous ferons notre demande. La limite est une valeur arbitraire et sépare les multiples « parties » d'une demande de données multiparties/form-data.

 

définir ("API_URL", "https://sandbox.esignlive.com/api/packages");
définir ("MULTIPART_BOUNDARY", "----WebKitFormBoundary7MA4YWxkTrZu0gW");

 

Ensuite, nous définissons les en-têtes HTTP nécessaires pour faire une demande POST à OneSpan Sign. Ici, assurez-vous de remplacer le api_key placeholder avec votre propre valeur.

 

$api-en-têtes et tableau(
	"Autorisation: api_key de base",
	"Accepter: application/json; esl-api-version 11,0",
	"Content-Type: multipart/form-data; limites "" . MULTIPART_BOUNDARY . "\"",
);

 

Ensuite, nous construisons la charge utile json qui sera inclus avec le document PDF dans la demande POST à OneSpan Sign.

 

$json ' tableau(
			'type' 'PACKAGE',
			'statut' ''SENT',
			'rôles' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
				tableau(
					'id' 'Signer1',
					'type' ''SIGNER',
					'signataires' - tableau(
						tableau(
							'email' ''[email protected]',
							'premier nom' 'John',
							'lastName' 'Smith',
							'id' 'Signer1',
						)
					) ,
				) ,
				tableau(
					'id' 'Sender1',
					'type' ''SIGNER',
					'signataires' - tableau(
						tableau(
							'email' ''[email protected]',
							'premier nom' 'Mike',
							'lastName' 'Smith',
							'id' 'Sender1',
						)
					) ,
				) ,
			) ,
			'nom' 'Exemple d'application PHP',
			'documents' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
						tableau(
							'nom' '''Contrat d'échantillon',
							'id' 'contrat'
						)
					)
		);

 

Une fois que vous avez défini la charge utile json, l'étape suivante consiste à construire la demande de données multiparties/formulaires, comme indiqué ci-dessous.

 

$postdata "--"" . MULTIPART_BOUNDARY . "Rân";
$postdata .MD "Content-Disposition: form-data; nom "fichier"; nom de fichier "sample_contract2.pdf"
$postdata .- file_get_contents ("documents/sample_contract2.pdf");
$postdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$postdata .--"" . MULTIPART_BOUNDARY . "Rân";
$postdata .MD "Content-Disposition: form-data; nom de "charge utile"
$postdata .- json_encode ($json);
$postdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$postdata .--"" . MULTIPART_BOUNDARY . "--rân";

 

Enfin, vous exécutez votre demande cURL et faites écho à la réponse envoyée par OneSpan Sign.

 

$curl curl_init (API_URL);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_POST, vrai);
curl_setopt ($curl, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($curl, CURLOPT_HTTPHEADER, $api-têtes);
curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, faux);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, faux);
curl_exec($curl);
$response curl_multi_getcontent ($curl);
curl_close ($curl);

écho mb_convert_encoding (print_r(json_decode($response, vrai), vrai), 'CP932', 'UTF-8');

 

Exécution de votre code

Ouvrez votre invite de commande et modifiez l'annuaire actuel à l'endroit où vous avez enregistré votre fichier "CreateAndSendPackage.php". Ensuite, entrez les lignes suivantes:

php CreateAndSendPackage.php php php php

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

résultat

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