Please note that documentation for v1.0 is still available HERE.
Basics
CoCredo services exchange XML over HTTP. Requests are submitted via the HTTP POST method, with
a Content-Type of text/xml.
The example XML shown in the schemas section illustrate typical requests and responses to and
from the CoCredo Services XML Gateway.
Requests must be submitted with a Content-Type of text/xml. A typical transaction looks like
this.
Message Envelope
Service specific requests and responses are always encapsulated within a common envelope that
carries the essential routing and authentication details. The envelope schema can be found
here.
Service URL
Requests are submitted to a single service entry point.
https://xmlgw.cocredo.co.uk/v2-0/xmlservice.cfm
Requests sent to this URL will be logged and the relevant number of points deducted from your
account. Under no circumstanses should any tests be carried out against this URL. It is a
requirement that you test against our 'UAT' service before we enable you to use the live
service. We have a seperate URL that can be used for testing and development of your requests.
This URL is:
https://xmluat.cocredo.co.uk/v2-0/xmlservice.cfm
The 'UAT' service will only return reports for British Airways Plc or other pre-defined companies, regardless of what company
data has been requested. However, using this service will not use any points from your account for XML requests.
So for example, UAT searches can be on any business and will return true results; any product availability or
product selection requests must be for British Airways Plc or another pre-defined business. Please contact technical@cocredo.com
for a full list of test companies or if you would like to test against a particular company that is not in the list.
Requesting browser reports, or PDF reports will subtract points from your account.
The content of the request document submitted to the service describes the information
being requested. The service uses this information to route the request to the appropriate
function once it has carried out some preliminary checks, such as authentication details.
Versioning
Any changes made to the XML service will be done under a new version number. The latest version of
the service in use on the live server will be stated on the documentation at
https://xmlgw.cocredo.co.uk.
New versions will utilise a new URL for calling the service
e.g. https://xmlgw.cocredo.co.uk/v2-0/xmlservice.cfm,
which enables users to continue using the previous version until they are ready to move onto the
new version. Support will always be based upon the latest version of the service.
Error Handling
All errors are returned with the Class element in the XML envelope specified as Error. Error
codes and descriptions will be provided in the XML document. The error schema can be found
here.
Authentication
On receiving any post we will go through several stages of checking what is being sent and authenticating
the sender. In all cases an XML response will be sent (even if the initial post wasn't XML). Authentication
will be performed through a combination of a SenderCompany, SenderID, Password and TransactionID. You will
send your SenderCompany (e.g. CoCredo), your SenderID (e.g. CoCredoSenderID), a TransactionID (1-32 digits,
Numeric) and an UTF8 hash of the concatenation of your SenderCompany, SenderID, Password and TransactionID.
The hash should be created SHA-512. The algorithm used should be stated in the Method element
as SHA-512.
For example, if we setup a SenderCompany of CoCredo, a SenderID of CoCredoSenderID and a Password
of CoCredoPassword, and your TransactionID is 1 you would require a hash of CoCredoCoCredoSenderIDCoCredoPassword1
to be authenticated, which (using the SHA-512 alogrithm) is 4446D4CA6DC32819B4D74064055F3196DA4D5A20D108785C3C98C9990FF793792B44E0C16B7E5CBEBF9456A472AB2345256EBD7832D4C2CC59E9D042EF929AA2.
Please note that the Transaction ID used must increment for each request made to this service.
Monitoring
A business can be added to monitoring when using the productSelection service. Simply set the monitorAdd element
to true.
Data formats
Data Type | Description | Format | Example |
date | The date data type is used to specify a date. | The date is specified in the following form "YYYY-MM-DD" where:
|
Example schema declaration: Example xml element: |
dateTime | The dateTime data type is used to specify a date and a time. | The dateTime is specified in the following form "YYYY-MM-DDThh:mm:ss" where:
|
Example schema declaration: Example xml element: |
time | The time data type is used to specify a time. | The time is specified in the following form "hh:mm:ss" where:
|
Example schema declaration: Example xml element: |
Schemas
Provided below are details of the services provided by CoCredo.
Example requests and responses will be published soon.
Company Search
This component provides a search of incorporated and unincorporated companies. Searches can be done using company name, registration number, postcode or phone number. The message envelope class to use when invoking this component is companySearch. Company Search Schema Example Request Company Search Response Schema Example Response |
|
Product Availability
This component will return a list of available reports and documents that are available for download. A Cocredo ID is required in this request. The ID number can be found from the response to the company search. Each product will have a request code which can be used to request that particular report or document.The message envelope class to use when invoking this component is productAvailability. Product Availability Schema Example Request Product Availability Reponse Schema Example Response |
|
Product Selection
This component will return either report data. The message envelope class to use when invoking this component is productSelection. Product Selection Schema Example Request Product Selection Reponse Schema Example Response |
|
Director Search
This component provides a search of company directors. Searches can be done using director name and post town. Director types are DIS - Disqualified directors, CUR - All other directors. The message envelope class to use when invoking this component is directorSearch. Director Search Schema Example Request Director Search Response Schema Example Response |
|
Director Report
This component provides a report on a particular company director. The message envelope class to use when invoking this component is directorReport. Director Report Schema Example Request Director Report Response Schema Example Response |
|
Usage Statement
This component will return a list of reports that the user has run in the specified time period. The message envelope class to use when invoking this component is usageStatement. Usage Statement Schema Example Request Usage Statement Reponse Schema Example Response |
|
Monitor Status
This component allows the user to request either to add/remove a business from monitoring or just to request the current monitoring status of a business. The message envelope class to use when invoking this component is monitorStatus. Usage Statement Schema Example Request Usage Statement Reponse Schema Example Response |
|
Monitoring Notices
This component will return a list of change notices in the specified time period. The user can optionally request change notices for one particular business. The message envelope class to use when invoking this component is monitorNotices. Note that when setting time periods in a request that change notices can take several hours to be available in the CoCredo database. It is therefore recommended that the requested period end date/time is at least 12 hours prior to the current time. Requested time periods must not exceed a length of 7 days - it is recommended that time periods should be about 12-48 hours. Usage Statement Schema Example Request Usage Statement Reponse Schema Example Response |
|
Errors
Whenever an error is detected in a request to the service an error response is returned. This includes all caught errors, such as missing data elements, invalid data and any processing errors. In this case the message envelope class to used when for this reponse is Error. Error Schema Response Example Response Full list of all errors |
|
Fair Use
We ask that requests made to the CoCredo XML services are limited to no more than 80 per minute. We do reserve the right to temporarily suspend any account that exceeds this limit.
Change Log
It should be noted that on every version change the URL of the service changes to reflect the
latest version. As a result the schema namespaces used also change to reflect this change.
This means that all schema documents are changed in this respect even if the XML data they are
being used to describe has not changed.
Previous version: v1.0
Changes made since last version: