To integrate with our assessment solution, you need an authentication key to make requests related to a workspace.
The first step to start the integration is to contact our support at [email protected] email and request the creation of an account in our Sandbox environment with the necessary settings so that you can perform the integration tests in a controlled environment.
Our service team will support you during the integration.
Environments
Value | Value |
Homologation | |
Production |
Authentication
In order for you to be able to make the requests, you need a custom header, for example:
Custom Header
Key | Value |
X-API-KEY | <Token> |
Content-Type | application/json |
Flow chart
Understand how the integration flow works
Endpoints
List of assessments
GET /assessments/ats
List of assessments available in the account that makes the request with the authorization.
Answer
[ { "offset":0, "total":1, "limit":150, "payload":[ { "assessment_id":"6707e51d867d313ecdd5f456", "name":"AT - Integração", "description":"Teste integração ATT", "default_locale":"pt", "duration":5, "duration_unit":"hour", "questions":[ { "name":"Teste básico de lógica", "description":"Crie uma classe que possa os métodos abaixo...", "type":"freecoding", "type_formatted":"Programação livre", "level":"beginner", "level_formatted":"Iniciante", "duration":30, "duration_unit":"minute" }, { "name":"Infraestrutura Multiusuários e Multitenant", "description":"Solicitar ao candidato que desenhe e explique uma arquitetura...", "type":"whiteboard", "type_formatted":"Quadro branco", "level":"advanced", "level_formatted":"Avançado", "duration":5, "duration_unit":"hour" } ] } ] }]
Create an attempt
POST /assessments/ats/attempts
Create an attempt with the selected assessment
{
email (string, required),
name (string, required),
user_id (string, required),
assessment_id (string, required),
company_id (string, required),
job_id (string, required),
callback_url (string, required),
webhook_ul (string, required),
disable_email: (boolean, optional)
}
Request
{
"email": "[email protected]",
"name": "Glaydston User 24",
"user_id": "b12002e0-afc4-11ee-ac51-1fb9ace11428",
"company_id": "d5cf6e60-f2f5-11e7-9747-838fbc80281c",
"assessment_id": "66db51bd1df871f6747fa6cb",
"job_id": "54046020-aec4-11ee-a01d-174ac5115722",
"callback_url": "https://empresa.seuats.com",
"webhook_url": "https://api.seuats.com",
"disable_email": true
}
Response
{
"attempt_id": "66df68adc308c0ef4ee945f7",
"attempt_url": "https://beta.coodesh.com/pt/assessments/1725650303604?user_token=validToken"
}
Get a result
GET /assessments/ats/attempts/{attemptId}
Get the result of an assessment using the attempt identifier
Response
{
"title":"Fullstack Developer React.js",
"status":"invited",
"status_formatted":"Convidado",
"stage":"none",
"stage_formatted":"Sem avaliação",
"description":"Este é o resultado da sua avaliação Fullstack Developer React.js",
"score": 6,
"score_type":"percentage",
"invited":"2024-09-26T18:47:50.185Z",
"started":"2024-09-26T18:47:50.179Z",
"updated":"2024-09-26T18:51:09.457Z",
"finished":"2024-09-26T18:50:25.575Z",
"public_link":"https://beta.coodesh.com/pt/share/assessments/66df68adc308c0ef4ee945f7?accessToken=NjZkZjY4YWRjMzA4YzBlZjRlZTk0NWY3MC43NzA0OTI1ODAxMTU1NzE1",
"provider_name":"Coodesh",
"provider_link":"https://beta.coodesh.com",
"results":[
{
"score": 6,
"title":"Fullstack Developer React.js",
"score_type":"percentage",
"date":"2024-09-09"
}
],
"company_result_string":"User 24 obteve 0% de aproveitamento na avaliação Fullstack Developer React.js.\nTestes:\n\nEnviada em: 18:30 09 set, 2024 GMT-03:00\nFinalizado em: 18:30 09 set, 2024 GMT-03:00\nRelatório: https://beta.coodesh.com/pt/share/assessments/66df68adc308c0ef4ee945f7?accessToken=validToken"
}
WebHook
To integrate the states of the evaluation attempts into your system, you can use the following statuses:
Started: Indicates that the employee has started the assessment but has not yet completed it.
Expired: It means that the deadline for completing the evaluation has been exceeded without the employee completing it.
Finished: It points out that the employee has completed the evaluation and the results are available.
With each change in the state of an attempt, our system will trigger the webhook_url
one provided during the creation of the attempt, sending the data corresponding to the new state.
Below are examples of data objects corresponding to each state:
Started
{
"title": "Frontend challenge 2024",
"status": "started",
"status_formatted": "Iniciado",
"invited": "2024-09-26T18:47:50.183Z",
"started": "2024-09-26T18:47:50.179Z",
"updated": "2024-09-26T18:51:09.457Z",
"provider_name": "Coodesh",
"provider_link": "https://beta.coodesh.com"
}
Expired
{
"title": "Frontend challenge 2024",
"status": "expired",
"status_formatted": "Expirado",
"invited": "2024-09-26T18:47:50.183Z",
"started": "2024-09-26T18:47:50.179Z",
"updated": "2024-09-26T18:51:09.457Z",
"expired": "2024-09-26T18:50:25.575Z",
"provider_name": "Coodesh",
"provider_link": "https://beta.coodesh.com"
}
Finished
{
"title": "Frontend challenge 2024",
"status": "finished",
"status_formatted": "Finalizado",
"description": "Este é o resultado da sua avaliação Frontend challenge 2024",
"score": 6,
"score_type": "percentage",
"invited": "2024-09-26T18:47:50.183Z",
"started": "2024-09-26T18:47:50.179Z",
"updated": "2024-09-26T18:51:09.457Z",
"finished": "2024-09-26T18:50:25.575Z",
"public_link": "https://beta.coodesh.com/pt/share/assessments/66f5ac56ae3c56e39cbcd0c4?accessToken=NjZmNWFjNTZhZTNjNTZlMzljYmNkMGM0MC4xOTk3NzE5NzQzMzk3NDIzNg",
"provider_name": "Coodesh",
"provider_link": "https://beta.coodesh.com",
"results": [
{
"score": 6,
"title": "Frontend challenge 2024",
"score_type": "percentage",
"date": "2024-09-26"
}
],
"company_result_string": "Dexter Morgan obteve 6% de aproveitamento na avaliação Frontend challenge 2024.\nTestes:\n0% - Questão 1 - Questionário\n0% - Questão 2 - Programação\nEnviada em: 15:14 28 nov, 2024 GMT-03:00\nFinalizado em: 15:50 26 set, 2024 GMT-03:00\nRelatório: https://beta.coodesh.com/pt/share/assessments/66f5ac56ae3c56e39cbcd0c4?accessToken=NjZmNWFjNTZhZTNjNTZlMzljYmNkMGM0MC4xOTk3NzE5NzQzMzk3NDIzNg"
}
These examples illustrate how the different states of trial attempts can be represented in your system.
Error Codes
400 - Bad Request
Data submitted incorrectly or out of standard.
401 - Unauthorized
Enter the authorization token to make the desired request.
403 - Forbidden
Not authorized enough to access the desired resource.
429 - Too Many Requests
Maximum limit of requests reached.
500 - Internal Server Error
Indicates execution error on the server.