Orientações iniciais:
Todos os endpoints possuem duas entradas padrões “appkey” e “IntegrationToken”. Essas informações são fornecidas pela equipe ConstruCode mediante a consulta.
appkey: Chave de aplicativo usada para controlar a origem e permissão de acesso a informações relacionadas às obras de determinada empresa ou sistema terceiro.
integrationToken: Token de autenticação individual por empreendimento
Aqui você encontrará:
Endpoint Disciplinas
Endpoint GetLocais
Endpoint GetDocumentos
Endpoint GetUpdates
Endpoint GetDocumento
Endpoint Download
Endpoint Disciplinas
/api/Disciplina/GetDisciplinas
Descrição:Esse endpoint retorna as disciplinas em uso por determinada obra. A busca principal é por empreendimento, e o retorno se baseia em quais disciplinas possuem ao menos 1 documento vinculado.
Método:POST
URL:
Entrada:
Exemplo
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"AppKey": "5443c75b-8314-481b-a97b-c2ac057e54e7", \
"IntegrationToken": "3e8a96ab-798c-402d-9c26-7afdb96e22f3", \
"IDObra": 1310 \
Campo | Tipo | Obrigatório | Explicação |
appkey | string | Sim | Chave do aplicativo |
IntegrationToken | string | Sim | Token de autenticação da obra |
IDObra | int | Sim | id da obra que se deseja o retorno |
Saída Esperada (Resposta):
{
"Code": 1,
"Message": "OK",
"Result": [
{
"ID": 131,
"Nome": "Acabamento",
"Sigla": "ACB"
},
{
"ID": 99,
"Nome": "Acessibilidade",
"Sigla": "ACE"
},
{
"ID": 96,
"Nome": "Acústica",
"Sigla": "ACU"
}]
}
Campo | Descrição |
id | Id da disciplina |
nome | Nome da disciplina |
Sigla | Sigla cadastrada no sistema |
Endpoint GetLocais
/api/Local/GetLocais
Descrição:
O endpoint retorna a lista de locais baseado no id do empreendimento. Para o sistema “locais” é uma entidade utilizada para representar pavimentos, apartamentos ou qualquer estrutura física que pode ser representada na obra. Em algumas aplicações, pode ser vista como uma pasta.
Método:
POST
URL:
Entrada:
Exemplo
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"AppKey": "5443c75b-8314-481b-a97b-c2ac057e54e7", \
"IntegrationToken": "3e8a96ab-798c-402d-9c26-7afdb96e22f3", \
"IDObra": 1310 \
Campo | Tipo | Obrigatório | Explicação |
appkey | string | Sim | Chave do aplicativo |
IntegrationToken | string | Sim | Token de autenticação da obra |
IDObra | int | Sim | id da obra que se deseja o retorno |
Saída Esperada (Resposta):
{
"Code": 1,
"Message": "OK",
"Result": [
{
"ID": 161873,
"IDObra": 1310,
"Nome": "1º Pavimento",
"Data": "26/03/2025"
},
{
"ID": 161779,
"IDObra": 1310,
"Nome": "2º Pavimento",
"Data": "24/03/2025"
},
{
"ID": 161471,
"IDObra": 1310,
"Nome": "3º Pavimento",
"Data": "20/03/2025"
}]
}
Campo | Descrição |
id | Id do local |
idObra | Id da obra |
Nome | Nome da área |
Data | Data de criação |
Endpoint GetDocumentos
/api/Documento/GetDocumentos
Descrição:
Esse endpoint retorna a lista de documentos de uma determinada obra, baseado em filtros de buscas como por exemplo por locais e disciplinas. O retorno é um objeto completo contendo todas as informações de cada documento atendido pelo conjunto de parâmetros escolhidos
Método:
POST
URL:
Entrada:
Exemplo
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"Filter": "ARQ", \
"Disciplinas": [ \
2 \
], \
\
"ApenasLiberados": true, \
"AppKey": "5443c75b-8314-481b-a97b-c2ac057e54e7", \
"IntegrationToken": "3e8a96ab-798c-402d-9c26-7afdb96e22f3", \
"IDObra": 1310 \
Campo | Tipo | Obrigatório | Explicação |
appkey | string | Sim | Chave do aplicativo |
IntegrationToken | string | Sim | Token de autenticação da obra |
IDObra | int | Sim | id da obra que se deseja o retorno |
Filter | string | Não | Recebe um texto de busca que vai percorrer o título, descrição e nome do documento |
Disciplinas | Array[int] | Não | Um array de inteiros que deve conter a lista de idDisciplinas |
Locais | Array[int] | Não | Um array de inteiros que deve conter a lista de idLocais |
Saída Esperada (Resposta):
{
"Code": 1,
"Message": "OK",
"Result": {
"Projetos": [
{
"Nome": "1078-ARQ-PRO-003-2PAVIM-GER",
"Filename": "S_455_O_1310_638496644434504554_C_1.jpg",
"PathURL": "https://www.construcode.com.br/Content/projects/S_455_O_1310_638496644434504554_C_1.jpg",
"PathURLOriginalFile": null,
"Titulo": null,
"Descricao": null,
"Folhas": 0,
"Revisao": "R09",
"Fase": 4,
"IDObra": 1310,
"Areas": null,
"ID": 620122,
"IDC": "2XD48tjuEYg%3d",
"Processing": false,
"Revisoes": null,
"DataCriacao": "2022-10-27T14:05:02.0000000Z",
"DataUpdate": "2024-04-25T20:54:10.0000000Z",
"IDStatus": 1,
"IDDisciplina": 2,
"Disciplina": "Arquitetura",
"OriginalFileName": "1078-ARQ-PRO-003-2PAVIM-GER-R09.jpg",
"Extensao": "JPG"
}]
}
}
Campo | Descrição |
id | Id do documento |
idc | Id criptografado do documento |
Nome | Nome do documento, sem a revisão |
Filename | Nome interno do documento |
PathURL | URL de acesso ao documento |
Título | Título do documento |
Descrição | Descrição do documento |
Folhas | Quantidade de folhas do documento |
Revisão | Revisão do documento |
DataCriacao | Data de envio do primeiro documento daquela árvore de arquivos |
DataUpdate | Data de atualização do documento |
IDStatus | id status do documento
|
IDDisciplina | id disciplina do documento |
OriginalFileName | Nome original do documento |
Extensao | Extensão do documento |
Areas | Lista de locais que o documento está vinculado |
Endpoint GetUpdates
/api/Documento/GetUpdates
Descrição:
Esse endpoint se baseia em uma data para retornar os documentos que foram enviados ou atualizados a partir da data base. O retorno contém todas as informações dos documentos que estão dentro da janela especificada.
Método:
POST
URL:
Entrada:
Exemplo
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"Data": "2025-01-27T01:37:00.576Z", \
"AppKey": "5443c75b-8314-481b-a97b-c2ac057e54e7", \
"IntegrationToken": "3e8a96ab-798c-402d-9c26-7afdb96e22f3", \
"IDObra": 1310 \
Campo | Tipo | Obrigatório | Explicação |
appkey | string | Sim | Chave do aplicativo |
IntegrationToken | string | Sim | Token de autenticação da obra |
IDObra | int | Sim | id da obra que se deseja o retorno |
Data | date | Sim | Data de corte para retornar os documentos enviados/atualizados a partir daquela data |
Saída Esperada (Resposta):
{
"Code": 1,
"Message": "OK",
"Result": {
"Projetos": [
{
"Nome": "11ZINHOGG-JUV-EX-02P",
"Filename": "S_4434_O_1310_638770561155835601_C_1.cdr",
"PathURL": "https://www.construcode.com.br/Content/projects/S_4434_O_1310_638770561155835601_C_1.cdr",
"PathURLOriginalFile": null,
"Titulo": null,
"Descricao": null,
"Folhas": 1,
"Revisao": "R01",
"Fase": 5,
"IDObra": 1310,
"Areas": null,
"ID": 2789269,
"IDC": "vh%2f805qnCps%3d",
"Processing": false,
"Revisoes": null,
"DataCriacao": "2025-03-08T21:41:58.0000000Z",
"DataUpdate": "2025-03-08T21:41:58.0000000Z",
"IDStatus": 2,
"IDDisciplina": 2,
"Disciplina": "Arquitetura",
"OriginalFileName": "11ZINHOGG-JUV-EX-02P-R01.cdr",
"Extensao": "CDR"
}]
}
}
Campo | Descrição |
id | Id do documento |
idc | Id criptografado do documento |
Processing | Estado que define se o documento está sendo processado pelo sistema (Gerando visualização em imagem) |
Nome | Nome do documento, sem a revisão |
Filename | Nome interno do documento |
PathURL | URL de acesso ao documento |
Título | Título do documento |
Descrição | Descrição do documento |
Folhas | Quantidade de folhas do documento |
Revisão | Revisão do documento |
DataCriacao | Data de envio do primeiro documento daquela árvore de arquivos |
DataUpdate | Data de atualização do documento |
IDStatus | id status do documento
|
IDDisciplina | id disciplina do documento |
OriginalFileName | Nome original do documento |
Extensao | Extensão do documento |
Fase | Fase construtiva do documento
|
Endpoint GetDocumento
/api/Documento/GetDocumento
Descrição:
Esse endpoint retorna os dados do documento baseado em um id. A ideia é fazer uma busca em específico. O retorno traz todas as informações do respectivo documento
Método:
POST
URL:
Entrada:
Exemplo
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"IdDocumento": 2345083, \
"AppKey": "5443c75b-8314-481b-a97b-c2ac057e54e7", \
"IntegrationToken": "3e8a96ab-798c-402d-9c26-7afdb96e22f3", \
"IDObra": 1310 \
Campo | Tipo | Obrigatório | Explicação |
appkey | string | Sim | Chave do aplicativo |
IntegrationToken | string | Sim | Token de autenticação da obra |
IDObra | int | Sim | id da obra que se deseja o retorno |
idDocumento | int | Sim | ID do documento que deseja buscar |
Saída Esperada (Resposta):
{
"Code": 1,
"Message": "OK",
"Result": {
"Projetos": [
{
"Nome": "11ZINHOGG-JUV-EX-02P",
"Filename": "S_4434_O_1310_638770561155835601_C_1.cdr",
"PathURL": "https://www.construcode.com.br/Content/projects/S_4434_O_1310_638770561155835601_C_1.cdr",
"PathURLOriginalFile": null,
"Titulo": null,
"Descricao": null,
"Folhas": 1,
"Revisao": "R01",
"Fase": 5,
"IDObra": 1310,
"Areas": null,
"ID": 2789269,
"IDC": "vh%2f805qnCps%3d",
"Processing": false,
"Revisoes": null,
"DataCriacao": "2025-03-08T21:41:58.0000000Z",
"DataUpdate": "2025-03-08T21:41:58.0000000Z",
"IDStatus": 2,
"IDDisciplina": 2,
"Disciplina": "Arquitetura",
"OriginalFileName": "11ZINHOGG-JUV-EX-02P-R01.cdr",
"Extensao": "CDR"
}]
}
}
Campo | Descrição |
id | Id do documento |
idc | Id criptografado do documento |
Processing | Estado que define se o documento está sendo processado pelo sistema (Gerando visualização em imagem) |
Nome | Nome do documento, sem a revisão |
Filename | Nome interno do documento |
PathURL | URL de acesso ao documento |
Título | Título do documento |
Descrição | Descrição do documento |
Folhas | Quantidade de folhas do documento |
Revisão | Revisão do documento |
DataCriacao | Data de envio do primeiro documento daquela árvore de arquivos |
DataUpdate | Data de atualização do documento |
IDStatus | id status do documento
|
IDDisciplina | id disciplina do documento |
OriginalFileName | Nome original do documento |
Extensao | Extensão do documento |
Fase | Fase construtiva do documento
|
Endpoint Download
/api/Documento/Download
Descrição:
Esse endpoint recebe como parâmetro de entrada os dados de um determinado documento e retorna um fileStream para que seja transformado e assim feito o download do respectivo documento.
Método:
POST
URL:
Entrada:
Exemplo
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"IdDocumento": 2345080, \
"Fn": "S_4434_O_1310_638658076879682990_C_3.pdf", \
"AppKey": "5443c75b-8314-481b-a97b-c2ac057e54e7", \
"IntegrationToken": "3e8a96ab-798c-402d-9c26-7afdb96e22f3", \
"IDObra": 1310 \
Campo | Tipo | Obrigatório | Explicação |
appkey | string | Sim | Chave do aplicativo |
IntegrationToken | string | Sim | Token de autenticação da obra |
IDObra | int | Sim | id da obra que se deseja o retorno |
idDocumento | int | Sim | ID do documento que deseja buscar |
fn | string | sim | filename do documento |