This series of guides, will provide information on how to build a data integration with a 3rd party system, using the OneFile API:
- Initial data download using API
- Creating and managing users via the API
- Assigning users to learners via the API
- Assigning Framework Templates, Standards and Units via the API
When developing an integration with the OneFile API, once authenticated via the API, you may want to download the existing data from OneFile.
To do this, follow the guidance below:
Get CustomerID
GET https://wsapibeta.onefile.co.uk/api/v2.1/Customer
Response:
{
"ID": 2070,
"Name": "Example Beta Customer"
}
Get Organisations linked to the Customer
POST https://wsapibeta.onefile.co.uk/api/v2.1/Organisation/search
Body:
{
"CustomerID": 2070
}
Response:
[
{
"ID": 5740,
"Name": "Example Organisation - Business",
"KeychainCreationForNewUserActive": false,
"KeychainEmailSuppression": false
},
{
"ID": 5741,
"Name": "Example Organisation - Care",
"KeychainCreationForNewUserActive": false,
"KeychainEmailSuppression": false
}
]
Multiple Organisations
Most customers will only have one organisation linked to their customer record. However, some may have multiple centres, where they require complete separation of data and access.
Get Assessors in an Organisation
POST https://wsapibeta.onefile.co.uk/api/v2.1/User/Search/1/10
Body:
{
"OrganisationID": 5740
"Role": 5,
}
Response:
[
{
"ID": 122762,
"FirstName": "James",
"LastName": "Fayre"
"MISID": "JFAYE51P"
},
{
"ID": 132757,
"FirstName": "Kate",
"LastName": "Anderson"
"MISID": "KANDREWS142"
}
]
Get Classes in an Organisation
POST https://wsapibeta.onefile.co.uk/api/v2.1/Classroom/Search
Body:
{
"OrganisationID": 5740
}
Response:
[
{
"ID": 15379,
"Name": "Business Admin L2",
"MISID": "BAD1"
},
{
"ID": 15381,
"Name": "Business Admin L3",
"MISID": "BAD2"
},
]
Get Placements in an Organisation
POST https://wsapibeta.onefile.co.uk/api/v2.1/Placement/Search
Body:
{
"OrganisationID": 5740
}
Response:
[
{
"ID": 18928,
"Name": "BT - Manchester"
"MISID": "BT54810A"
},
{
"ID": 18929,
"Name": "Vodaphone - Salford",
"MISID": "VP0491045X"
}
]
Get Learners in an Organisation
POST https://wsapibeta.onefile.co.uk/api/v2.1/User/Search
Body:
{
"OrganisationID": 5740
"Role": 1
}
Response:
[
{
"ID": 137945,
"FirstName": "Gemma"
"LastName": "Hall"
"MISID": "GHALL391"
},
{
"ID": 137946,
"FirstName": "Chloe"
"LastName": "Henshall"
"MISID": "CHENSHALL194"
},
]
When you have this base data, you can use this to identify existing records that exist in both systems. It may be beneficial to used the paged searches to get additional information, for example, with the paged user search, this will return the ULN, NINO, email and other fields, if they contain data in OneFile for each learner. For these records, it may be worth adding or updating the MISIDs, so they match the IDs in the other system, by calling the "Update" endpoints