サプライヤ・ネゴシエーション・インストラクション・テキストの管理
サプライヤ・ネゴシエーションRESTリソースを使用して、インストラクションやカバー・ページなどの書式設定されたテキスト・コンテンツ(CLOB属性)を取得、作成および更新できます。 多くの場合、このテキスト・コンテンツはリッチ・テキスト編集ツールを使用して書式設定され、ネゴシエーションのカバー・ページの作成や、ネゴシエーションおよび関連リソースの詳細な手順(条件、明細、要件など)の提供に使用されます。 次のCLOBテキスト属性は、サプライヤ・ネゴシエーション・リソースで使用できます:
- CoverPageText
- GeneralInstructionText
- TermsInstructionText
- RequirementInstructionText
- LinesInstructionText.
これらの書式設定されたテキストは、リッチ・テキスト形式、URL、イメージおよび変数の挿入をサポートします。 CLOB属性の最大文字制限は20 MBです。 REST添付の詳細は、Oracle B2C ServiceのREST APIガイドのファイル添付の管理を参照してください。
シナリオの一般的なアプリケーション処理フローを次に示します:
- ドラフト・ステータスのネゴシエーションの作成時にCLOB属性を含めることができます
- CLOB属性の内容を問い合せることができます
- CLOB属性のコンテンツを更新できます
バージョン8より前のRESTフレームワーク・バージョンを使用する場合
バージョン8より前のRESTフレームワーク・バージョンは、Base64形式でのみCLOB属性値を受け入れます。 リクエスト・ペイロードで値を渡す前に、文字列をBase64形式にエンコードする必要があります。 ヘッダーで指定されていない場合、RESTフレームワーク・バージョンはデフォルトで1になります。
CLOB属性による下書きネゴシエーションの作成
Cody Jonesがラップトップをオーダーするためのネゴシエーションを作成しているとします。 Codyには、Base64形式のリクエスト・ペイロードにすべてのCLOB属性が含まれます。
URLの例
このリソースURL形式を使用します。
POST
curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.action+json" -d 'request payload' "https://servername/fscmRestApi/resources/version/supplierNegotiations"
リクエストの例
JSON形式のリクエスト本文の例を次に示します。
{ "ProcurementBU": "Vision Operations", "Buyer": "Jones,Cody", "PricePrecision": 2, "NegotiationLayoutName": "Negotiation Layout", "NegotiationType": "RFQ", "ResponseLayoutName": "Response Layout", "NegotiationStyle": "Standard Negotiation", "ResponseVisibility": "Blind", "NegotiationTitle" : "New Laptop Order", "Outcome": "Blanket Purchase Agreement", "Currency": "US Dollar", "ContractTermsLayout": null, "RankingMethod": "Price only", "OpenImmediatelyFlag": true, "CloseDate" : "2020-10-31T13:34:23+00:00", "CoverPageText":"PGRpdj48cCBhbGlnbj0iY2VudGVyIj48Yj48dT5JbkZ1c2lvbjwvdT48L2I+PGJyPjwvcD48L2Rpdj48cCBhbGlnbj0iY2VudGVyIj48Zm9udCBjb2xvcj0iIzAwMDBGRiI+PGI+UmVxdWVzdCBGb3IgUXVvdGU8L2I+OiZuYnNwOyBMYXB0b3AgIFJlcGxhY2VtZW50PC9mb250Pjxicj48L3A+PGJyPlB1cnBvc2U6IEZpbmQgdGhlIHN1cHBsaWVyIHRoYXQgb2ZmZXJzIHRoZSBoaWdoZXN0IHF1YWxpdHkgYW5kIGJlc3QgdmFsdWUgbGFwdG9wcy48YnI+PGJyPjxkaXY+SW5GdXNpb24gZ2VuZXJhbGx5IHVzZXMgdGhlIGZvbGxvd2luZyBjcml0ZXJpYSBpbiAgZXZhbHVhdGluZyBhbmQgY29tcGFyaW5nIFN1cHBsaWVyIHJlc3BvbnNlcyh0aGUgY3JpdGVyaWEgYXJlIG5vdCBuZWNlc3NhcmlseSAgbGlzdGVkIGluIG9yZGVyIG9mIGltcG9ydGFuY2UpOjwvZGl2Pjxicj4tJm5ic3A7IEV4cGVyaWVuY2UgYW5kIG51bWJlciBvZiB5ZWFycyBpbiBidXNpbmVzcyA8YnI+LSZuYnNwOyBGaW5hbmNpYWwgc3RhYmlsaXR5IG9mIHRoZSBTdXBwbGllcidzIG9yZ2FuaXphdGlvbjxicj48ZGl2Pi0mbmJzcDsgIFJlc3BvbnNpdmVuZXNzIHRvIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIHByb2plY3QgYXMgc2V0IGZvcnRoIGluIHRoZSBbQERvY3VtZW50IFR5cGVAXTxicj48L2Rpdj48ZGl2Pi0mbmJzcDsgIERlbW9uc3RyYXRlZCB1bmRlcnN0YW5kaW5nIG9mIHRoZSBnb2FscyBhbmQgb2JqZWN0aXZlcyBvZiB0aGUgcHJvamVjdCBhbmQmbmJzcDsgIGEgbG9naWNhbCBwbGFuIGZvciBwcm92aWRpbmcgcHJvZHVjdC9zZXJ2aWNlcyB3aXRoaW4gdGhlIHJlcXVpcmVkIHRpbWUgIGZyYW1lczwvZGl2Pi0mbmJzcDsgQWdyZWVtZW50IHRvIFZpc2lvbiBPcGVyYXRpb25zIHN0YW5kYXJkIGNvbnRyYWN0IHRlcm1zPGJyPi0mbmJzcDsgIENvbXBldGl0aXZlIFByaWNpbmc8YnI+PGJyPg==", "GeneralIntroductionText":"PGRpdj48aT5WZXJpZnkgeW91ciBzZWxlY3Rpb25zIGJlZm9yZSBzdWJtaXNzaW9uLjwvaT48L2Rpdj48ZGl2PjxpPjwvaT48YnI+PC9kaXY+", "TermsInstructionText":"PGRpdj48aT5WZXJpZnkgeW91ciBzZWxlY3Rpb25zIGJlZm9yZSBzdWJtaXNzaW9uLjwvaT48L2Rpdj48ZGl2PjxpPjwvaT48YnI+PC9kaXY+", "RequirementInstructionText":"PGRpdj48aT5UaGlzIGlzIGFuIEludml0YXRpb24gZm9yIHNvbGljaXRhdGlvbiBmb3IgcXVhbGlmaWVkIHZlbmRvcnMgLjwvaT48L2Rpdj48ZGl2PjxpPjxicj48L2k+PC9kaXY+PGRpdj48aT4mcXVvdDtSZXNwb25kaW5nIHRvIHRoZSBxdWVzdGlvbiBkb2Vzbid0IGd1YXJhbnRlZSBhbnkgb2ZmZXIgb3IgYWdyZWVtZW50IGluIGFueSBmb3JtJyZxdW90OzwvaT48L2Rpdj48YnI+", "LinesInstructionText":"TGFwdG9wIFg4MDAgU3BlY2lmaWNhdGlvbnM6IDEgVEIgSGFyZCBEcml2ZSwgMTZNQiBNZW1vcnksIEludGVsICBQcm9jZXNzb3IgQ29yZSAgaTcsIDMgWWVhciBTZXJ2aWNlIEFncmVlbWVudCwgV2luZG93cyA3IE9wZXJhdGluZyBTeXN0ZW0gIHdpdGggT2ZmaWNlIDIwMTM8YnI+PGJyPkxhcHRvcCBYNDAwIFNwZWNpZmljYXRpb25zOiA3NTAgR0IgSGFyZCBEcml2ZSwgIDhNQiBNZW1vcnksIEludGVsIFByb2Nlc3NvciAgQ29yZSBpNSwgMyBZZWFyIFNlcnZpY2VzIEFncmVlbWVudCwgIFdpbmRvd3MgNyBPcGVyYXRpbmcgU3lzdGVtIHdpdGggT2ZmaWNlIDIwMTM8YnI+" ... }
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。
{ "AuctionHeaderId": 300100195546657, ... "NegotiationTitle": "New Laptop Order", "Negotiation": "39180", ... "Buyer": "Jones,Cody", "ProcurementBU": "Vision Operations", "NegotiationStyle": "Standard Negotiation", "Outcome": "Blanket Purchase Agreement", ... "links": [ { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/CoverPageText", "name": "CoverPageText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/GeneralIntroductionText", "name": "GeneralIntroductionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/TermsInstructionText", "name": "TermsInstructionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/RequirementInstructionText", "name": "RequirementInstructionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/LinesInstructionText", "name": "LinesInstructionText", "kind": "other" } ] }
CLOB属性コンテンツの取得
このシナリオでは、CodyはCLOB属性のコンテンツ(表紙など)にアクセスする必要があります。
URLの例
このリソースURL形式を使用します。
GET
curl -u username:password "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/CoverPageText"
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。
<div><p align="center"><b><u>InFusion</u></b><br></p></div><p align="center"><font color="#0000FF"><b>Request For Quote</b>: Laptop Replacement</font><br></p><br>Purpose: Find the supplier that offers the highest quality and best value laptops.<br><br><div>InFusion generally uses the following criteria in evaluating and comparing Supplier responses(the criteria are not necessarily listed in order of importance):</div><br>- Experience and number of years in business <br>-Financial stability of the Supplier's organization<br><div>- Responsiveness to the requirements of the project as set forth in the [@Document Type@]<br></div><div>-Demonstrated understanding of the goals and objectives of the project and a logical plan for providing product/services within the required time frames</div>-Agreement to Vision Operations standard contract terms<br>-Competitive Pricing<br><br>
CLOB属性コンテンツの更新
このシナリオでは、CodyはCLOB属性の内容(表紙など)を更新して、指示を追加しようと考えています。
URLの例
このリソースURL形式を使用します。
PATCH
curl -X PATCH -u "username:password" -H "Content-Type:application/vnd.oracle.adf.action+json" -d 'request payload' https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657
リクエストの例
JSON形式のリクエスト本文の例を次に示します。
{ "CoverPageText":"PGRpdj48cCBhbGlnbj0iY2VudGVyIj48Yj48dT5JbkZ1c2lvbjwvdT48L2I+PGJyPjwvcD48L2Rpdj48cCBhbGlnbj0iY2VudGVyIj48Zm9udCBjb2xvcj0iIzAwMDBGRiI+PGI+UmVxdWVzdCBGb3IgUXVvdGU8L2I+OiZuYnNwOyBMYXB0b3AgIFJlcGxhY2VtZW50PC9mb250Pjxicj48L3A+PGJyPlB1cnBvc2U6IEZpbmQgdGhlIHN1cHBsaWVyIHRoYXQgb2ZmZXJzIHRoZSBoaWdoZXN0IHF1YWxpdHkgYW5kIGJlc3QgdmFsdWUgbGFwdG9wcy48YnI+PGJyPjxkaXY+SW5GdXNpb24gZ2VuZXJhbGx5IHVzZXMgdGhlIGZvbGxvd2luZyBjcml0ZXJpYSBpbiAgZXZhbHVhdGluZyBhbmQgY29tcGFyaW5nIFN1cHBsaWVyIHJlc3BvbnNlcyh0aGUgY3JpdGVyaWEgYXJlIG5vdCBuZWNlc3NhcmlseSAgbGlzdGVkIGluIG9yZGVyIG9mIGltcG9ydGFuY2UpOjwvZGl2Pjxicj4tJm5ic3A7IEV4cGVyaWVuY2UgYW5kIG51bWJlciBvZiB5ZWFycyBpbiBidXNpbmVzcyA8YnI+LSZuYnNwOyBGaW5hbmNpYWwgc3RhYmlsaXR5IG9mIHRoZSBTdXBwbGllcidzIG9yZ2FuaXphdGlvbjxicj48YnI+PGJyPg==" }
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。
{ "AuctionHeaderId": 300100195546657, ... "NegotiationTitle": "New Laptop Order", "Negotiation": "39180", ... "Buyer": "Jones,Cody", "ProcurementBU": "Vision Operations", "NegotiationStyle": "Standard Negotiation", "Outcome": "Blanket Purchase Agreement", ... "links": [ { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/CoverPageText", "name": "CoverPageText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/GeneralIntroductionText", "name": "GeneralIntroductionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/TermsInstructionText", "name": "TermsInstructionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/RequirementInstructionText", "name": "RequirementInstructionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/LinesInstructionText", "name": "LinesInstructionText", "kind": "other" } ] }
REST Frameworkバージョン8以上
RESTフレームワーク・バージョン8以降では、CLOB属性値をリクエスト・ペイロードの文字列として渡すことができます。 Base64形式へのエンコーディングは必要ありません。 ヘッダーには、RESTフレームワーク・バージョン8が含まれている必要があります。 ヘッダーで指定されていない場合、RESTフレームワーク・バージョンはデフォルトで1になります。
CLOB属性による下書きネゴシエーションの作成
Cody Jonesがラップトップをオーダーするためのネゴシエーションを作成しているとします。 Codyには、リクエスト・ペイロード内のすべてのCLOB属性が文字列として含まれます。
URLの例
このリソースURL形式を使用します。
POST
curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.action+json" -d 'request payload' "https://servername/fscmRestApi/resources/version/supplierNegotiations"
ヘッダー : REST-FRAMEWORK-VERSION:8
リクエストの例
JSON形式のリクエスト本文の例を次に示します。
{ "ProcurementBU": "Vision Operations", "Buyer": "Dapolito,Cody", "PricePrecision": 2, "NegotiationLayoutName": "Negotiation Layout", "NegotiationType": "RFQ", "ResponseLayoutName": "Response Layout", "NegotiationStyle": "Standard Negotiation", "ResponseVisibility": "Blind", "NegotiationTitle" : "Laptop Replacement", "Outcome": "Blanket Purchase Agreement", "Currency": "US Dollar", "ContractTermsLayout": null, "RankingMethod": "Price only", "OpenImmediatelyFlag": true, "CloseDate" : "2020-10-31T13:34:23+00:00", "CoverPageText":"<div><p align=\"center\"><b><u>InFusion<\/u><\/b><br><\/p><\/div><p align=\"center\"><font color=\"#0000FF\"><b>Request For Quote<\/b>: Laptop Replacement<\/font><br><\/p><br>Purpose: Find the supplier that offers the highest quality and best value laptops.<br><br><div>InFusion generally uses the following criteria in evaluating and comparing Supplier responses(the criteria are not necessarily listed in order of importance):<\/div><br>- Experience and number of years in business <br>- Financial stability of the Supplier's organization<br><div>-Responsiveness to the requirements of the project as set forth in the [@Document Type@]<br><\/div><div>-Demonstrated understanding of the goals and objectives of the project and a logical plan for providing product\/services within the required time frames<\/div>-Agreement to Vision Operations standard contract terms<br>-Competitive Pricing<br><br>", "GeneralIntroductionText":"<div><i>Verify your selections before submission.</i></div><div><i></i><br></div>", "TermsInstructionText":"<div><i>Verify your selections before submission.</i></div><div><i></i><br></div>", "RequirementInstructionText":"<div><i>This is an Invitation for solicitation for qualified vendors.</i></div><div><i><br></i></div><div><i>"Responding to the question doesn't guarantee any offer or agreement in any form'"</i></div><br>", "LinesInstructionText":"Laptop X800 Specifications: 1 TB Hard Drive, 16MB Memory, Intel Processor Core i7, 3 Year Service Agreement, Windows 7 Operating System with Office 2013<br><br>Laptop X400 Specifications: 750 GB Hard Drive, 8MB Memory, Intel Processor Core i5, 3 Year Services Agreement, Windows 7 Operating System with Office 2013<br>" }
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。
{ "AuctionHeaderId": 300100195558414, ... "NegotiationTitle": "New Laptop Order", "Negotiation": "39180", ... "Buyer": "Jones,Cody", "ProcurementBU": "Vision Operations", ... "Outcome": "Blanket Purchase Agreement", "NegotiationType": "RFQ", ... "links": [ { ... { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/child/suppliers", "name": "suppliers", "kind": "collection" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/CoverPageText", "name": "CoverPageText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/GeneralIntroductionText", "name": "GeneralIntroductionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/TermsInstructionText", "name": "TermsInstructionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/RequirementInstructionText", "name": "RequirementInstructionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/LinesInstructionText", "name": "LinesInstructionText", "kind": "other" } ] } }
CLOB属性コンテンツの取得
このシナリオでは、CodyはCLOB属性のコンテンツ(表紙など)にアクセスする必要があります。
URLの例
このリソースURL形式を使用します。
GET
curl -u username:password "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195558414/enclosure/CoverPageText"
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。
<div><p align="center"><b><u>InFusion</u></b><br></p></div><p align="center"><font color="#0000FF"><b>Request For Quote</b>: Laptop Replacement</font><br></p><br>Purpose: Find the supplier that offers the highest quality and best value laptops.<br><br><div>InFusion generally uses the following criteria in evaluating and comparing Supplier responses(the criteria are not necessarily listed in order of importance):</div><br>-Experience and number of years in business <br>- Financial stability of the Supplier's organization<br><div>- Responsiveness to the requirements of the project as set forth in the [@Document Type@]<br></div><div>- Demonstrated understanding of the goals and objectives of the project and a logical plan for providing product/services within the required time frames</div>- Agreement to Vision Operations standard contract terms<br>-Competitive Pricing<br><br>
CLOB属性コンテンツの更新
このシナリオでは、CodyはCLOB属性の内容(表紙など)を更新して、指示を追加しようと考えています。
URLの例
このリソースURL形式を使用します。
PATCH
curl -X PATCH -u "username:password" -H "Content-Type:application/vnd.oracle.adf.action+json" -d 'request payload' https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195558414
ヘッダー : REST-FRAMEWORK-VERSION:8
リクエストの例
JSON形式のリクエスト本文の例を次に示します。
{ "CoverPageText":" <div><p align="center"><b><u>InFusion</u></b><br></p></div><p align="center"><font color="#0000FF"><b>Request For Quote</b>: Laptop Replacement</font><br></p><br>Purpose: Find the supplier that offers the highest quality and best value laptops.<br><br><div>InFusion generally uses the following criteria in evaluating and comparing Supplier responses(the criteria are not necessarily listed in order of importance):</div><br>- Experience and number of years in business <br>- Financial stability of the Supplier's organization<br><br><br> ", }
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。
{ "AuctionHeaderId": 300100195558414, ... "NegotiationTitle": "New Laptop Order", "Negotiation": "39180", ... "Buyer": "Jones,Cody", "ProcurementBU": "Vision Operations", ... "Outcome": "Blanket Purchase Agreement", "NegotiationType": "RFQ", ... "links": [ { ... { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/child/suppliers", "name": "suppliers", "kind": "collection" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/CoverPageText", "name": "CoverPageText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/GeneralIntroductionText", "name": "GeneralIntroductionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/TermsInstructionText", "name": "TermsInstructionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/RequirementInstructionText", "name": "RequirementInstructionText", "kind": "other" }, { "rel": "enclosure", "href": "https://servername/fscmRestApi/resources/version/supplierNegotiatio/300100195558414/enclosure/LinesInstructionText", "name": "LinesInstructionText", "kind": "other" } ] } }