Este endpoint permite que um empregador vincule o centro de custo de um colaborador a uma data específica. Com isso, os registros do dia podem ser identificados de acordo com a obra, o projeto ou a frente de trabalho em que o colaborador atuou.
Importante: O endpoint cria o vínculo do centro de custo, mas não cria apontamentos de entrada, saída ou intervalo.
Requisitos
Para realizar a integração, você precisa de:
- Token válido de usuário com acesso executivo. Caso não tenha, clique aqui.
- CPF do colaborador.
- Código de um centro de custo já cadastrado na TWO.
- Opcionalmente, o código de um local já cadastrado na TWO.
Criar vinculo com centro de custo
Endpoint
POST https://api1.tradingworks.net/v1/timecardcostcenter/bindcostcenter
Headers
AUTH-TOKEN: Token de autenticação de um usuário executivo
Content-Type: application/json
Validações
Data (BaseDate)
- deve ser informada e conter uma data válida;
- deve estar no intervalo de 30 dias anteriores a 30 dias posteriores à data atual.
CPF (PersonalDocument)
- deve ser informado;
- deve ser um CPF válido.
- caso o CPF válido informado não esteja cadastrado, irá ser feito o cadastro simplificado do colaborador com o seu nome como NOME INDEFINIDO.
Centro de custo (CostCenterCode)
- deve ser informado;
- deve existir no ambiente do usuário autenticado;
- deve pertencer a um empregador que o usuário tenha permissão para acessar.
Local (LocaleCode)
O campo é opcional. Quando enviado, o código deve corresponder a um local cadastrado no mesmo ambiente.
Request Body
Envie uma lista JSON. Cada item representa o vínculo de um colaborador com um centro de custo em uma data.
[
{
"BaseDate": "2026-08-04",
"PersonalDocument": "52998224725",
"CostCenterCode": "OBRA-HORIZONTE",
"LocaleCode": "TORRE-A"
},
{
"BaseDate": "2026-08-05",
"PersonalDocument": "11144477735",
"CostCenterCode": "OBRA-PARQUE"
}
]
Campos
Campo | Tipo | Obrigatório | Descrição |
BaseDate | string | Sim | Data do vínculo. Recomendamos o formato `AAAA-MM-DD`. A data deve estar entre 30 dias antes e 30 dias depois da data atual. |
PersonalDocument | string | Sim | CPF válido do colaborador, com 11 dígitos |
CostCenterCode | string | Sim | Código do centro de custo cadastrado na TWO. |
LocaleCode | string | Não | Código do local cadastrado na TWO. Pode ser omitido quando o vínculo não precisar de um local. |
Response
A API retorna HTTP 200 OK quando termina o processamento, inclusive quando parte dos itens contém erros.
{
"totalRecords": 2,
"processedRecords": 2,
"errorCount": 0,
"errors": []
}
Campos da resposta
Campo | Tipo | Descrição |
totalRecords | int | Quantidade total de registros recebidos. |
processedRecords | int | Quantidade de registros processados com sucesso. |
errorCount | int | Quantidade de registros que não foram processados. |
errors | list | Detalhes dos registros que apresentaram erro. |
Exemplo de processamento parcial
No exemplo abaixo, o vínculo da Obra Residencial Horizonte é processado, mas o segundo item é recusado porque não informa uma data.
Request
[
{
"BaseDate": "2026-08-04",
"PersonalDocument": "52998224725",
"CostCenterCode": "OBRA-HORIZONTE",
"LocaleCode": "TORRE-A"
},
{
"BaseDate": "",
"PersonalDocument": "11144477735",
"CostCenterCode": "OBRA-PARQUE"
}
]
Response
{
"totalRecords": 2,
"processedRecords": 1,
"errorCount": 1,
"errors": [
{
"baseDate": "",
"personalDocument": "11144477735",
"error": "Data não informada"
}
]
}
Códigos HTTP
Código | Quando ocorre |
200 OK | O processamento foi concluído. Consulte processedRecords, errorCount e errors para verificar o resultado de cada item. |
400 Bad Request | A lista está vazia, não foi enviada ou o corpo da requisição é inválido. |
401 Unauthorized | O header AUTH-TOKEN está ausente ou contém um token inválido. |
500 Internal Server Error | Ocorreu um erro inesperado durante o processamento |
