取引先契約 (TPA) は、特定の B2B プロトコルを介してメッセージを処理するための 2 つの取引先間の明確で拘束力のある契約です。 簡単に言えば、TPA は、B2B メッセージを相互に交換しながら、特定のメッセージ エンコード プロトコル (X12 または EDIFACT) または特定のトランスポート プロトコル (AS2) を使用するための 2 つのビジネス プロファイル間の理解です。 エンコードおよびトランスポート プロトコルに同意するだけでなく、契約を使用して、メッセージの形式と配信方法をカスタマイズできます。
エンコード プロトコル設定の一部として、送信側が受信確認を期待するかどうか、メッセージをバッチ処理するか個別に送信するかを定義することもできます。
トランスポート プロトコル設定の一部として、メッセージを署名するかどうか、メッセージを暗号化するかどうかなどを定義することもできます。
注
トランスポート プロトコル (AS2) の設定の詳細については、「 AS2 アグリーメントのプロパティの構成」を参照してください。
契約の作成時には、次の考慮事項を考慮する必要があります。
2 つの当事者間の取引先契約は双方向です。 2 つの当事者 (パーティー A とパーティー B) 間の 1 つの契約を使用して、パーティー A からパーティー B にメッセージを送信したり、パーティー B からパーティー A にメッセージを受信したりできます。ユーザー インターフェイスで双方向アグリーメントを表すために、各一方向アグリーメントは 1 つのタブで表されます。そのため、契約ユーザー インターフェイスには、 PartyA->PartyB (パーティー A からパーティー B に送信されたメッセージの一方向アグリーメントを表す) と PartyB->PartyA (PartyB から PartyA に送信されるメッセージの一方向アグリーメントを表す) の 2 つのタブが表示されます。
各一方向契約は、1つのエンドツーエンドのメッセージ取引に対応します。 受信確認の送受信も同じメッセージ トランザクションの一部であるため、同じ一方向アグリーメント タブで構成する必要があります。たとえば、パーティ A がパーティ B に EDI インターチェンジを送信し、応答としてパーティ B がパーティ A に受信確認を送信するとします。そのため、インターチェンジの送信と受信確認の予期に関連するすべてのプロパティは、 PartyA->PartyB タブで設定する必要があります。
注
受信確認が同じメッセージ トランザクションの一部であっても、受信確認の生成方法に関連するプロパティは PartyB->PartyA タブで構成されます。これは、送信者と受信者の修飾子の受信確認コンテキスト プロパティが PartyA->PartyB タブで指定した値の反対に設定されるために必要です。たとえば、インターチェンジメッセージの解決先の契約で送信者と受信者の識別子が THEM と US に設定されている場合、送信者と受信者のコンテキスト プロパティは受信確認で米国と THEM に設定されます。 通常、もう一方の一方向契約タブでは、送信者と受信者の識別子がそれぞれUSとTHEMに設定されます。 そのため、受信確認メッセージはその合意の内容に従い、プロパティ設定が適用されます。 したがって、異なる要素区切り記号を使用するための受信確認を行う場合、または CR LF を使用する受信確認を行う場合は、[ PartyB->PartyA ] タブでプロパティを指定します。
概念的には、受信確認のプロパティは、受信確認のコンテキスト プロパティで設定されたのと同じ送信者と受信者の修飾子を持つ任意の一方向アグリーメント タブから選択されます。 ただし、実際的に使用する場合は、通常、インターチェンジが解決された契約の別の一方向アグリーメントのタブでこの設定を行います。
エンコード アグリーメント (メッセージに使用するメッセージ エンコーディングを定義する) とトランスポート アグリーメント (メッセージの交換に使用するトランスポート プロトコルを定義する) を持つことができます。 エンコード契約は必須です。 各当事者は、AS2 プロトコルを使用してメッセージを転送する場合にのみ、AS2 契約を選択できます。 たとえば、2 つの当事者が電子メール経由でメッセージを転送することを選択した場合、AS2 契約は必要ありません。
注
AS2 アグリーメントの詳細については、「 AS2 アグリーメントのプロパティの構成」を参照してください。