2017-12-04 11 views
0

SOAPメソッドCreateEnvelopeFromTemplatesはTemplateReferenceオブジェクトのリストを取得します。このオブジェクトを使用すると、ECMシステム内のドキュメントをDocuSignテンプレートに1-1マッピングすることができます。これまでのところうまくいっていて、特定のユースケースに含まれるドキュメントの数を知らなくても、エンベロープ作成アルゴリズムを構築することができました。CreateEnvelopeFromTemplatesと同等のRESTですか?

SOAPただし、新しい[支払い]タブはサポートされていません。このAPI呼び出しのREST置換を見つける際に、各文書が別のテンプレートを参照する封筒を作成する方法を見つけることができませんでした。たとえば、envelopes: createメソッドは、envelopeDefinition内に1つのtemplateIDのみを許可します。 RESTにビルドした機能を移植する方法はありますか?

BONUS QUESTION:DocuSignのバックエンドで、テンプレートを適用すると、SOAPとRESTで作成された封筒が区別されるのはなぜですか? SOAPでエンベロープに支払いタブをプログラムで作成できるとは思っていませんでしたが、SOAPを使用して支払いタブ付きのテンプレートを指定すると、これらのタブは機能しません。

これは、非機能非機能支払いタブでテンプレートを参照すると私のSOAP呼び出しです:

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <CreateEnvelopeFromTemplates xmlns="http://www.docusign.net/API/3.0"> 
      <TemplateReferences> 
       <TemplateReference> 
        <TemplateLocation>Server</TemplateLocation> 
        <Template>8E556CD1-D343-4C07-9401-D88B00A67671</Template> 
        <Document> 
         <ID>90267</ID> 
         <Name>DS - Template Mapping - 12/4/2017 John Payme2 (90267)</Name> 
         <PDFBytes>omitted</PDFBytes> 
         <FileExtension>pdf</FileExtension> 
        </Document> 
        <RoleAssignments> 
         <RoleAssignment> 
          <RoleName>Payer</RoleName> 
          <RecipientID>37974046</RecipientID> 
         </RoleAssignment> 
        </RoleAssignments> 
        <Sequence>1</Sequence> 
       </TemplateReference> 
      </TemplateReferences> 
      <Recipients> 
       <Recipient> 
        <ID>37974046</ID> 
        <UserName>John Payme2</UserName> 
        <Email>[email protected]</Email> 
        <Type>Signer</Type> 
        <AccessCode /> 
        <RequireIDLookup>false</RequireIDLookup> 
        <RoutingOrder>1</RoutingOrder> 
        <Note/> 
        <RoleName>Payer</RoleName> 
       </Recipient> 
      </Recipients> 
      <EnvelopeInformation> 
       <AccountId>9cace92e-1384-4cf7-9b4c-a2bd70aab9a1</AccountId> 
      </EnvelopeInformation> 
      <ActivateEnvelope>true</ActivateEnvelope> 
     </CreateEnvelopeFromTemplates> 
    </soap:Body> 
</soap:Envelope> 
+0

は、あなたが正しいものではなく、あなたがDocuSignのドキュメントあたりの制限をたくさん持っているCreateEnvelopeFromTemplates操作を使用している多くのものを混合しているので、私は正しい操作(CreateEnvelopeFromTemplatesAndForms)と私の応答を更新していることを要求します期待どおりに正常に動作しています。テストして、それがあなたのために働くかどうか私に知らせてください。もう1つの注意点として、新しい開発をしている場合、REST APIではなくSOAP APIを使用する理由は何ですか? –

+0

私の答えに説明されているように、CreateEnvelopeFromTemplatesAndForms opeartionでテストしましたか? –

+0

私はして、支払いタブは私が期待するように機能するように見えます。しかし、1)API呼び出しで提供するPDFBytesの代わりにテンプレートを作成するために使用したPDFでエンベロープが作成され、2)2つのドキュメントでエンベロープを作成し、それぞれに1つのテンプレートを適用しようとすると受信者の名前と電子メールが同じであっても、各テンプレートの個別の署名者通知メールRecipientIDがテンプレートと異なる場合でも、CreateEnvelopeFromTemplates呼び出しはスマートにこれが1つの受信者であることを認識します。 – user2705063

答えて

1

REST APIでコンポジットテンプレートあなたが探していると呼ばれています。コンポジットテンプレートは、非常に強力な機能ですが、CTを使用すると、同じエンベロープでテンプレートとドキュメントを組み合わせたり、複数のテンプレートなどを組み合わせたりすることができます。

複合テンプレート複合テンプレートのセクションを持っているデベロッパーセンターで見つかったテンプレート、上の特徴のページです: https://www.docusign.com/developer-center/explore/features/templates#composite

