NAV Navbar
java json plaintext

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:

v4.0 Updates

Added new commands:

v3.0 - Updates

AddProducts:

AddPurchaseOrders:

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

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

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

Developer Guide

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.