Docu подписывает проблему с представлением отправителя Rest API для конверта в процессе

#docusignapi

#docusignapi

Вопрос:

Мы пытаемся использовать встроенную подпись для отображения представления отправителя в iframe. Если у конверта есть 2 подписавших, и один из них подписал конверт, мы хотим отобразить отправителю текущее состояние конверта.

Существует ли какой-либо API для отображения текущего состояния конверта отправителю.

Комментарии:

1. Можете ли вы уточнить, что вы подразумеваете под «отображением текущего состояния конверта»? Вы хотите отобразить (текущее состояние) документов в конверте? Вы хотите показать информацию журнала аудита для конверта (кто подписал, когда и т.д.)? Что-то еще? Это правда (как говорит Эргин в приведенном ниже ответе), что невозможно запустить представление DocuSign «Встроенная отправка» для конверта в процессе (т. Е. Уже Отправленного). Но, вероятно, есть другие вызовы API, которые могут дать вам то, что вам нужно. Пожалуйста, обновите свой вопрос, чтобы уточнить, что вы хотите показать отправителю, и я отвечу.

2. Привет, Ким. Да, я хочу отобразить что-то похожее на информацию журнала аудита для конверта, т.Е. Какой подписавший подписал. Я проверил iodocs.docusign.com но не в состоянии определить точный вызов API для этого.

Ответ №1:

Согласно комментарию, который вы добавили к своему ответу, самым простым способом восстановления текущего статуса всех получателей для конверта является вызов API GET Receivers:

 GET https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes/{{envelopeId}}/recipients?include_tabs=falseamp;include_extended=false
  

Ответ будет содержать массив объектов-получателей для каждого типа получателей, и каждый объект-получатель имеет свойство status, которое указывает текущее состояние получателя. статус получателя. Например, вот ответ для конверта, содержащего 2 подписавших: первый завершил подписание, второй — нет (статус = доставлено):

 {
    "signers": [
        {
            "signInEachLocation": "false",
            "name": "Abby Adams",
            "email": "abby@outlook.com",
            "recipientId": "04cdba57-5383-4917-9081-e9dad16ba8a9",
            "recipientIdGuid": "04cdba57-5383-4917-9081-e9dad16ba8a9",
            "requireIdLookup": "false",
            "userId": "1860fbdc-96ee-4d14-8353-c0213cd2728f",
            "routingOrder": "1",
            "roleName": "Signer 1",
            "status": "completed",
            "signedDateTime": "2014-04-24T14:00:10.5800000Z",
            "deliveredDateTime": "2014-04-24T13:59:35.2330000Z",
            "templateLocked": "false",
            "templateRequired": "false"
        },
        {
            "signInEachLocation": "false",
            "name": "Adam Smith",
            "email": "adam@outlook.com",
            "recipientId": "fb3708f5-552f-410e-8029-9abbb5214196",
            "recipientIdGuid": "fb3708f5-552f-410e-8029-9abbb5214196",
            "requireIdLookup": "false",
            "userId": "ecd6f430-5c08-4a4c-876e-ba7ad95f13dc",
            "routingOrder": "2",
            "status": "delivered",
            "deliveredDateTime": "2014-04-24T14:00:28.1930000Z"
        }
    ],
    "agents": [],
    "editors": [],
    "intermediaries": [],
    "carbonCopies": [],
    "certifiedDeliveries": [],
    "inPersonSigners": [],
    "recipientCount": "2",
    "currentRoutingOrder": "2"
}
  

Если вам нужна более подробная информация о журнале аудита, вы можете использовать вызов GET Audit Events API:

 GET https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes/{{envelopeId}}/audit_events
  

Ответ на этот запрос будет содержать массив объектов AuditEvent. Каждый объект AuditEvent состоит из одного свойства — eventFields, которое представляет собой массив пар имя / значение.