封筒でのセクションがあります:についてcomposite templatesを語っAPIドキュメントを作成します。


使用例:

はここで、この例では2つのテンプレートが1つの封筒に結合され、上記のリソースの1からの迅速なサンプルです:

{ 
    "emailSubject": "DocuSign API - Composite Templates", 
    "emailBlurb": "Composite Templates Sample 1", 
    "status": "sent", 
    "compositeTemplates": [{ 
     "serverTemplates": [{ 
      "sequence": "1", 
      "templateId": "55A80182-2E9F-435D-9B16-FD1E1C0F9D74" 
     }], 
     "inlineTemplates": [{ 
      "sequence": "1", 
      "recipients": { 
       "signers": [{ 
        "email": "[email protected]", 
        "name": "John Doe", 
        "recipientId": "1", 
        "roleName": "Buyer" 
       }] 
      } 
     }] 
    }, { 
     "serverTemplates": [{ 
      "sequence": "2", 
      "templateId": "44D9E888-3D86-4186-8EE9-7071BC87A0DA" 
     }], 
     "inlineTemplates": [{ 
      "sequence": "2", 
      "recipients": { 
       "signers": [{ 
        "email": "[email protected]", 
        "name": "Sally Doe", 
        "recipientId": "1", 
        "roleName": "Seller" 
       }] 
      } 
     }] 
    }] 
} 
+0

これは有望そうです!私の文書がDocuSignの外から来ているのであなたの例のように見えます。私はPDFバイトを各inlineTemplatesの文書コンポーネントに提供するだけで、インラインテンプレートテンプレートはその文書にのみ適用する必要があります。 – user2705063

+0

テストしてからしばらく時間がかかりましたが、あなたが言うことが正しいと確信しています。 – Ergin

2

ErginがプライマリQSに対応しましたDocuSignでは、支払いタブがあるテンプレートを使用している場合、SOAP APIを使用して封筒を作成することができます。私はSOAP APIを使用してエンベロープを作成する際に何の問題も見ません。私はそれをテストし、私は署名時に支払い画面を持っています。支払いのテンプレートを使用して封筒を作成するSOAPリクエストを見つけてください。 CreateEnvelopeFromTemplatesAndFormsとCompositeTemplateの異なるデザインパターンを使用します。テンプレートに設定されているaccountGuid、TemplateGuid、およびRoleNameを設定するだけです。あなたに

<?xml version="1.0"?> 
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"> 
    <SOAP-ENV:Body> 
    <CreateEnvelopeFromTemplatesAndForms xmlns="http://www.docusign.net/API/3.0"> 
     <ActivateEnvelope>true</ActivateEnvelope> 
     <EnvelopeInformation> 
     <AccountId>{{accountId}}</AccountId> 
     <Subject>Test SOAP Subject</Subject> 
     <EmailBlurb>Test SOAP Body</EmailBlurb> 
     </EnvelopeInformation> 
     <CompositeTemplates> 
     <CompositeTemplate> 
      <ServerTemplates> 
      <ServerTemplate> 
       <Sequence>1</Sequence> 
       <TemplateID>{{TemplateId}}</TemplateID> 
      </ServerTemplate> 
      </ServerTemplates> 
      <InlineTemplates> 
      <InlineTemplate> 
       <Sequence>2</Sequence> 
       <Envelope> 
       <AccountId>{{accountId}}</AccountId> 
       <Recipients> 
        <Recipient> 
        <ID>1</ID> 
        <RoleName>Signer1</RoleName> 
        <UserName>Signer 1</UserName> 
        <Email>[email protected]</Email> 
        <Type>Signer</Type> 
        </Recipient> 
       </Recipients> 
       </Envelope> 
      </InlineTemplate> 
      </InlineTemplates> 
     </CompositeTemplate> 
     </CompositeTemplates> 
    </CreateEnvelopeFromTemplatesAndForms> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 
+0

これは私のテストに反して実行され、私のDocuSignアカウント担当者は、Paymentsが質問したときにSOAPでうまく動作しないと私たちに伝えました。私は、あなたが何をやっているかを知りたいと思っています。 – user2705063

+0

SOAPリクエストで[Payments]タブにデータを入力すると、Paymentsが機能しませんが、Paymentsタブを持つテンプレートを参照しているだけでSOAPリクエストの署名者の詳細だけを入力すると、すべて動作します。 –

+0

私は間違ったことをする必要があります。コンソールを使って封筒を作成すると、署名を終えると、[支払い]画面が表示されます。 CreateEnvelopeFromTemplatesを使用してエンベロープを作成すると、支払項目は文書上にプレーンテキストとして表示され、決済画面は表示されません。質問をAPIリクエストログで更新します。 – user2705063

関連する問題