Riskonnect ESG API Introduction
This API allows programmatic interaction with Riskonnect over HTTPS. This site will explain how to connect to your Riskonnect org, then execute commands and read the results.
Recent Updates
v5.0 Updates
General request structure has been changed. Please review v5.0 Post Request section.
Products.AddProducts:
- CustomFields added to Product object
v4.0 Updates
Added new commands:
- Forms.AddAnswers - Insert and update answers to an open form instance.
- Forms.Submit - Submit forms and advance their requests to the next workflow step.
- Requests.GetRequests - Query for information about Riskonnect requests and their respective form information.
- Requests.Reject - Reject a list of requests
v3.0 - Updates
AddProducts:
- Parameter CompanyICIXID removed.
- Required Field RelationshipType added.
- Required Field Status added.
- Misc bug fixes
- Additional validation
AddPurchaseOrders:
- Command name changed to AddPurchaseOrders from API_PurchaseOrders.AddPurchaseOrders.
- LineItem.Quantity changed to type String.
Setup - All Versions
String targetUrl = "https://[instance].salesforce.com/services/oauth2/token";
HttpsClient HttpsClient = new DefaultHttpsClient();
HttpsPost post = new HttpsPost(targetUrl);
List<BasicNameValuePair> parametersBody = new ArrayList<BasicNameValuePair>();
parametersBody.add(new BasicNameValuePair("grant_type", "password"));
parametersBody.add(new BasicNameValuePair("username", username));
parametersBody.add(new BasicNameValuePair("password", password));
parametersBody.add(new BasicNameValuePair("client_id", consumerKey));
parametersBody.add(new BasicNameValuePair("client_secret", consumerSecret));
try{
post.setEntity(new UrlEncodedFormEntity(parametersBody, HTTPS.UTF_8));
HttpsResponse response = httpsClient.execute(post);
int code = response.getStatusLine().getStatusCode();
String oauthLoginResponse = EntityUtils.toString(response.getEntity());
Gson gson = new Gson();
String accessToken = gson.fromJson(oauthLoginResponse, SalesForceOauthObject.class).access_token;
return accessToken;
}
catch(Exception e){
e.printStackTrace();
}
return null;
Connect to your Riskonnect org using the Salesforce OAuth service. This will return your OAuth accessToken.
Please see JAVA example to the right.
v5.0 - Post Request
General Information
Https requests should conform to the following:
URL: https:// [instance] .salesforce.com/services/apexrest/ [namespace] /api/v [version number]
Method: POST
Headers
Authorization: Bearer [token]
Content-Type: application/json
Accept: application/json
Icix-Api-Command: [Command Name]
Icix-Api-Method: [Sub-Method Name]
Icix-Api-Async: [Boolean]
Request Body
The request body must be in json format. The json object descriptions are described below with their respective command.
v4.0 - Post Request
URL url = new
URL("https://na30.salesforce.com/services/apexrest/dev_namespace/service_endpoint/");
con = (HttpsURLConnection) url.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestProperty("Method", "POST");
con.setRequestProperty("Authorization", "Bearer " + accessToken);
con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Accept", "application/json");
OutputStream os = con.getOutputStream();
Wrapper wrapper = new Wrapper();
RequestSettings settings = new RequestSettings();
settings.Command = "Command.ExampleCommand";
Parameters params = new Parameters();
params.Id = "a0D36000004nmVWEAY";
General Information
Https requests should conform to the following:
URL: https:// [instance] .salesforce.com/services/apexrest/ [namespace] /pushdata/v3
Method: POST
Authorization: Bearer [token]
Content-Type: application/json
Accept: application/json
Request Body
Example:
{
"settings": {
"Command": "NameOfCommand",
"ApiParameters": "{\"Id\":\"a0D36000004nmVWEAY\"}"
}
}
The request body must be a JSON object named settings with the following fields:
Field Name | Type | Description |
---|---|---|
*Command | String | The name of the API Command you wish to execute. Available below. |
*ApiParameters | String | A JSON serialized string that represents the required parameters of the API Command you have selected. Expected parameter objects are specified along with each API Command below. |
Async | Boolean | If this flag is set to “true”, this request will be processed asynchronously. Use this feature to send a larger request body up to 1Mb. |
v5.0 - API Commands
Products.AddProducts
Create and update products, relationships, universal and non-universal IDs.
Request Body
{
"Products" : [
{
"ExternalId" : "Product1",
"Name" : "Product1",
"Description" : "Description Product1",
"UniversalIds" : {
"GTIN" : ["Product1"]
},
"CustomFields" : {
"Text_Field_Api_Name__c" : "String value",
"Checkbox_Field_Api_Name__c" : "true",
"Date_Field__c" : "yyyy-mm-dd"
},
"Relationships" : [
{
"TradingPartnerIdType": "Vendor",
"TradingPartnerId" : "123",
"Status" : "Active",
"Type" : "Buy",
"InternalIds" : {
"SKU" : ["SKU-Product1-1", "SKU-Product1-2"]
}
},
{
"TradingPartnerIdType": "Vendor2",
"TradingPartnerId" : "123",
"Status" : "Active",
"Type" : "Sell",
"InternalIds" : {
"SKU" : ["SKU-Product1-1", "SKU-Product1-2"]
}
}
]
}
]
}
Field Name | Type | Description |
---|---|---|
Products | Object[] (Product[]) |
An array of objects containing the product information. The Product Object is described below. |
Product Object
Field Name | Type | Description |
---|---|---|
SalesforceId | String | The Salesforce Id of the product |
ExternalId | String | A unique ID that may be set by the user for reference in subsequent actions |
Name | String | The name of the product |
Description | String | A description of the product |
UniversalIds | key/value Object String : String[] |
The universal ids for the product. Keys are the ID type name, and values are a String array containing the ID values. |
CustomFields | key/value Object String : String |
Extended custom fields. Keys are the api name given to your custom field, and values are the String value of your data. Field api names can be found in Saleforce Object Manager. |
Relationships | Object[] Relationship[] |
An object array containing the relationships data for the product. The Relationship Object is described below. |
Relationship Object
Field Name | Type | Description |
---|---|---|
TradingPartnerIdType | String | The Id Type of the Trading Partner |
TradingPartnerId | String | The Id of the Trading Partner |
Status | String | The status of the relationship |
Type | String | The type of relationship between your company, the product, and the trading partner. Accepted values are Sell, Buy, Manufacture, Distribute, Verify. |
InternalIds | key/value Object String : String[] |
The internal identifiers of the product. Keys are the ID type name, and values are a String array containing the ID values. |
Products.AddAttributes
Create and update product attributes and tags.
Request Body
{
"Products" : [{
"ExternalId" : "Product 1",
"Attributes" : {
"Color" : "Blue"
},
"Tags" : ["Kosher"],
"Relationships" : [{
"TradingPartnerIdType" : "Vendor",
"TradingPartnerId" : "123",
"Type" : "Buy",
"Attributes" : {
"Color" : "Blue"
},
"Tags" : ["Kosher"]
}]
}]
}
Field Name | Type | Description |
---|---|---|
Products | Object[] (Product[]) |
The list of products you are adding attributes to. The Product Object is described below. |
Product Object
Field Name | Type | Description |
---|---|---|
SalesforceId | String | The Salesforce ID of the product |
ExternalId | String | The unique client set ID of the product |
Attributes | key/value Object String : String |
Keys should be the attribute name, and value should be the attribute value. |
Tags | String[] | A list of Tags to add to the product |
Relationships | Object[] (Relationship[]) |
The target product relationships that the attributes/tags will belong to. |
Relationship Object
Field Name | Type | Description |
---|---|---|
TradingPartnerIdType | String | The Riskonnect ID of the Trading Partner for the Relationship. |
TradingPartnerId | String | The Riskonnect ID of the Trading Partner for the Relationship. |
Type | String | |
Attributes | key/value Object String : String |
Keys should be the attribute name, and value should be the attribute value. |
Tags | String[] | A list of Tags to add to the product relationship |
Products.RelateProducts
Create and update product to product relationships and PPR attributes.
Request Body
{
"RelatedProducts" : [{
"ProductExternalId" : "Product1",
"RelatedProductExternalId" : "Product2",
"Type" : "Component",
"Attributes" : {
"Bundle Count" : "6"
}
}]
}
Field Name | Type | Description |
---|---|---|
RelatedProducts | Object[] (RelatedProduct[]) |
RelatedProduct Object
Field Name | Type | Description |
---|---|---|
RelatedProductExternalId | String | |
Type | String | |
Attributes | key/value Object |
Products.SetProductTest
Assign testing programs, categories, and tests to products.
Request Body
{
"ProductTestSettings" : [
{
"ProductExternalId" : "Product1",
"Program" : "TestingProgram1",
"Categories" : ["Category1", "Category2"],
"TestLevels" : ["Component", "Finished Good"],
"Certificates" : ["Certificate1", "Certificate2"],
"TestResultsInCertificate" : ["Test1", "Test2"],
"Attributes" : {
"Attribute1" : "Value1",
"Attribute2" : "Value2"
}
}
]
}
Field Name | Type | Description |
---|---|---|
ProductTestSettings | Object[] (ProductTestSetting[]) |
ProductTestSetting Object
Field Name | Type | Description |
---|---|---|
ProductExternalId | String | The external id of the product |
Program | String | The name of the testing program |
Categories | String[] | The testing categories to assign to the product |
TestLevels | String[] | The test levels to assign to the product |
Certificates | String[] | The certificates to generate for the product |
TestResultsInCertificate | String[] | The test results to include in the certificate |
Attributes | key/value Object | Testing Program Product Attributes. The keys are attribute names and values are attribute values |
PurchaseOrders.AddPurchaseOrders
Create and update a list of purchase orders, line items, and their respective attributes.
Request Body
{
"PurchaseOrders": [
{
"PurchaseDate": "1/10/2018 12:00 AM",
"DateRequested": "1/10/2018 12:00 AM",
"AnticipateDate": "1/10/2018 12:00 AM",
"CancelDate": "1/10/2018 12:00 AM",
"OrderNumber": "Order1",
"OrderStatus": "Open",
"ShipToCountry": "US",
"TradingPartnerIdType" : "Vendor",
"TradingPartnerId" : "123",
"Attributes" : {"A1": "A1 Value"},
"LineItems": [
{
"ExternalId" : "LineItem1",
"ProductExternalId" : "Product1",
"Quantity": "50",
"Status": "Open",
"SoldToName" : "Justin Ngo",
"Attributes" : {"A1": "A1 Value"}
}
]
}
]
}
Field Name | Type | Description |
---|---|---|
PurchaseOrders | Object[] (PurchaseOrder[]) |
PurchaseOrder Object
Field Name | Type | Description |
---|---|---|
PurchaseDate | Date String | |
DateRequested | Date String | |
AnticipateDate | Date String | |
CancelDate | Date String | |
OrderNumber | String | |
OrderStatus | String | |
ShipToCountry | String | |
TradingPartnerIdType | String | |
TradingPartnerId | String | |
Attributes | key/value Object | |
LineItems | Object[] (LineItem[]) |
LineItem Object
Field Name | Type | Description |
---|---|---|
ExternalId | String | |
ProductExternalId | String | |
Quantity | String | |
Status | String | |
SoldToName | String | |
Attributes | key/value Object |
ProductTestManager.AddTestingPrograms
Create and update a list of testing programs, categories, product tests, product test attributes, and limits.
Request Body
{
"TestingPrograms" : [
{
"SalesforceId" : "",
"ExternalId" : "",
"Name" : "",
"ActiveFrom" : "",
"ActiveTo" : "",
"Active" : true,
"DisplaySampleDefectiveSize" : false,
"AllowConditionalPass" : false,
"ValidationPeriod" : "",
"TestCategories" : [
{
"Name" : "",
"ProductTests" : [
{
"TestClassExternalId" : "",
"TestExternalId" : "",
"TestingType" : "",
"Unit" : "",
"Attributes" : {
"Attribute Name" : ""
},
"Limits" : [
{
"Type" : "",
"Value" : "",
"Operator" : "",
"ExceedStatus" : "",
"LimitMessage" : ""
}
]
}
]
}
]
}
]
}
Field Name | Type | Description |
---|---|---|
TestingPrograms | Object[] TestingProgram |
|
SalesforceId | String | |
ExternalId | String | |
Name | String | |
ActiveFrom | Date String | |
ActiveTo | Date String | |
Active | Boolean | |
DisplaySampleDefectiveSize | Boolean | |
AllowConditionalPass | Boolean | |
ValidationPeriod | String | |
TestCategories | String[] |
TestCategory Object
Field Name | Type | Description |
---|---|---|
Name | String | |
ProductTests | Object[] |
ProductTest Object
Field Name | Type | Description |
---|---|---|
TestClassName | String | |
TestName | String | |
TestingType | String | |
Unit | String | |
Limits | Object[] | |
Attributes | key/value Object |
TestLimit Object
Field Name | Type | Description |
---|---|---|
Type | String | |
Value | String | |
Operator | String | |
ExceedStatus | String | |
LimitMessage | String |
Requests.GetRequests
Retrieve Request and Container information
Request Body
//Request body
{
"RequestSelectors" : [
{
"RequestSelector" : {
"RequestId" : "abc123",
"ContainerId" : "abc123",
"Questions" : ["Question1"]
}
}
]
}
Field Name | Type | Description |
---|---|---|
RequestSelectors | Object[] (RequestSelector[]) |
An array of objects containing Request query filters. The RequestSelector object is described below. |
RequestSelector Object
Field Name | Type | Description |
---|---|---|
RequestId | String | The Salesforce Id of the Request to query. Not required if ContainerId is provided. |
ContainerId | String | The Container's Salesforce Id of the Request to query. Not required if RequestId is provided. |
Questions | String[] | A string array containing form question names. Questions included here will have their respective answers returned. |
v4.0 API Commands
AddProducts
Adds a list of products
API Parameters
//example Parameters object
{
"Products": [
{
"IcixProductName": "Product Name" ,
"Description": "Product Description" ,
"RelationshipType": "Buy" ,
"Status": "Active" ,
"TradingPartnerIdType": "Vendor" ,
"TradingPartnerId": "123" ,
"ProductIdTypesAndValues": {
"SKU": "456"
},
"Attributes": {
"Color": "Blue"
},
"Tags" : [
"Organic"
],
"RelatedProducts" : [
{
"IdType" : "SKU" ,
"ProductId" : "789" ,
"RelationshipType" : "Component" ,
"ExemptFromTesting" : "" ,
"Attributes" : {
"Bundle Count" : "6"
}
}
],
"ProductTestSettings": [{
"Program": "Test Program" ,
"Categories" : [
"Test Category A"
],
"TestLevels": [
"Finished Good"
]
}]
}
]
}
Field Name | Type | Description |
---|---|---|
Products | Object[] (Product[]) |
An array of objects containing the product information. The Product Object is described below. |
Product Object
Field Name | Type | Description |
---|---|---|
*IcixProductName | String | The name of the product |
Description | String | A description of the product |
TradingPartnerIdType | String | The Id Type of the Trading Partner related to this product |
TradingPartnerId | String | The Id of the Trading Partner related to this product. |
*RelationshipType | String | The type of relationship between your company, the product, and the trading partner. Accepted values are Sell, Buy, Manufacture, Distribute, Verify. |
*Status | String | The relationship status. Accepted values are Suspended, Active, Inactive, Pending. |
*ProductIdTypesAndValues | Object | Your Id numbers or codes of the product. An Object with key value pairs where the values are strings. Keys should represent the type of identifier. Values should represent the identifier. See “ Supported ID types for Products ” below for valid types. The Ids are expected to be unique within your organization. |
RelatedProducts | Object[] (RelatedProduct[]) |
An array of objects containing identifiers of products that are related to this product. The RelatedProduct object is described below. All products referenced must exist prior to this HTTP call. |
Attributes | Object | Custom attributes for this product. An Object with key value pairs where the values are strings. Keys represent the attribute name. Values represent the attribute value. Attribute names used must be available in the “Attributes” tab of your org. |
Tags | String[] | Custom Tags for this product. An Array of strings. Tag names used must be available in the “Attributes” tab or you org. |
ProductTestSettings | Object[] (ProductTestSetting[]) |
A collection of objects that describes the Product Test Programs and Categories this product should be associated with. The ProductTestSetting object is described below. |
RelatedProduct Object
Field Name | Type | Description |
---|---|---|
*IdType | String | Your Id type being referenced. Id Types used must be available in the “Id Types” tab of your org. Use an IdType that that represents a unique value in your organization. |
*ProductId | String | The Id of the related product |
*RelationshipType | String | Describes the relationship between this product and the related product. See “ Supported Relationship Types ” below for valid relationship types |
ExemptFromTesting | Boolean | Specify if this product is exempt from testing of the related product |
Attributes | Object | Custom attributes for this product relationship. An Object with key value pairs where the values are strings. Keys represent the attribute name. Values represent the attribute value. Attribute names used must be available in the “Attributes” tab of your org. |
Supported Relationship Types
- Component
- Related
- Variant
- Finished Product
ProductTestSetting Object
Field Name | Type | Description |
---|---|---|
*Program | String | The name of the Product Test Program the product should be subscribed to. |
Categories | String[] | An array of strings. These are the names of the test Categories in the specified Program that the product should be subscribed to. |
TestLevels | String[] | An array of strings. These are the Program testing levels to apply to the product. |
AddPurchaseOrders
Adds a list of purchase orders with line items into Riskonnect.
API Parameters
//example Parameters object
{
"CompanyICIXID": "100",
"PurchaseOrders": [
{
"PurchaseDate": "1/10/2018 12:00 AM",
"DateRequested": "1/10/2018 12:00 AM",
"AnticipateDate": "1/10/2018 12:00 AM",
"CancelDate": "1/10/2018 12:00 AM",
"OrderNumber": "99",
"OrderStatus": "Closed",
"ShipToCountry": "US",
"TradingPartnerIdType": "Vendor",
"TradingPartnerId": "123",
"LineItems": [
{
"IdType": "SKU",
"ProductId": "1",
"Quantity": "10",
"Status": "Open"
},
{
"IdType": "SKU",
"ProductId": "2",
"Quantity": "100 ",
"Status": "Open"
}
]
}
]
}
Field Name | Type | Description |
---|---|---|
CompanyICIXID | String | The Riskonnect ID of your company. |
PurchaseOrders | Object[] (PurchaseOrder[]) |
An array of objects that represents purchase orders. The PurchaseOrder object is described below. |
PurchaseOrder Object
Field Name | Type | Description |
---|---|---|
PurchaseDate | String (Date/Time) |
The date and time of the purchase. The string should be formatted like: “ 11/06/2014 12:00 AM ” |
DateRequested | String (Date/Time) |
The string should be formatted like: “ 11/06/2014 12:00 AM ” |
AnticipateDate | String (Date/Time) |
The string should be formatted like: “ 11/06/2014 12:00 AM ” |
CancelDate | String (Date/Time) |
The string should be formatted like: “ 11/06/2014 12:00 AM ” |
OrderNumber | String | Your internal identifier for this purchase order. This is a unique identifier. |
OrderStatus | String | The current status of the order. The supported values are: Open, Cancelled, Closed |
ShipToCountry | String | Ship to Country for this purchase order. An Array of strings. See Supported Country Codes below for valid Country Names. |
TradingPartnerIdType | String | The Id type used to reference the Trading Partner this order is related to. |
TradingPartnerId | String | The Id used to reference the Trading Partner this order is related to. |
LineItems | Object[] (LineItem[]) |
An array of objects that represents the line items belonging to this purchase order. The LineItem object is described below. |
LineItem Object
Field Name | Type | Description |
---|---|---|
IdType | String | Your Id type being referenced for the product in the line item. |
ProductId | String | The Id of the product being referenced by the line item. |
Quantity | String | The quantity purchased of the product referenced by this line item. |
Status | String | The current status of the order. The supported values are: Open, Cancelled, Closed |
Supported Country Codes
Label__c / Country Name | Value__c / Country Code |
---|---|
Afghanistan | AF |
Albania | AL |
Algeria | DZ |
Andorra | AD |
Angola | AO |
Antigua and Barbuda | AG |
Argentina | AR |
Armenia | AM |
Australia | AU |
Austria | AT |
Azerbaijan | AZ |
Bahamas, The | BS |
Bahrain | BH |
Bangladesh | BD |
Barbados | BB |
Belarus | BY |
Belgium | BE |
Belize | BZ |
Benin | BJ |
Bhutan | BT |
Bolivia | BO |
Bosnia and Herzegovina | BA |
Botswana | BW |
Brazil | BR |
Brunei | BN |
Bulgaria | BG |
Burkina Faso | BF |
Burundi | BI |
Cambodia | KH |
Cameroon | CM |
Canada | CA |
Cape Verde | CV |
Central African Republic | CF |
Chad | TD |
Chile | CL |
China, People's Republic of | CN |
Colombia | CO |
Comoros | KM |
Congo, (Congo - Brazzaville) | CG |
Congo, (Congo - Kinshasa) | CD |
Costa Rica | CR |
Cote d'Ivoire (Ivory Coast) | CI |
Croatia | HR |
Cuba | CU |
Cyprus | CY |
Czech Republic | CZ |
Denmark | DK |
Djibouti | DJ |
Dominica | DM |
Dominican Republic | DO |
Ecuador | EC |
Egypt | EG |
El Salvador | SV |
Equatorial Guinea | GQ |
Eritrea | ER |
Estonia | EE |
Ethiopia | ET |
Fiji | FJ |
Finland | FI |
France | FR |
Gabon | GA |
Gambia, The | GM |
Georgia | GE |
Germany | DE |
Ghana | GH |
Greece | GR |
Grenada | GD |
Guatemala | GT |
Guinea | GN |
Guinea-Bissau | GW |
Guyana | GY |
Haiti | HT |
Honduras | HN |
Hungary | HU |
Iceland | IS |
India | IN |
Indonesia | ID |
Iran | IR |
Iraq | IQ |
Ireland | IE |
Israel | IL |
Italy | IT |
Jamaica | JM |
Japan | JP |
Jordan | JO |
Kazakhstan | KZ |
Kenya | KE |
Kiribati | KI |
Korea, North | KP |
Korea, South | KR |
Kuwait | KW |
Kyrgyzstan | KG |
Laos | LA |
Latvia | LV |
Lebanon | LB |
Lesotho | LS |
Liberia | LR |
Libya | LY |
Liechtenstein | LI |
Lithuania | LT |
Luxembourg | LU |
Macedonia | MK |
Madagascar | MG |
Malawi | MW |
Malaysia | MY |
Maldives | MV |
Mali | ML |
Malta | MT |
Marshall Islands | MH |
Mauritania | MR |
Mauritius | MU |
Mexico | MX |
Micronesia | FM |
Moldova | MD |
Monaco | MC |
Mongolia | MN |
Montenegro | ME |
Morocco | MA |
Mozambique | MZ |
Myanmar (Burma) | MM |
Namibia | NA |
Nauru | NR |
Nepal | NP |
Netherlands | NL |
New Zealand | NZ |
Nicaragua | NI |
Niger | NE |
Nigeria | NG |
Norway | NO |
Oman | OM |
Pakistan | PK |
Palau | PW |
Panama | PA |
Papua New Guinea | PG |
Paraguay | PY |
Peru | PE |
Philippines | PH |
Poland | PL |
Portugal | PT |
Qatar | QA |
Romania | RO |
Russia | RU |
Rwanda | RW |
Saint Kitts and Nevis | KN |
Saint Lucia | LC |
Saint Vincent and the Grenadines | VC |
Samoa | WS |
San Marino | SM |
Sao Tome and Principe | ST |
Saudi Arabia | SA |
Senegal | SN |
Serbia | RS |
Seychelles | SC |
Sierra Leone | SL |
Singapore | SG |
Slovakia | SK |
Slovenia | SI |
Solomon Islands | SB |
Somalia | SO |
South Africa | ZA |
Spain | ES |
Sri Lanka | LK |
Sudan | SD |
Suriname | SR |
Swaziland | SZ |
Sweden | SE |
Switzerland | CH |
Syria | SY |
Tajikistan | TJ |
Tanzania | TZ |
Thailand | TH |
Timor-Leste (East Timor) | TL |
Togo | TG |
Tonga | TO |
Trinidad and Tobago | TT |
Tunisia | TN |
Turkey | TR |
Turkmenistan | TM |
Tuvalu | TV |
Uganda | UG |
Ukraine | UA |
United Arab Emirates | AE |
United Kingdom | GB |
United States | US |
Uruguay | UY |
Uzbekistan | UZ |
Vanuatu | VU |
Vatican City | VA |
Venezuela | VE |
Vietnam | VN |
Yemen | YE |
Zambia | ZM |
Zimbabwe | ZW |
EditTradingPartners
API_TradingPartners.EditTradingPartners
Description: Add information to Trading Partner records in Riskonnect. Non-universal Ids, Tags, and Attributes can be added to Trading Partners. This process identifies a Trading partner by its name.
API Parameters
Field Name | Type | Description |
---|---|---|
CompanyICIXID | String | The Riskonnect ID of your company. |
TradingPartners | Object[] (TradingPartner[]) |
An array of objects that represents Trading Partner information. The TradingPartner object is described below. |
TradingPartner Object
Field Name | Type | Description |
---|---|---|
Name | String | The name of the Trading Partner you are editing. The process identifies the records to be edited by this field. |
IdTypesAndValues | Object | Your internal identifiers for this Trading Partner. These translate to Non-Universal Ids in Riskonnect. An Object with key value pairs where the values are strings. The keys represent the type of identifier. The values represent the identifier. |
Tags | String[] | Custom Tags for this trading partner. An Array of strings. Tag names used must be available in the “Attributes” tab or you org. |
Attributes | Object | Custom attributes for this trading partner. An Object with key value pairs where the values are strings. Keys represent the attribute name. Values represent the attribute value. Attribute names used must be available in the “Attributes” tab of your org. |
Forms.AddAnswers
//example Parameters object
{
"AnswerCollections" : [
{
"InstanceId": "ContainerInstanceId",
"Answers": {
"Question1": "Answer 1",
"Question2": 2,
"Question3 Muti-Picklist": "Selection1;Selection2",
"Question4 Checkbox": false,
"Question5 Table": [
{
"TableQuestion1": "Row1 Answers",
"TableQuestion2": "Row1 Answers",
"TableQuestion3": "Row1 Answers"
},
{
"TableQuestion1": "Row2 Answers",
"TableQuestion2": "Row2 Answers",
"TableQuestion3": "Row2 Answers"
}
],
"ProductTestResults" : {
"LabReferenceNumber" : "123",
"TestingDelayed" : true,
"TestingDelayedReason" : "IDK",
"BrandLimitSummary" : "bls",
"BrandLimitSummaryComment" : "blsc",
"RegulatoryLimitSummary" : "rls",
"RegulatoryLimitSummaryComment" : "rlsc",
"DateTested" : "02/13/2019",
"TestResults" : {
"ProductTestId" : "[ProductTestId]",
"Result" : "Pass"
}
}
}
}
]
}
//TestResults object may also take this form
"TestResults" : {
"ProductTestId" : "[ProductTestId]",
"ComponentResults" : {
"component 1" : "3",
"component 2" : "2",
}
}
Adds answers to open requests forms.
Field Name | Type | Description |
---|---|---|
AnswerCollections | Object[] (AnswerCollection[]) |
An array of Objects which contain form response information. The AnswerCollection object is defined below |
AnswerCollection Object
Field Name | Type | Description |
---|---|---|
InstanceId | String | The Form Instance Identifier you are adding answers to. |
Answers | Object | The answers you are adding to the form. A key/value pair Object where the key is the Identifier for the question. The value is an object containing answer data. The object type of the value is dependent on the type of question/answer (String, Integer, Boolean, Table, etc...). The question types are defined below |
Question Type to Answer Type
Field Name | Type | Description |
---|---|---|
Question Type | Answer Type | Description |
Text | String | A free form text field up to 255 characters |
Picklist | String | A field with a list of accepted values of which you may choose one. |
Multi-picklist | Semi-colon “;” delimited String | A field with a list of accepted values. |
Checkbox | Boolean | A boolean value represented by a checkbox in the UI. (true = checked, false = unchecked) |
Date | String in format: 11/06/2014 12:00 AM | A string representing a Date |
Datetime | String in format: 11/06/2014 12:00 AM | A string representing a Date and time |
Number | String | A numeric string |
Long Text | String | A string up 5000 characters |
Radio | String | A string representing an option from the radio options of the question. |
Email Address | String in format: john@example.com | An email address field |
Upload | String[] | An array of strings containing Content Version Ids. Please see Salesforce Standard Services > Upload Documents. |
Table | Object[] | An array of key/value pair objects. The objects in the array are of the same type as AnswerCollection.Answers described above. |
Product test | Object (ProductTest) |
This object allows entering Product Test results into an Riskonnect test request form. |
Product Test
Field Name | Type | Description |
---|---|---|
LabReferenceNumber | String | |
TestingDelayed | Boolean | Indicate if the product test was delayed. |
TestingDelayedReason | String | A comment describing the reason for delay. |
BrandLimitSummary | String | |
BrandLimitSummaryComment | String | |
RegulatoryLimitSummary | String | |
RegulatoryLimitSummaryComment | String | |
DateTested | String in format: 11/06/2014 | The date of the product test. |
TestResults | Object[] (TestResult[]) |
An array of TestResult objects. The TestResult object is described below. |
TestResult
Field Name | Type | Description |
---|---|---|
*ProductTestId | String | The Id of the Product Test you are submitting a result for. |
Result | String | The quantitative or qualitative result of the test. Use this field for a single result |
ComponentResults | Object | A key/value object where the keys are the lab determined component name, and the values are the test result. Use this field when lab specifies components or substrates during testing. |
Forms.SubmitForms
Submit completed forms to the next step in the workflow and complete the associated task.
API Parameters
//example parameters object
{
"ContainerInstanceIds" : [
"a0J0b00000RRjTXEA1",
"a0J0b00000RRjTXEA2"
]
}
Field Name | Type | Description |
---|---|---|
*InstanceIds | String[] | A list of strings containing Ids of the Instances you wish to progress in the workflow. |
Requests.GetRequests
Query for information about Riskonnect requests and their respective form information. Results can be filtered on request status, request type, or by a list of container instance ids.
API Parameters
//example parameters object
{
"Status" : "Open"
}
Field Name | Type | Description |
---|---|---|
*Status | String | It is required field which tells Status of request (Open/Closed) |
sType | String | It is request type and optional field ex :-Product Test |
ContainerIds | String[] | It is an Optional fields which is an array of strings containing Container Instance Id’s for which we want to fetch the data through API. |
API Response
//example response object
{
"statusCode": null,
"Message": null,
"Errors": [
],
"RequestsDetails": [
{
"TestingDelayedReason": "IDK",
"TestingDelayed": "true",
"RequestType": "Product Test",
"RequestStatus": "Open",
"RequestName": "Justin Request - 2\/8\/2019 8:12 AM",
"RequestId": "a1I0b0000063gAnEAI",
"RequesterName": "CRE Org 01 Stg",
"RelatedRequest": null,
"RecipientName": "CRE Org 02 Stg",
"ProductName": "Logan",
"ProductId": "a0T0b000003ErwhEAC",
"PrimaryResponder": "CRE Org 04 Dev Stg",
"OriginalLabReferenceNumber": null,
"LabReferenceNumber": null,
"ExpirationDate": null,
"EffectiveDate": "2019-01-07 22:18:17",
"DueDate": null,
"DateTested": "2019-02-13",
"ContainerTemplateType": "Product Test",
"ContainerTemplateName": "AS_Product Test Form 1\/7\/2019 10:18 PM",
"ContainerTemplateId": "a0I0b00000KwqqQEAR",
"ContainerTemplateContainerType": "Single Form",
"ContainerQuestionsvalues": [
{
"TestName": "4.3.5.1(2) (ASTM F963-11), Surface Coating Materials \u2013 Soluble Test for Metals",
"TestingType": "Qualitative",
"TestClass": "4.3.5.1(2) (ASTM F963-11), Surface Coating Materials \u2013 Soluble Test for Metals",
"TestCategory": "New Test Category 1\/8\/2019 11:49:00 AM",
"ProductTestName": "20190108-0000000006",
"ProductTestLimits": [
{
"Operator": null,
"Limits": null,
"ExceedStatus": "Pass"
},
{
"Operator": null,
"Limits": null,
"ExceedStatus": "Fail"
}
],
"ProductTestId": "a190b000005MN61AAG",
"Answers": "4"
}
],
"ContainerName": "AS_Product Test Form 1\/7\/2019 10:18 PM",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"ContainerAnswersvalues": [
{
"QuestionId": "a1F0b000007jVTBEA2",
"Question": "Test Program",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": "Anmol Testing Program 1\/8\/2019 11:47:37 AM"
},
{
"QuestionId": "a1F0b000007jVTFEA2",
"Question": "Trading Partner Riskonnect ID",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": "304438"
},
{
"QuestionId": "a1F0b000007jVTGEA2",
"Question": "Trading Partner Universal ID",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": "DUNS=19-71y-1977"
},
{
"QuestionId": "a1F0b000007jVTKEA2",
"Question": "Trading Partner Name",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": "CRE Org 02 Stg"
},
{
"QuestionId": "a1F0b000007jVTLEA2",
"Question": "Product Unique or Universal ID",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": "IXN=030-DR-000178"
},
{
"QuestionId": "a1F0b000007jVTMEA2",
"Question": "Product Non-Universal IDs",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": null
},
{
"QuestionId": "a1F0b000007jVTNEA2",
"Question": "Product Relationship Tags",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": null
},
{
"QuestionId": "a1F0b000007jVTOEA2",
"Question": "Product Relationship Attributes",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": null
},
{
"QuestionId": "a1F0b000007jVTPEA2",
"Question": "Product Name",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": "Logan"
},
{
"QuestionId": "a1F0b000007jVTDEA2",
"Question": "Retest",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": "false"
},
{
"QuestionId": "a1F0b000007jVTXEA2",
"Question": "Testing Facility",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": null
},
{
"QuestionId": "a1F0b000007jVTCEA2",
"Question": "Test Report Number",
"ContainerInstanceId": "a0J0b00000JZjCkEAL",
"Comment": null,
"Answer": "039-DQ-002544"
}
],
"BrandLimitSummaryComment": "blsc",
"BrandLimitSummary": null
}
]
}
}
Field name | Type | Description |
---|---|---|
RequestDetails | Object[] (RequestDetail[]) |
An array of objects that contain Riskonnect Request data. It contains the information relevant to respond to requests. |
RequestDetail
Field name | Type | Description |
---|---|---|
BrandLimitSummary | String | Overall Test Result for internal reporting |
BrandLimitSummaryComment | String | Overall Test Result comment for internal reporting |
ContainerAnswersvalues | Object[] ContainerAnswerValue[] |
An array of objects containing answer information that is currently in the form. A product test form/request will have several default members which are defined below. |
ContainerInstanceId | String | The parent instance identifier of the answers collection. This identifier is used to take action on the request with Forms.AddAnswers, Forms.SubmitForms, etc. |
ContainerName | String | The name of the Container. |
ContainerQuestionsvalues | Object[] (ContainerQuestion[]) |
An array of objects containing the details of product test questions. |
ContainerTemplateId | String | The identifier of the form template. The form template describes the structure of the form. |
ContainerTemplateName | String | The name of the form template. |
ContainerTemplateType | String | The Riskonnect specified type of the form. |
DateTested | String in date format "yyyy-mm-dd" | The test date of a product test request. |
DueDate | String in date format "yyy-mm-dd" | The due date set on the request. |
EffectiveDate | String in date time format "yyyy-mm-dd hh:mm:ss" | |
ExpirationDate | String in date time format "yyyy-mm-dd hh:mm:ss" | The date that the request and the validity of its contents expire. |
LabReferenceNumber | String | The Test Report Number generated by the laboratory |
OriginalLabReferenceNumber | String | |
PrimaryResponder | String | |
ProductId | String | The Salesforce Id of the Riskonnect Product involved in the request. |
ProductName | String | The Riskonnect Product Name. |
RecipientName | String | The Account name of the Recipient. |
RelatedRequest | String | |
RequestId | String | The Salesforce Id of the Riskonnect Request. |
RequestName | String | The Name of the Request. |
RequestStatus | String | The current Status of the Request. |
RequestType | String | The Riskonnect specified type of the Request. |
RequesterName | String | The Account name of the Requestor. |
TestingDelayed | Boolean | A flag that specifies the testing has been delayed. |
TestingDelayedReason | String | Describes the reason product testing was delayed. |
ContainerAnswerValue
Field name | Type | Description |
---|---|---|
Answer | String | The current answer stored for the question. |
Comment | String | Optional text to provide additional info about the question/answer. |
ContainerInstanceId | String | The parent instance identifier of the answers collection. This identifier is used to take action on the request with Forms.AddAnswers, Forms.SubmitForms, etc. |
Question | String | The text of the question. |
QuestionId | Id | The Salesforce Id of the question. |
Default ContainerAnswerValue items for Product Test Requests
Question | Description |
---|---|
Test Program | The name of the Test Program created by the Requestor |
Trading Partner Riskonnect ID | The Riskonnect ID of the Trading Partner associated with the product. |
Trading Partner Universal ID | A semicolon delimited, key value list of Universal Ids assigned to the Trading Partner account. |
Trading Partner Name | The name of the Trading Partner account associated with the product. |
Product Unique or Universal ID | A semicolon delimited, key value list of Universal Ids assigned to the product. |
Product Non-Universal IDs | A semicolon delimited, key value last of Internal Ids assigned to the product. |
Product Relationship Tags | A comma delimited list of attributes assigned to the product. |
Product Relationship Attributes | A semicolon delimited, key value list of attributes assigned to the product. |
Product Name | The name of the product assigned to the request. |
Retest | Contains a boolean value specifying if the request is for a retest. |
Testing Facility | The name of the facility the test request is intended for. |
Test Report Number | A unique number generated for the test report. |
ContainerQuestionValue
Field name | Type | Description |
---|---|---|
Answers | String | |
ProductTestId | String | The Salesforce Id of the Product Test. This Id should be used when posting results with Forms.AddAnswers. |
ProductTestLimits | Object[] (ProductTestLimit[]) |
|
ProductTestAttributes | Object | An Object with key value pairs where the values are strings. Keys represent the attribute name. Values represent the attribute value. |
ProductTestName | String | The name of the Product Test. |
TestCategory | String | The name of the Test Category. |
TestClass | String | The name of the Test Class. |
TestName | String | The test name. |
TestingType | String | The type of test result (Qualitative/Quantitative). |
ProductTestLimit
Field name | Type | Description |
---|---|---|
ExceedStatus | String | |
Limits | ||
Operator | String |
Requests.Reject
Reject requests. This command accepts a list of Instance Ids which can be retrieved with Requests.GetRequests.
API Parameters
//example parameters object
{
"RejectRequestList" : [
"a0J0b00000RRjTXEA1",
"a0J0b00000RRjTXEA2"
]
}
Field Name | Type | Description |
---|---|---|
*RejectRequestList | String[] | An array of strings. The values are the Instance Ids of the Requests that should be cancelled. |
v3.0 API Commands
AddProducts
Adds a list of products
API Parameters
//example Parameters object
{
"Products": [
{
"IcixProductName": "Product Name" ,
"Description": "Product Description" ,
"RelationshipType": "Buy" ,
"Status": "Active" ,
"TradingPartnerIdType": "Vendor" ,
"TradingPartnerId": "123" ,
"ProductIdTypesAndValues": {
"SKU": "456"
},
"Attributes": {
"Color": "Blue"
},
"Tags" : [
"Organic"
],
"RelatedProducts" : [
{
"IdType" : "SKU" ,
"ProductId" : "789" ,
"RelationshipType" : "Component" ,
"ExemptFromTesting" : "" ,
"Attributes" : {
"Bundle Count" : "6"
}
}
],
"ProductTestSettings": [{
"Program": "Test Program" ,
"Categories" : [
"Test Category A"
],
"TestLevels": [
"Finished Good"
]
}
]
}
]
}
Field Name | Type | Description |
---|---|---|
Products | Object[] (Product[]) |
An array of objects containing the product information. The Product Object is described below. |
Product Object
Field Name | Type | Description |
---|---|---|
*IcixProductName | String | The name of the product |
Description | String | A description of the product |
TradingPartnerIdType | String | The Id Type of the Trading Partner related to this product |
TradingPartnerId | String | The Id of the Trading Partner related to this product. |
*RelationshipType | String | The type of relationship between your company, the product, and the trading partner. Accepted values are Sell, Buy, Manufacture, Distribute, Verify. |
*Status | String | The relationship status. Accepted values are Suspended, Active, Inactive, Pending. |
*ProductIdTypesAndValues | Object | Your Id numbers or codes of the product. An Object with key value pairs where the values are strings. Keys should represent the type of identifier. Values should represent the identifier. See “ Supported ID types for Products ” below for valid types. The Ids are expected to be unique within your organization. |
RelatedProducts | Object[] (RelatedProduct[]) |
An array of objects containing identifiers of products that are related to this product. The RelatedProduct object is described below. All products referenced must exist prior to this HTTP call. |
Attributes | Object | Custom attributes for this product. An Object with key value pairs where the values are strings. Keys represent the attribute name. Values represent the attribute value. Attribute names used must be available in the “Attributes” tab of your org. |
Tags | String[] | Custom Tags for this product. An Array of strings. Tag names used must be available in the “Attributes” tab or you org. |
ProductTestSettings | Object[] (ProductTestSetting[]) |
A collection of objects that describes the Product Test Programs and Categories this product should be associated with. The ProductTestSetting object is described below. |
RelatedProduct Object
Field Name | Type | Description |
---|---|---|
*IdType | String | Your Id type being referenced. Id Types used must be available in the “Id Types” tab of your org. Use an IdType that that represents a unique value in your organization. |
*ProductId | String | The Id of the related product |
*RelationshipType | String | Describes the relationship between this product and the related product. See “ Supported Relationship Types ” below for valid relationship types |
ExemptFromTesting | Boolean | Specify if this product is exempt from testing of the related product |
Attributes | Object | Custom attributes for this product relationship. An Object with key value pairs where the values are strings. Keys represent the attribute name. Values represent the attribute value. Attribute names used must be available in the “Attributes” tab of your org. |
Supported Relationship Types
- Component
- Related
- Variant
- Finished Product
ProductTestSetting Object
Field Name | Type | Description |
---|---|---|
*Program | String | The name of the Product Test Program the product should be subscribed to. |
Categories | String[] | An array of strings. These are the names of the test Categories in the specified Program that the product should be subscribed to. |
TestLevels | String[] | An array of strings. These are the Program testing levels to apply to the product. |
AddPurchaseOrders
Adds a list of purchase orders with line items into Riskonnect.
API Parameters
//example Parameters object
{
"CompanyICIXID": "100",
"PurchaseOrders": [
{
"PurchaseDate": "1/10/2018 12:00 AM",
"OrderNumber": "99",
"OrderStatus": "Closed",
"ShipToCountry": "US",
"TradingPartnerIdType": "Vendor",
"TradingPartnerId": "123",
"LineItems": [
{
"IdType": "SKU",
"ProductId": "1",
"Quantity": "10",
"Status": "Open"
},
{
"IdType": "SKU",
"ProductId": "2",
"Quantity": "100 ",
"Status": "Open"
}
]
}
]
}
Field Name | Type | Description |
---|---|---|
CompanyICIXID | String | The Riskonnect ID of your company. |
PurchaseOrders | Object[] (PurchaseOrder[]) |
An array of objects that represents purchase orders. The PurchaseOrder object is described below. |
PurchaseOrder Object
Field Name | Type | Description |
---|---|---|
PurchaseDate | String (Date/Time) |
The date and time of the purchase. The string should be formatted like: “ 11/06/2014 12:00 AM ” |
DateRequested | String (Date/Time) |
The string should be formatted like: “ 11/06/2014 12:00 AM ” |
AnticipateDate | String (Date/Time) |
The string should be formatted like: “ 11/06/2014 12:00 AM ” |
CancelDate | String (Date/Time) |
The string should be formatted like: “ 11/06/2014 12:00 AM ” |
OrderNumber | String | Your internal identifier for this purchase order. This is a unique identifier. |
OrderStatus | String | The current status of the order. The supported values are: Open, Cancelled, Closed |
ShipToCountry | String | Ship to Country for this purchase order. An Array of strings. See Supported Country Codes below for valid Country Names. |
TradingPartnerIdType | String | The Id type used to reference the Trading Partner this order is related to. |
TradingPartnerId | String | The Id used to reference the Trading Partner this order is related to. |
LineItems | Object[] (LineItem[]) |
An array of objects that represents the line items belonging to this purchase order. The LineItem object is described below. |
LineItem Object
Field Name | Type | Description |
---|---|---|
IdType | String | Your Id type being referenced for the product in the line item. |
ProductId | String | The Id of the product being referenced by the line item. |
Quantity | String | The quantity purchased of the product referenced by this line item. |
Status | String | The current status of the order. The supported values are: Open, Cancelled, Closed |
Supported Country Codes
Label__c / Country Name | Value__c / Country Code |
---|---|
Afghanistan | AF |
Albania | AL |
Algeria | DZ |
Andorra | AD |
Angola | AO |
Antigua and Barbuda | AG |
Argentina | AR |
Armenia | AM |
Australia | AU |
Austria | AT |
Azerbaijan | AZ |
Bahamas, The | BS |
Bahrain | BH |
Bangladesh | BD |
Barbados | BB |
Belarus | BY |
Belgium | BE |
Belize | BZ |
Benin | BJ |
Bhutan | BT |
Bolivia | BO |
Bosnia and Herzegovina | BA |
Botswana | BW |
Brazil | BR |
Brunei | BN |
Bulgaria | BG |
Burkina Faso | BF |
Burundi | BI |
Cambodia | KH |
Cameroon | CM |
Canada | CA |
Cape Verde | CV |
Central African Republic | CF |
Chad | TD |
Chile | CL |
China, People's Republic of | CN |
Colombia | CO |
Comoros | KM |
Congo, (Congo - Brazzaville) | CG |
Congo, (Congo - Kinshasa) | CD |
Costa Rica | CR |
Cote d'Ivoire (Ivory Coast) | CI |
Croatia | HR |
Cuba | CU |
Cyprus | CY |
Czech Republic | CZ |
Denmark | DK |
Djibouti | DJ |
Dominica | DM |
Dominican Republic | DO |
Ecuador | EC |
Egypt | EG |
El Salvador | SV |
Equatorial Guinea | GQ |
Eritrea | ER |
Estonia | EE |
Ethiopia | ET |
Fiji | FJ |
Finland | FI |
France | FR |
Gabon | GA |
Gambia, The | GM |
Georgia | GE |
Germany | DE |
Ghana | GH |
Greece | GR |
Grenada | GD |
Guatemala | GT |
Guinea | GN |
Guinea-Bissau | GW |
Guyana | GY |
Haiti | HT |
Honduras | HN |
Hungary | HU |
Iceland | IS |
India | IN |
Indonesia | ID |
Iran | IR |
Iraq | IQ |
Ireland | IE |
Israel | IL |
Italy | IT |
Jamaica | JM |
Japan | JP |
Jordan | JO |
Kazakhstan | KZ |
Kenya | KE |
Kiribati | KI |
Korea, North | KP |
Korea, South | KR |
Kuwait | KW |
Kyrgyzstan | KG |
Laos | LA |
Latvia | LV |
Lebanon | LB |
Lesotho | LS |
Liberia | LR |
Libya | LY |
Liechtenstein | LI |
Lithuania | LT |
Luxembourg | LU |
Macedonia | MK |
Madagascar | MG |
Malawi | MW |
Malaysia | MY |
Maldives | MV |
Mali | ML |
Malta | MT |
Marshall Islands | MH |
Mauritania | MR |
Mauritius | MU |
Mexico | MX |
Micronesia | FM |
Moldova | MD |
Monaco | MC |
Mongolia | MN |
Montenegro | ME |
Morocco | MA |
Mozambique | MZ |
Myanmar (Burma) | MM |
Namibia | NA |
Nauru | NR |
Nepal | NP |
Netherlands | NL |
New Zealand | NZ |
Nicaragua | NI |
Niger | NE |
Nigeria | NG |
Norway | NO |
Oman | OM |
Pakistan | PK |
Palau | PW |
Panama | PA |
Papua New Guinea | PG |
Paraguay | PY |
Peru | PE |
Philippines | PH |
Poland | PL |
Portugal | PT |
Qatar | QA |
Romania | RO |
Russia | RU |
Rwanda | RW |
Saint Kitts and Nevis | KN |
Saint Lucia | LC |
Saint Vincent and the Grenadines | VC |
Samoa | WS |
San Marino | SM |
Sao Tome and Principe | ST |
Saudi Arabia | SA |
Senegal | SN |
Serbia | RS |
Seychelles | SC |
Sierra Leone | SL |
Singapore | SG |
Slovakia | SK |
Slovenia | SI |
Solomon Islands | SB |
Somalia | SO |
South Africa | ZA |
Spain | ES |
Sri Lanka | LK |
Sudan | SD |
Suriname | SR |
Swaziland | SZ |
Sweden | SE |
Switzerland | CH |
Syria | SY |
Tajikistan | TJ |
Tanzania | TZ |
Thailand | TH |
Timor-Leste (East Timor) | TL |
Togo | TG |
Tonga | TO |
Trinidad and Tobago | TT |
Tunisia | TN |
Turkey | TR |
Turkmenistan | TM |
Tuvalu | TV |
Uganda | UG |
Ukraine | UA |
United Arab Emirates | AE |
United Kingdom | GB |
United States | US |
Uruguay | UY |
Uzbekistan | UZ |
Vanuatu | VU |
Vatican City | VA |
Venezuela | VE |
Vietnam | VN |
Yemen | YE |
Zambia | ZM |
Zimbabwe | ZW |
EditTradingPartners
API_TradingPartners.EditTradingPartners
Description: Add information to Trading Partner records in Riskonnect. Non-universal Ids, Tags, and Attributes can be added to Trading Partners. This process identifies a Trading partner by its name.
API Parameters
Field Name | Type | Description |
---|---|---|
CompanyICIXID | String | The Riskonnect ID of your company. |
TradingPartners | Object[] (TradingPartner[]) |
An array of objects that represents Trading Partner information. The TradingPartner object is described below. |
TradingPartner Object
Field Name | Type | Description |
---|---|---|
Name | String | The name of the Trading Partner you are editing. The process identifies the records to be edited by this field. |
IdTypesAndValues | Object | Your internal identifiers for this Trading Partner. These translate to Non-Universal Ids in Riskonnect. An Object with key value pairs where the values are strings. The keys represent the type of identifier. The values represent the identifier. |
Tags | String[] | Custom Tags for this trading partner. An Array of strings. Tag names used must be available in the “Attributes” tab or you org. |
Attributes | Object | Custom attributes for this trading partner. An Object with key value pairs where the values are strings. Keys represent the attribute name. Values represent the attribute value. Attribute names used must be available in the “Attributes” tab of your org. |
CSV Processing
These flat file structures can be used to implement the API services in a simplified manner. Files should be comma separated values in UTF-8. The files can be processed in the user interface via:
Riskonnect Products Tab -> New -> Upload .CSV File
Adding and updating products
ExternalId,Name,Description,TradingPartnerIdType,TradingPartnerId,Type,Status,UniversalIds_GTIN,InternalIds_SKU,ProductAttribute_Color,UpAttribute_Brand
12345,Product1,Description,Vendor,123,Buy,Active,GTIN123,SKU123,Blue,RK
12345,Product1,Description,Vendor,999,Buy,Active,GTIN123,SKU123,Blue,RK
54321,Product2,Description,Vendor,123,Buy,Active,GTIN321,SKU321,Red,RK
Users can add and update product data with this csv format.
Column Name | Description |
---|---|
ExternalId | A Unique ID set by the client |
Name | The name of the product |
Description | The product description |
TradingPartnerIdType | The type of identifier associated with the trading partner. |
TradingPartnerId | The identifier associated with the trading partner. |
Type | The product relationship type |
Status | The product relationship status |
UniversalIds_ | Columns prefixed with this will have their values saved as product universal ids |
InternalIds_ | Columns prefixed with this will have their values saved as product internal ids |
ProductAttribute_ | Columns prefixed with this will have their values saved as product attributes |
UpAttribute_ | Columns prefixed with this will have their values saved as up relationship attributes |
Adding and updating purchase orders
OrderNumber,OrderStatus,PurchaseDate,DateRequested,AnticipateDate,CancelDate,ShipToCountry,TradingPartnerIdType,TradingPartnerId,POAttribute_PackId,LineItemExternalId,LineItemProductExternalId,LineItemQuantity,LineItemStatus,LineItemSoldToName,LineItemAttribute_Domestic
Order1,Open,1/1/2022 12:00 AM,1/1/2022 12:00 AM1/1/2022 12:00 AM1/1/2022 12:00 AM,US,Vendor,123,Pack1,LineItem1,Product1,50,Open,Justin,YES
Order1,Open,1/1/2022 12:00 AM,1/1/2022 12:00 AM1/1/2022 12:00 AM1/1/2022 12:00 AM,US,Vendor,123,Pack2,LineItem2,Product2,50,Open,Justin,YES
Users can add and update product data with this csv format.
Column Name | Description |
---|---|
OrderNumber | Your internal identifier for this purchase order. This is a unique identifier. |
OrderStatus | The current status of the order. The supported values are: Open, Cancelled, Closed |
PurchaseDate | The date and time of the purchase. The string should be formatted like: “ 11/06/2014 12:00 AM ” |
DateRequested | The string should be formatted like: “ 11/06/2014 12:00 AM ” |
AnticipateDate | The string should be formatted like: “ 11/06/2014 12:00 AM ” |
CancelDate | The string should be formatted like: “ 11/06/2014 12:00 AM ” |
ShipToCountry | Ship to Country for this purchase order. |
TradingPartnerIdType | The Id type used to reference the Trading Partner this order is related to. |
TradingPartnerId | The Id used to reference the Trading Partner this order is related to. |
POAttribute_ | Columns prefixed with this will have their values saved as purchase order attributes |
LineItemExternalId | This field overrides the default unique identifier for the line item. |
LineItemProductExternalId | The external id of the product referenced by the line item |
LineItemQuantity | Quantity purchased |
LineItemStatus | The status of the line item. |
LineItemSoldToName | |
LineItemAttribute_ | Columns prefixed with this will have their values saved as line item attributes |
Salesforce Standard Services
Below are references to native Salesforce REST services that are leveraged for Riskonnect functionality. Requests to the native Salesforce services will use the same authentication flow as requests to Riskonnect.
Upload Documents
Example request body
{
"allOrNone" : false,
"records" :
[
{
"attributes" :
{
"type" : "ContentVersion"
},
"Description" : "UploadTestDoc",
"Title" : "UploadTestDoc",
"PathOnClient" : "UploadTestDoc.pdf",
"Category__c" : "Product Test",
"VersionData" : "[Base64EncodedFile]"
}
]
}
Example response body
{
"hasErrors": false,
"results": [
{
"id": "0682M00000K9LY2QAN"
}
]
}
To upload files to the document library (and for use in Riskonnect), Salesforce's native REST API should be used to access The ContentVersion object. To reduce the amount of api calls it is advised to batch files together in a single callout. You may upload up to 200 files in a single request with each file being Base64 encoded up to 50 Mb in size. The "id" field returned by Salesforce in the response body is the id that should be used to link files in Riskonnect API commands.
Salesforce ContentVersion field reference:
ContentVersion Field Reference
Post URL: https://[instance].salesforce.com/services/data/v42.0/composite/sobjects/
Errors
AddProduct Errors + Resolutions
Error Message | Resolution |
---|---|
No products were supplied | The array “Products” is either null or empty in your json payload. |
"IcixProductName" is missing | The required field IcixProductName is either blank, whitespace, or null. |
Product Name [PRODUCT NAME] is exceeding the character limit of 80 characters | Limit product names to 80 characters in length. |
Value missing for key [KEY] in ProductIdTypesAndValues | A key/value pair in the ProductIdTypesAndValues object has a null or blank key. The key represents the Id Type of the product. |
An Identifier is required for field "ProductIdTypesAndValues" | The ProductIdTypesAndValues object is null or empty. At least one key/value pair is required. |
Product not updated/added. The Product.Status :[STATUS]: is not valid | Product.Status is a picklist value. You must choose a valid value that is described in the object above. |
Product not updated/added. The field Product.Status is required | Product.Status is null, blank, or empty. The field is required and must be a valid value that is described in the object above. |
Product not updated/added. The Product.RelationshipType : [RELATIONSHIP TYPE] : is not valid | Product.RelationshipType is a picklist value. You must choose a valid value that is described in the object above. |
Product not updated/added. The field Product.RelationshipType is required | Product.RelationshipType is null, blank, or empty. The field is required and must be a valid value that is described in the object above. |
The field RelatedProduct.IdType is required | include an Internal Identifier. This field is the Id type of the identifier. |
The field RelatedProduct.ProductId is required | To reference a related product you must include an Internal Identifier. This field is the Id vaue of the identifier. |
The field RelatedProduct.RelationshipType is required | RelatedProduct.RelationshipType is null, blank, or empty. |
There is no Internal Account assigned to this org | Please contact ICIX support to resolve this issue. |
The ID Type [ID TYPE] is not supported | You have attempted to use an identifier with a type that does not exist in the org. Valid types are available to view in the Id Types tab. |
The referenced Trading Partner "[ID TYPE]:[ID]" does not exist | The identifier supplied to reference a trading partner does not exist. This refers to internal Ids associated to trading partners. |
The referenced Product "[ID TYPE]:[ID]" does not exist | This occurs when attempting to add a related product and no product with the supplied product identifier does not exist. |
The referenced related product type [RELATIONSHIP TYPE] does not exist | RelatedProduct.RelationshipType is a picklist value. You must choose a valid value that is described in the object above. |
The referenced Test Level: [TEST LEVEL] : does not exist. | ProductTestSetting.TestingLevels is an array of picklist values. You must choose valid values that are described in the object above. |
The Tag "[TAG]" is not supported" | You have attempted to use a product tag that does not exist in the org. Valid tags are available to view in the Tags tab. |
The referenced Attribute Type :[ATTRIBUTE]': is not supported | You have attempted to use a product attribute that does not exist in the org. Valid attribute are available to view in the Attribute tab. |
AddPurchaseOrder Errors + Resolutions
Error Message | Resolution |
---|---|
CompanyICIXID is required | The required parameter CompanyICIXID. |
The CompanyICIXID [ID] does not exist. | The CompanyICIXID that was supplied does not exist in the org. |
The referenced VendorIdentifier [ID TYPE]:[ID] does not exist | The trading partner identifier provided does not exist in the org. This refers to the internal identifiers for trading partners. |
No purchase orders were supplied | The PurchaseOrders object is null or empty. |
Purchase Order not updated/added. The PurchaseOrder.OrderStatus :[ORDER STATUS]: is not valid | PurchaseOrder.OrderStatus is a picklist value. You must choose a valid value that is described in the object above. |
Line Item not updated/added. The LineItem.Quantity :[QUANTITY]: exceeds the maximum length of 10 | LineItem.Quantity must be an Integer no more than 10 characters in length, in String format |
Line Item not updated/added. The LineItem.Quantity is required | LineItem.Quantity is either null, blank, or empty. LineItem.Quantity must be an Integer no more than 10 characters in length, in String format |
Line Item not updated/added. The LineItem.Quantity [QUANTITY] is not valid. | LineItem.Quantity provided is not correctly formatted. LineItem.Quantity must be an Integer no more than 10 characters in length, in String format. |
Line Item not updated/added. The LineItem.Status :[STATUS]: is not valid | LineItem.Status is a picklist value. You must choose a valid value that is described in the object above. |
The referenced Product [ID TYPE]:[ID] does not exist | This occurs when attempting to add a line item and no product with the supplied product identifier does not exist. |
Forms.AddAnswers Errors + Resolutions
Error Message | Resolution |
---|---|
The InstanceId [InstanceId] does not exist | The InstanceId supplied is not in ICIX. Valid InstanceId can be retrieved with Requests.GetRequests. |
A question named [Answer.key] does not exist | The question name supplied does not exist in the form related to the InstanceId. The forms description can be retrieved with Requests.GetRequests. |
A string value is required for Question [Question Name] | The question name supplied requires the answer object to be a string value. The answer provided is of another type. |
The answer supplied exceeds the maximum length of 255 characters | The answer string provided for the question is too large. If answers must exceed 255 characters, the form must be edited and the question's answer type changed to long text. |
Invalid Date format [Date answer] | Ensure that the date string being passed is in the correct format: 11/06/2014 12:00 AM |
A numeric string is required for Question [Question Name] | The string value must be a numeric value. An invalid value was provided. |
The answer supplied exceeds the maximum length of 5000 characters | The answer string provided for the question is too large. If answers must exceed 5000 characters, the form must be edited and the question's answer type changed to long text. |
Must be a string in the format “abc@example.com“ | email address answers must be correctly formatted like "abc@example.com" |
Must be a string containing a valid answer value for the Question | Picklist and Radio answer types have a set of answer choices. Only submit answers that are in the answer choices. |
The referenced ProductTestId does not exist | The Id supplied does not exist in ICIX. ProductTestIds for open requests can be retrieved from Requests.GetRequests. |
Need help?
Contact ICIX Customer Support
If you need assistance with this documentation, please contact ICIX Customer Support at customersupport@icix.com.