2 votes

API DocuSign : Attribuer correctement les TemplateRoles

En utilisant l'API DocuSign en C#, j'ai pu facilement faire passer une enveloppe de test. Maintenant, je teste sur une enveloppe avec le schéma suivant.

Docusign Flow

Je sais que je dois assigner un TemplateRole pour un destinataire, mais lorsque j'envoie l'e-mail, les choses se passent mal. Je supposais qu'en définissant plusieurs rôles, chacun des éléments de l'ordre de signature serait configuré. Pour une raison quelconque, ce n'est pas le cas, et je reçois deux documents. Selon les TemplateRoles que j'inclus, des données factices seront également insérées pour le nom/adresse de l'expéditeur. J'aimerais éviter cela.

EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.EmailSubject = "[DocuSign C# SDK] - Sample Signature Request";

envDef.TemplateId = TemplateID;

TemplateRole DirectorRole = new TemplateRole();
DirectorRole.Email = RecipientEmail;
DirectorRole.Name = RecipientName;
DirectorRole.RoleName = "Director";

TemplateRole TraineeRole = new TemplateRole();
TraineeRole.Email = RecipientEmail;
TraineeRole.Name = "A Trainee";
TraineeRole.RoleName = "Trainee";

List<TemplateRole> rolesList = new List<TemplateRole>() { DirectorRole, TraineeRole };
envDef.TemplateRoles = rolesList;

envDef.Status = "sent";
EnvelopesApi envelopesApi = new EnvelopesApi();
EnvelopeSummary envelopeSummary = envelopesApi.CreateEnvelope(accountId, envDef);

Vous pouvez voir que j'ai la possibilité d'envoyer à un destinataire groupé ou individuel. J'aimerais envoyer à l'un ou à l'autre. Comment puis-je m'y prendre ? Voici mon code actuel. Des exemples généraux sur la façon d'attribuer différents types de rôles seraient appréciés car, pour autant que je sache, il n'existe pas beaucoup d'exemples de code C#.

1voto

Larry K Points 16266

Veuillez montrer votre code complet pour créer le envDef objet. Est-ce que vous définissez l'ID du modèle ?

En RoleName pour chaque TemplateRole doit correspondre exactement au nom du rôle dans le modèle.

Chaque rôle défini par le modèle doit être défini. Si vous décidez de commencer avec un modèle et de le modifier pour supprimer un rôle, je pense que c'est possible, mais vous devrez le faire en utilisant des modèles composites. Je vous recommande plutôt d'envisager d'avoir deux modèles, l'un avec les deux rôles, l'autre avec un seul rôle.

Envoi à un destinataire en masse. Je poserais cette question séparément. Je vous suggère d'utiliser le raffinement par étapes. Faites d'abord fonctionner vos enveloppes avec la substitution de rôle.

Passez ensuite à la question différente de l'envoi de nombreuses enveloppes différentes contrôlées par un fichier CSV (envoi en masse).

1voto

Praveen Reddy Points 6855

Vous pouvez utiliser l'application DocuSign modèles composites et créer des enveloppes à partir de modèles. Cette méthode est plus souple que l'utilisation de la fonction Modèle de rôle .

Voir cet échantillon code pour créer une enveloppe à partir d'un modèle. Il utilise le DocuSign C# SDK

      string accountId = Init();

        var envDef = new EnvelopeDefinition()
        {
            EmailSubject = "Envelope with multiple recipient roles",
            Status = "sent",
            CompositeTemplates = new List<CompositeTemplate>()
            {
                new CompositeTemplate()
                {
                    ServerTemplates = new List<ServerTemplate>()
                    {
                        new ServerTemplate()
                        {
                            TemplateId = "", //CreateTemplate()
                            Sequence = "1"
                        }
                    },
                    InlineTemplates = new List<InlineTemplate>()
                    {
                        new InlineTemplate()
                        {
                            Sequence = "1",
                            Recipients = new Recipients()
                            {
                                Signers = new List<Signer>()
                                {
                                    new Signer()
                                    {
                                        Email = "Janedoe@acme.com",
                                        Name = "Jane Doe",
                                        RecipientId = "1",
                                        RoleName = "Signer1",
                                    },
                                    new Signer()
                                    {
                                        Email = "Bobdoe@acme.com",
                                        Name = "Bob Doe",
                                        RecipientId = "2",
                                        RoleName = "Signer2",
                                    },
                                    new Signer()
                                    {
                                        Email = "DanDoe@acme.com",
                                        Name = "Dan Doe",
                                        RecipientId = "3",
                                        RoleName = "Signer3",
                                    }

                                }
                            }
                        }
                    }
                }
            }
        };

        EnvelopesApi envelopesApi = new EnvelopesApi();
        EnvelopeSummary envelopeSummary = envelopesApi.CreateEnvelope(accountId, envDef);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X