サプライヤ・ネゴシエーション・インストラクション・テキストの管理
サプライヤ・ネゴシエーション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"
}
]
}
}