Manage Supplier Negotiation Instruction Text

You can use the Supplier Negotiation REST resource to retrieve, create, and update the formatted text content such as instructions or cover page, which are CLOB attributes. This text content is often formatted using a rich text editing tool and used for creating the negotiation cover page, or for providing detailed instructions for the negotiation and related resources such as terms, lines, or requirements. These CLOB text attributes are available in the Supplier Negotiations resource:

  • CoverPageText
  • GeneralInstructionText
  • TermsInstructionText
  • RequirementInstructionText
  • LinesInstructionText.

These formatted text support rich text format, URL, image, and for inserting variables. The maximum character limit of a CLOB attribute is 20 MB. For more information about REST attachments, see Manage File Attachments in the REST API for Oracle B2C Service guide.

Here's a typical application processing flow for the scenarios:

  1. You can include the CLOB attribute when creating a negotiation in the draft status
  2. You can query the contents of a CLOB attribute
  3. You can update the contents of a CLOB attribute

When Using REST Framework Version Before Version 8

The REST framework version before version 8 accepts the CLOB attribute values only in the Base64 format. You must encode the strings to the Base64 format before passing the values in the request payload. The REST framework version defaults to 1 when it not specified in the Header.

Create Draft Negotiation with CLOB Attributes

Let's consider that Cody Jones is creating a negotiation for ordering laptops. Cody includes all the CLOB attributes in the request payload, which are in the Base64 format.

Example URL

Use this resource URL format.

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"

Example Request

Here's an example of the request body in JSON format.

{
  "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+"
...
}

Example Response

Here's an example of the response body in JSON format.

{
  "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"
    }
  ]
}

Get the CLOB Attribute Contents

In this scenario, Cody wants to access the contents of the CLOB attribute, for example, cover page.

Example URL

Use this resource URL format.

GET

curl -u username:password "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195546657/enclosure/CoverPageText"

Example Response

Here's an example of the response body in JSON format.

<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>

Update the CLOB Attribute Contents

In this scenario, Cody wants to update the contents of the CLOB attribute, for example, cover page, to add some instructions.

Example URL

Use this resource URL format.

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

Example Request

Here's an example of the request body in JSON format.

{    
"CoverPageText":"PGRpdj48cCBhbGlnbj0iY2VudGVyIj48Yj48dT5JbkZ1c2lvbjwvdT48L2I+PGJyPjwvcD48L2Rpdj48cCBhbGlnbj0iY2VudGVyIj48Zm9udCBjb2xvcj0iIzAwMDBGRiI+PGI+UmVxdWVzdCBGb3IgUXVvdGU8L2I+OiZuYnNwOyBMYXB0b3AgIFJlcGxhY2VtZW50PC9mb250Pjxicj48L3A+PGJyPlB1cnBvc2U6IEZpbmQgdGhlIHN1cHBsaWVyIHRoYXQgb2ZmZXJzIHRoZSBoaWdoZXN0IHF1YWxpdHkgYW5kIGJlc3QgdmFsdWUgbGFwdG9wcy48YnI+PGJyPjxkaXY+SW5GdXNpb24gZ2VuZXJhbGx5IHVzZXMgdGhlIGZvbGxvd2luZyBjcml0ZXJpYSBpbiAgZXZhbHVhdGluZyBhbmQgY29tcGFyaW5nIFN1cHBsaWVyIHJlc3BvbnNlcyh0aGUgY3JpdGVyaWEgYXJlIG5vdCBuZWNlc3NhcmlseSAgbGlzdGVkIGluIG9yZGVyIG9mIGltcG9ydGFuY2UpOjwvZGl2Pjxicj4tJm5ic3A7IEV4cGVyaWVuY2UgYW5kIG51bWJlciBvZiB5ZWFycyBpbiBidXNpbmVzcyA8YnI+LSZuYnNwOyBGaW5hbmNpYWwgc3RhYmlsaXR5IG9mIHRoZSBTdXBwbGllcidzIG9yZ2FuaXphdGlvbjxicj48YnI+PGJyPg=="
  }

Example Response

Here's an example of the response body in JSON format.

{
  "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 Version 8 and Above

The REST framework version 8 and above allows passing CLOB attributes values as strings in the request payload. Encoding into Base64 format is not required. The header should include REST framework version as 8. The REST framework version defaults to 1 when not specified in the Header.

Create Draft Negotiation with CLOB Attributes

Let's consider that Cody Jones is creating a negotiation for ordering laptops. Cody includes all the CLOB attributes in the request payload as strings.

Example URL

Use this resource URL format.

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"

HEADERS: REST-FRAMEWORK-VERSION:8

Example Request

Here's an example of the request body in JSON format.

{
  "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>"
}

Example Response

Here's an example of the response body in JSON format.

{
  "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"
      }
    ]
  }
}

Get the CLOB Attribute Contents

In this scenario, Cody wants to access the contents of the CLOB attribute, for example, cover page.

Example URL

Use this resource URL format.

GET

curl -u username:password "https://servername/fscmRestApi/resources/version/supplierNegotiations/300100195558414/enclosure/CoverPageText"

Example Response

Here's an example of the response body in JSON format.

<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>

Update the CLOB Attribute Contents

In this scenario, Cody wants to update the contents of the CLOB attribute, for example, cover page, to add some instructions.

Example URL

Use this resource URL format.

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

HEADERS: REST-FRAMEWORK-VERSION:8

Example Request

Here's an example of the request body in JSON format.

{    
"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> ",
  }

Example Response

Here's an example of the response body in JSON format.

{
  "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"
      }
    ]
  }
}