EnvelopeRecipients: create не может создавать вкладки - PullRequest
0 голосов
/ 04 октября 2018

У меня есть некоторый код, который работает как талисман для создания конверта и добавления получателей с использованием метода Envelopes: create.

Теперь мне нужно начать использовать метод EnvelopeRecipients: create, чтобы добавить некоторые подписывающие лица вуже создан конверт.Документ: https://developers.docusign.com/esign-rest-api/reference/Envelopes/EnvelopeRecipients/create

Мой код работает: я могу создать нового подписавшего, API не возвращает никаких ошибок, но все теги, которые я пытаюсь добавить для этого нового пользователя, не установлены.

Я использую PHP SDK, но я просто покажу вам данные, отправленные SDK в API.

{
  "signers": [
    {
      "clientUserId": 3,
      "email": "fakesigner@gmail.com",
      "name": "Fake Signer",
      "recipientId": 3,
      "routingOrder": 0,
      "tabs": {
        "dateSignedTabs": [

        ],
        "signHereTabs": [
          {
            "documentId": 1,
            "pageNumber": 1,
            "xPosition": 100,
            "yPosition": 100
          }
       ],
       "textTabs": [

        ]
      }
    }
  ]
}

Новый пользователь создан.Все свойства правильны, кроме свойства tabs: tabs = null Я дважды проверил его, и я уверен, что вкладки не существуют в документе.Та же проблема со всеми типами вкладок.Если это так, мой статус конверта отправляется.

Не уверен, что эта проблема возникла из моего кода, из SDK или из API.

1 Ответ

0 голосов
/ 04 октября 2018

Проблема решена: я не понимаю, почему не работает метод:

POST / v2 / accounts / {accountId} / envelopes / {envelopeId} / messages, но у меня тот же результат безошибка при использовании: PUT / v2 / account / {accountId} / envelopes / {envelopeId} https://developers.docusign.com/esign-rest-api/reference/Envelopes/Envelopes/update

Я подозреваю ошибку в API или в PHPSDK в отношении вкладок в первом методе.

Окончательный рабочий код:

    $envelopeApi = new DS\Api\EnvelopesApi($this->apiClient);

    //TEST
    $envelope = new DS\Model\Envelope();
    $addRecipients = new DS\Model\Recipients();
    $fakeSigner = new DS\Model\Signer();
    $fakeSigner->setName('Fake Signer');
    $fakeSigner->setEmail('fakesigner@gmail.com');
    $fakeSignerId = 50;
    $fakeSigner->setClientUserId($fakeSignerId);
    $fakeSigner->setRecipientId($fakeSignerId);
    $fakeSigner->setRoutingOrder(1);
    $fakeSignerTabs = new DS\Model\Tabs();
    $fakeSignHere = $tab = new DS\Model\SignHere();
    $fakeSignHere->setXPosition(100);
    $fakeSignHere->setYPosition(100);
    $fakeSignHere->setDocumentId(1);
    $fakeSignHere->setPageNumber(1);
    $fakeSignerTabs->setSignHereTabs(array($fakeSignHere));
    $fakeSignerTabs->setDateSignedTabs(array());
    $fakeSignerTabs->setTextTabs(array());
    $fakeSigner->setTabs($fakeSignerTabs);
    $addRecipients->setSigners(array($fakeSigner));

    $envelope->setRecipients($addRecipients);

    $updateOptions = new DS\Api\EnvelopesApi\UpdateOptions();
    $updateOptions->setAdvancedUpdate('true');

    try{
        $summary = $envelopeApi->update($this->accoundId, $envelopeId, $envelope, $updateOptions);
        var_dump($summary);
    } catch (DS\ApiException $e){
        $this->logger->error('Error while calling Docusign :' . $e->getResponseBody()->errorCode . " " . $e->getResponseBody()->message);
        throw $e;
    }

Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...