Validation suite tests for supported features
Testing embedded links and iframes
If your integration includes external_resources such as an embedded link or iframe, the URL provided in your responses also requires testing for authentication and standard use.
These tests are as follows:
Request to your URL is not signed.
The status code to this should be a 400.
Request to your URL is incorrectly signed; this is tested twice.
The status code to this should be a 404.
Request to your URL is missing query parameters.
The status code to this should be a 400.
Sends a valid request to your integration, correctly signed.
This status code to this should be a 200.
Request to your URL is outside the
valid_untilperiod.The status code to this should be a 404.
Note
Valid requests to your URL should return a 200 status code as normal.
Testing company search
If your integration has added COMPANY_SEARCH as a supported_features item on its /config endpoint, the validation suite also tests that your integration is working correctly. Requests are sent to the /search endpoint rather than /checks and runs tests with the following demo_result values.
NO_HITSYou can return the following:
{ "search_output": [], "errors": [], "warnings": [], "provider_data": "Demo result. Did not make request to provider." }ONE_HITYou can return the following:
{ "search_output": [ { "name": "MAXSIGHT", "number": "09565115", "country_of_incorporation": "GBR", "status": "ACTIVE", "provider_reference": { "label": "COMPANY_DATA_REFERENCE_INTEGRATION", "reference": "GB-09565115" } } ], "errors": [], "warnings": [], "provider_data": "Demo result. Did not make request to provider." }MANY_HITSYou can return the following:
{ "search_output": [ { "name": "MAXSIGHT", "number": "09565115", "number_label": "Company Number", "country_of_incorporation": "GBR", "status": "ACTIVE", "provider_reference": { "label": "COMPANY_DATA_REFERENCE_INTEGRATION", "reference": "GB-09565115" }, "addresses": [ { "type": "registered_address", "address": { "type": "STRUCTURED", "route": "MEZZANINE FLOOR 24 CORNHILL", "postal_code": "EC3V 3ND", "original_freeform_address": "MEZZANINE FLOOR 24 CORNHILL, EC3V 3ND, LONDON, United Kingdom", "locality": "LONDON", "country": "GBR", "address_lines": [ "MEZZANINE FLOOR 24 CORNHILL" ] } } ], "contact": { "url": "www.maxsight.com", "phone_number": "+44 20 3633 1761", "email": "info@maxsight.com" }, "incorporation_date": "2022-10-11", "structure_type": { "is_public": false, "is_limited": true, "ownership_type": "COMPANY" }, "lei": "SOMELEI123123", "tax_ids": [ { "value": "n.a.", "tax_id_type": "EUROVAT" } ] }, { "name": "MAXSITE PROPERTIES LIMITED", "number": "03852680", "number_label": "Company Number", "country_of_incorporation": "GBR", "status": "DORMANT", "provider_reference": { "label": "COMPANY_DATA_REFERENCE_INTEGRATION", "reference": "GB-03852680" }, "addresses": [ { "type": "registered_address", "address": { "type": "FREEFORM", "text": "PASSFORD HOUSE, PASSFORD HOUSE, LOWER KINGSDOWN ROAD, KINGSDOWN", "country": "GBR" } } ], "lei": "MAXSITELEI" }, { "name": "MAXSITE PROPERTY DEVELOPMENT", "number": "048521723", "country_of_incorporation": "GBR", "status": "DISSOLVED", "provider_reference": { "label": "COMPANY_DATA_REFERENCE_INTEGRATION", "reference": "GB-03852680" } } ], "errors": [], "warnings": [], "provider_data": "Demo result. Did not make request to provider." }
Testing custom output data
If you've specified support for CUSTOM_DATA_OUTPUT in your /config endpoint, this is tested in the validation suite.
The demo_result value is CUSTOM_DATA_OUTPUT, and your response should return a valid response that contains the properly formatted custom data that matches the schema that you specified in your /config endpoint.
To learn more, see Add custom data output.
For example, if your /config endpoint response looked like:
{
"check_type": "COMPANY_DATA",
"check_template": {
"type": "ONE_TIME_SYNCHRONOUS",
"timeout": 240
},
"pricing": {
"supports_reselling": false
},
"supported_countries": ["GBR", "CAN", "USA"],
"supported_features": [
"COMPANY_SEARCH",
"CUSTOM_DATA_OUTPUT",
],
"credentials": {
"fields": [
{
"type": "string",
"name": "username",
"label": "Username"
},
{
"type": "password",
"name": "password",
"label": "Password"
}
]
},
"config": {
"fields": []
},
"output_custom_fields": {
"version": "1",
"fields": {
"n_esg_score": {
"type": "DECIMAL",
"label": "ESG Score"
},
"n_esg_e_score": {
"type": "DECIMAL",
"label": "ESG Environment Sub-score"
},
"n_esg_s_score": {
"type": "DECIMAL",
"label": "ESG Social Sub-score"
},
"b_product_assessment": {
"type": "BOOLEAN",
"label": "Passes ESG assessment"
}
}
}
}
}A valid response, if using a custom check type, might be:
{
"provider_data": "Made up example response.",
"errors": [],
"warnings": [],
"external_resources": [],
"result": {
"decision": "PASS",
"summary": "The overall result is a pass."
},
"check_output": {
"entity_type": "INDIVIDUAL",
"custom_fields_data":
{
"n_esg_score": 123.4,
"n_esg_e_score": 43,
"n_esg_s_score": 1.13,
"b_product_assessment": true
}
}
}