Переопределение роли получателя в шаблоне на основе конверта? - PullRequest
0 голосов
/ 22 января 2019

Я хочу повторно использовать шаблон DocuSign для нескольких получателей в одном конверте.Шаблон довольно прост;у него есть несколько блоков подписи и даты подписания.

Получатели будут иметь разные заказы маршрутизации.Из того, что я видел, мой запрос API должен иметь Порядок маршрутизации и Имя роли , соответствующий шаблону DocuSign.Если имя роли и порядок маршрутизации не совпадают, я получаю пустую роль (в которой есть все блоки подписи) в конверте.Я также попробовал "объединить роли в проекте".Пустая роль будет объединена со вторым получателем, но я потеряю все блоки подписи шаблона для этого получателя.

Можно ли использовать шаблон, но изменить определение роли получателя шаблона? В идеале я хотел бы использовать точно такой же шаблон, но изменить порядок маршрутизации этой роли для второго получателя.Я бы хотел избежать создания новых шаблонов в DocuSign, так как я мог бы получить много комбинаций.


Я хотел бы выполнить (ОБНОВЛЕНИЕ):

Я хочу использовать один и тот же шаблон два раза в одном конверте.Каждому получателю будет назначена отдельная копия шаблона.В конечном конверте должно быть два получателя, два документа, и каждый получатель будет иметь доступ и доступ только к своему документу.

Проблема заключается в том, что роль шаблона определяет порядок маршрутизации.Порядок маршрутизации «1» применим для первого получателя, использующего шаблон, но второму получателю требуется порядок маршрутизации «2».(Роль шаблона предполагает порядок маршрутизации «1» во всех случаях, но я хочу, чтобы это значение было «2» для второго получателя.)


Пример информации о шаблоне:

  • Имя шаблона (в качестве примера): Тестовый шаблон # 1
  • Имя роли: Заявитель 1
  • Порядок маршрутизации: 1 (если я неопределяя порядок маршрутизации, DocuSign все равно обрабатывает его как «1»)

Пример запроса:

EnvelopeDefinition envDef = new EnvelopeDefinition();

var signer1 = new Signer()
{
    RecipientId = "1",
    Name = "First User 1",
    RoleName = "Applicant 1",
    Email = "fakeemail1@email.com",
    RoutingOrder = "1"
};

var signer2 = new Signer()
{
    RecipientId = "2",
    Name = "First User 2",
    RoleName = "Applicant 1",
    Email = "fakeemail2@email.com",
    RoutingOrder = "2"
};

envDef.CompositeTemplates = new List<CompositeTemplate>();

var composite1 = new CompositeTemplate()
{
    ServerTemplates = new List<ServerTemplate>()
    {
        new ServerTemplate("1", "Test Template #1 TEMPLATE_ID_GUID_HERE")
    },
    InlineTemplates = new List<InlineTemplate>()
    {
        new InlineTemplate()
        {
            Sequence = "1",
            Recipients = new Recipients()
            {
                Signers = new List<Signer>()
                {
                    signer1
                }
            }
        }
    }

};

var composite2 = new CompositeTemplate()
{
    ServerTemplates = new List<ServerTemplate>()
    {
        new ServerTemplate("2", "Test Template #1 TEMPLATE_ID_GUID_HERE")
    },
    InlineTemplates = new List<InlineTemplate>()
    {
        new InlineTemplate()
        {
            Sequence = "2",
            Recipients = new Recipients()
            {
                Signers = new List<Signer>()
                {
                    signer2
                }
            }
        }
    }

};

envDef.CompositeTemplates.Add(composite1);
envDef.CompositeTemplates.Add(composite2);
envDef.EnforceSignerVisibility = "true";

// Code to send envelope

Примечание : Кроме того, я использую составные шаблоны, поскольку наши конверты, вероятно, будут содержать различные комбинации шаблонов и загруженных документов.

Спасибо!

1 Ответ

0 голосов
/ 07 марта 2019

Этого можно достичь, передав параметр запроса - change_routing_order=true при создании конверта.Таким образом, конечная точка для создания конверта будет

https://{{EnvironmentVal}}/restapi/v2/accounts/{{AccountIdVal}}/envelopes?change_routing_order=true

, а тело запроса будет

Req Body:

где тот же templateId - 076d9062-cfc7-408b-a47f-88c4b74af62b используется с тем же RoleName, но с порядком маршрутизации diff и деталями diff Signer

{
   "compositeTemplates": [
      {
         "inlineTemplates": [
            {
              "recipients": {
                  "signers": [
                     {
                        "email": "email+internal@gmail.com",
                        "name": "John Doe",
                        "recipientId": "1",
                        "roleName": "Signer1",
                        "routingOrder": "1"
                     }
                  ]
               },
               "sequence": "2"
            }
         ],
         "serverTemplates": [
            {
               "sequence": "1",
               "templateId": "076d9062-cfc7-408b-a47f-88c4b74af62b"
            }
         ]
      },
      {
         "inlineTemplates": [
            {
               "recipients": {
                  "signers": [
                     {
                        "email": "email+internal2@gmail.com",
                        "name": "John Doe2",
                        "recipientId": "2",
                        "roleName": "Signer1",
                        "routingOrder": "2"
                     }
                  ]
               },
               "sequence": "2"
            }
         ],
         "serverTemplates": [
            {
               "sequence": "1",
               "templateId": "076d9062-cfc7-408b-a47f-88c4b74af62b"
            }
         ]
      }
   ],
   "status": "sent"
}
...