Например, следующий ответ показывает, что Мэри Смит создала конверт и отправила конверт, а затем Джон Доу просмотрел конверт и отклонил конверт:

 {
    "auditEvents": [
        {
            "eventFields": [
                {
                    "name": "logTime",
                    "value": "2014-05-23T03:07:52.7741974Z"
                },
                {
                    "name": "Source",
                    "value": "api"
                },
                {
                    "name": "UserName",
                    "value": "Mary Smith"
                },
                {
                    "name": "UserId",
                    "value": "bc266e97-83a6-472c-XXXX-ebad10e4cc6a"
                },
                {
                    "name": "Action",
                    "value": "Registered"
                },
                {
                    "name": "Message",
                    "value": "The envelope was created by Mary Smith"
                },
                {
                    "name": "EnvelopeStatus",
                    "value": "created"
                },
                {
                    "name": "ClientIPAddress",
                    "value": "XX.XX.XX.XXX"
                },
                {
                    "name": "Information",
                    "value": ""
                },
                {
                    "name": "GeoLocation",
                    "value": ""
                },
                {
                    "name": "Language",
                    "value": "english (us)"
                }
            ]
        },
        {
            "eventFields": [
                {
                    "name": "logTime",
                    "value": "2014-05-23T03:07:53.6321919Z"
                },
                {
                    "name": "Source",
                    "value": "api"
                },
                {
                    "name": "UserName",
                    "value": "Mary Smith"
                },
                {
                    "name": "UserId",
                    "value": "bc266e97-83a6-472c-a25b-ebad10e4cc6a"
                },
                {
                    "name": "Action",
                    "value": "Sent Invitations"
                },
                {
                    "name": "Message",
                    "value": "Mary Smith sent an invitation to John Doe [john@outlook.com]"
                },
                {
                    "name": "EnvelopeStatus",
                    "value": "sent"
                },
                {
                    "name": "ClientIPAddress",
                    "value": "XX.XX.XX.XXX"
                },
                {
                    "name": "Information",
                    "value": "John Doe [john@outlook.com]"
                },
                {
                    "name": "GeoLocation",
                    "value": ""
                },
                {
                    "name": "Language",
                    "value": "english (us)"
                }
            ]
        },
        {
            "eventFields": [
                {
                    "name": "logTime",
                    "value": "2014-05-23T03:12:17.9412976Z"
                },
                {
                    "name": "Source",
                    "value": "web"
                },
                {
                    "name": "UserName",
                    "value": "John Doe"
                },
                {
                    "name": "UserId",
                    "value": "03c8a856-c0ae-41bf-943d-ac6e92db66a8"
                },
                {
                    "name": "Action",
                    "value": "Viewed"
                },
                {
                    "name": "Message",
                    "value": "John Doe viewed the envelope [documents:(Mutual NDA with anchors.pdf)]"
                },
                {
                    "name": "EnvelopeStatus",
                    "value": "sent"
                },
                {
                    "name": "ClientIPAddress",
                    "value": "XX.XX.XX.XXX"
                },
                {
                    "name": "Information",
                    "value": "John Doe viewed the envelope [documents:(Mutual NDA with anchors.pdf)]"
                },
                {
                    "name": "GeoLocation",
                    "value": ""
                },
                {
                    "name": "Language",
                    "value": "english (us)"
                }
            ]
        },
        {
            "eventFields": [
                {
                    "name": "logTime",
                    "value": "2014-05-23T03:12:30.3432181Z"
                },
                {
                    "name": "Source",
                    "value": "web"
                },
                {
                    "name": "UserName",
                    "value": "John Doe"
                },
                {
                    "name": "UserId",
                    "value": "03c8a856-c0ae-41bf-943d-ac6e92db66a8"
                },
                {
                    "name": "Action",
                    "value": "Declined"
                },
                {
                    "name": "Message",
                    "value": "John Doe declined the envelope [Reason: I changed my mind.]"
                },
                {
                    "name": "EnvelopeStatus",
                    "value": "declined"
                },
                {
                    "name": "ClientIPAddress",
                    "value": "XX.XX.XX.XXX"
                },
                {
                    "name": "Information",
                    "value": "Reason: I changed my mind."
                },
                {
                    "name": "GeoLocation",
                    "value": ""
                },
                {
                    "name": "Language",
                    "value": "english (us)"
                }
            ]
        }
    ]
}
  

Руководство DocuSign REST API (https://10226ec94e53f4ca538f-0035e62ac0d194a46695a3b225d72cc8.ssl.cf2.rackcdn.com/rest-api-guide-v2.pdf ) содержит информацию об обоих вызовах API.

— ОБНОВИТЬ —

Вы можете получить документы конверта в любое время (т. Е. Независимо от статуса подписавшего / конверта), используя запрос API «ПОЛУЧИТЬ документы конверта«:

 GET https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes/{{envelopeId}}/documents/combined
  

Ответ будет содержать поток байтов, который представляет содержимое документа (документов) конверта в формате PDF — затем ваше приложение может просто записать этот поток байтов в браузер для отображения документа (документов). Подробности об этой операции см. На стр. 177 руководства по REST API.

Что касается вашего вопроса о настройке «Встроенного представления отправителя» — невозможно настроить представление отправителя через API, т. Е. «Встроенный отправитель всегда будет иметь возможность делать все, что он мог бы сделать, если отправлять напрямую через веб-консоль DocuSign.

Комментарии:

1. Привет, Ким .. спасибо за ваш подробный ответ. Однако я надеюсь получить документ в этом состоянии, т.е. подписанный одним подписавшим. Возможно ли просмотреть конверт в этом состоянии. Также можно настроить представление отправителя для черновика конверта?

2. Я добавил эту информацию к своему ответу. Если мой ответ успешно отвечает на ваш вопрос, пожалуйста, отметьте его как «принятый», чтобы другие могли извлечь выгоду из этой информации в будущем… Спасибо!

3. Спасибо, Ким, за ваш ответ.

Ответ №2:

Как только выполняется конверт DocuSign (это означает, что он был отправлен и НЕ находится в состоянии черновика), вы не можете сгенерировать представление отправителя. Представление отправителя используется для пометки конверта, и если конверт уже отправлен, то пометка больше не допускается.

Итак, чтобы ответить на ваш вопрос, нет, невозможно создать представление отправителя для отправленного конверта, на этом этапе можно сгенерировать URL-адрес подписи, и вы можете сгенерировать URL-адрес подписи только для получателей, у которых установлено их clientUserId свойство.

Подробнее о встроенной подписи здесь:

https://www.docusign.com/developer-center/explore/features/embedding-docusign

Комментарии:

1. Привет, Эргин, спасибо за ваш ответ. Но когда выполняется конверт, и мы выполняем следующий вызов API «v2 / accounts /: AccountId /envelopes /:envelopeId / views / sender», URL-адрес возвращается из Docusign. Почему API возвращает действительный ответ, когда представление отправителя не может быть показано для этого типа конверта. Также у меня есть еще один вопрос: когда конверт находится в состоянии черновика, и мы показываем представление отправителя с помощью вышеупомянутого API, можно ли настроить представление (скрыть некоторые разделы), отображаемое пользователю. Спасибо за вашу помощь.