Mon cas d'utilisation est qu'un document doit être signé par deux personnes: un utilisateur régulier pour lequel nous avons une adresse e-mail et un autre utilisateur qui peut être un utilisateur administrateur de mon application. L'utilisateur admin est choisi après que l'utilisateur régulier a signé.API DocuSign: onglets InitialHere dupliqués lors de l'ajout d'un nouveau destinataire à l'enveloppe
Mon implémentation actuelle avec l'API DocuSign crée une enveloppe avec deux signataires, l'utilisateur normal et un second signataire appelé admin-placeholder
.
Lorsqu'un administrateur commence à signer, j'appelle l'API pour remplacer le admin-placeholder
par l'administrateur actuel.
Voici mon code php (la fonction callDocusign
fait ce qu'il semble faire):
// fetch tabs of placeholder user
$tabs= callDocusign($docusignLogin, 'GET', "envelopes/$envelopeId/recipients/$placeholderRecipient/tabs?include_anchor_tab_locations=true");
// remove tabIds to avoid issue on submission
foreach(array_keys($tabs) as $kind) {
for ($i = 0; $i < count($tabs[$kind]); $i++) {
// sanitize_user_input removes all properties except those listed in its second argument
$tabs[$kind][$i] = sanitize_user_input($tabs[$kind][$i], ["documentId", "pageNumber", "xPosition", "yPosition", "anchorString", "anchorXOffset", "anchorYOffset", "anchorIgnoreIfNotPresent", "anchorUnits"]);
}
}
// add signer
$data = [
'signers' => [[
'email' => $user['email'],
'clientUserId' => pseudo_encrypt($uid),
'recipientId' => pseudo_encrypt($uid),
'name' => user_full_name($user),
]],
];
callDocusign($docusignLogin, 'POST', "envelopes/$envelopeId/recipients", $data);
// delete placeholder signer
callDocusign($docusignLogin, 'DELETE', "envelopes/$envelopeId/recipients/$placeholderRecipient");
// for some reason setting tabs at signer creation doesn't work
// we'll create them now
callDocusign($docusignLogin, 'POST', "envelopes/$envelopeId/recipients/".pseudo_encrypt($uid).'/tabs', $tabs);
Tout fonctionne bien, mais ce processus finit par dupliquer tous les onglets initialHere
de l'utilisateur de l'espace réservé. Dans mon cas d'utilisation, le premier utilisateur a 14 onglets initialHere
, et le second signataire se termine par 28.
La mise à jour de l'espace réservé au lieu de la supprimer contourne le bogue de l'API que j'ai découvert. Merci ! – olivieradam666