as_of,
até quando os dados estão em dia.
Dois endpoints ainda leem a fonte ao vivo, porque respondem sobre um registro e
não sobre o corpus: secop-process retorna um processo do SECOP II com suas
adjudicações por fornecedor e seus contratos, e secop-contract retorna um
contrato com suas adições, garantias e plano de entregas.
Processo por noticeUID
POST /co/secop/process/v1
noticeUID é o identificador do aviso do processo, com o formato
CO1.NTC.<number> (p. ex. CO1.NTC.9458505).
Contrato por id
POST /co/secop/contract/v1
Resolve um contrato eletrônico pelo seu id e anexa seu histórico satélite:
adições/modificações registradas, apólices de garantia e o plano de entregas
com avanço planejado vs real.
found, contract_id, contract (a mesma estrutura que
contracts[] abaixo) e três listas, cada uma limitada a 200 com seu indicador
*_capped:
Buscar processos
POST /co/secop/processes-search/v1 Dataset
Busca todos os processos de contratação publicados no SECOP II e SECOP I como
um único corpus. Os filtros se combinam livremente; query busca no nome, na
descrição, na entidade e na referência do processo.
as_of (até quando os dados estão em dia), total,
page, per_page, total_pages, count, os filtros como foram aplicados e
results[]. Cada resultado é um registro de processo: seu id com prefixo de
plataforma, a entidade compradora, o objeto, a modalidade e o tipo de contrato,
os valores estimado e adjudicado, as datas, as contagens de competição que o
SECOP II publica (invited_providers, unique_responding_providers, …) e a
URL do processo.
Use o id de um resultado com secop-process-record para lê-lo isoladamente,
ou seu notice_uid com secop-process para a visão ao vivo com adjudicações e
contratos.
Buscar contratos
POST /co/secop/contracts-search/v1 Dataset
Busca todos os contratos assinados através do SECOP II e SECOP I como um único
corpus. provider_document aceita um NIT ou cédula com ou sem pontos e dígito
verificador: 900195855, 900.195.855-1 e 900195855-1 correspondem ao mesmo
contratado.
as_of, os metadados de página, os filtros aplicados e results[].
Cada resultado é um registro de contrato com a entidade, o contratado e seu
representante legal, o objeto, os valores (assinado, com adições, faturado,
pago, pendente), a composição das fontes de financiamento, as datas, os
marcadores de pós-conflito e Acordo de Paz, e quem o supervisiona.
value é o valor na assinatura; value_with_additions é o valor pelo qual
convém ordenar o gasto. Use o id de um resultado com secop-contract-record,
ou seu contract_id com secop-contract para a visão ao vivo com adições,
garantias e plano de entregas.
Buscar modificações de contratos
POST /co/secop/modifications-search/v1 Dataset
Lista o que aconteceu com os contratos depois de assinados. Ordenar por
value_desc com um piso em min_value é a forma mais direta de encontrar os
contratos que mais cresceram após a adjudicação.
as_of, os metadados de página, os filtros aplicados e results[]
com contract_id, kind, description, added_value, added_days e
registered_date.
O SECOP I registra suas adições contra a adjudicação e não contra a linha do
contrato, portanto elas trazem contract_reference (o id de adjudicação, que um
contrato reporta como award_id) em vez de contract_id.
Buscar fornecedores
POST /co/secop/suppliers-search/v1 Dataset
O registro de fornecedores do SECOP II. query busca no nome, no documento e na
descrição da categoria registrada.
as_of, os metadados de página, os filtros aplicados e results[]
com o document do fornecedor, name, categoria, localização, dados de
contato, representante legal e is_active.
O SECOP I não tem registro de fornecedores próprio; um contratado do SECOP I
aparece em secop-contracts-search mas não aqui.
Buscar proponentes
POST /co/secop/bidders-search/v1 Dataset
Quem apresentou proposta em qual processo. O SECOP I também publica a nota e se
o proponente venceu; o SECOP II publica apenas a participação, então lá score
e awarded são nulos em vez de inferidos.
as_of, os metadados de página, os filtros aplicados e results[]
com process_id, bidder, bidder_document, score, awarded e
published_date.
Buscar sanções
POST /co/secop/sanctions-search/v1 Dataset
Todo o registro de multas e sanções, consultável através de contratados e
entidades em vez de um contratado por vez.
as_of, os metadados de página, os filtros aplicados e results[]
com a entidade sancionadora, o contratado, o número da resolução, o contrato, o
valor em COP, a data de publicação e a data em que a sanção transitou em
julgado.
Buscar planos anuais de aquisições
POST /co/secop/plans-search/v1 Dataset
A metade prospectiva da contratação colombiana: o que as entidades dizem que vão
comprar, antes de os processos existirem.
as_of, os metadados de página, os filtros aplicados e results[]
com a entidade, o ano, o orçamento total anunciado, os limites de menor e mínima
quantia, a missão e perspectiva estratégica declaradas e o contato registrado.
Perfil por documento
POST /co/secop/profile/v1 Dataset
Um documento, os dois lados do mercado. Um NIT pode ser contratado, entidade
compradora ou ambos, e isto responde por tudo de uma vez.
as_contractor.contracts
é o número real de contratos mesmo que largest_contracts traga cinco. Para
percorrer o resto, use o document e chame secop-contracts-search.
contracts_value é a soma dos contratos efetivamente retornados e nada mais.
Não é um total histórico: um total sobre todos os contratos não é algo que este
endpoint possa calcular, e um número inferido de uma página estaria errado na
direção que ninguém verificaria.
found: false significa que não há nada para esse documento. É uma resposta,
não um erro: a maioria das cédulas nunca contratou com o Estado.
Buscar adjudicações
POST /co/secop/awards-search/v1 Dataset
Cada fornecedor adjudicado em cada processo do SECOP II, na granularidade em
que a fonte os publica. Uma linha do SECOP I já é uma adjudicação, com
contratado e valor, portanto as adjudicações do SECOP I estão em
secop-contracts-search.
as_of, os metadados de página, os filtros aplicados e results[]
com process_id, notice_uid, a entidade, o fornecedor e seu documento,
value e awarded_at.
Use o process_id de um resultado com secop-process-record, ou seu
notice_uid com secop-process para o processo com todas as suas adjudicações
e contratos.
Ler um processo
POST /co/secop/process-record/v1 Dataset
Retorna um único registro de processo pelo id que uma busca devolveu.
as_of, found, o record_id consultado e process. Um record_id
que não corresponde a nada responde found: false com process nulo; isso é
uma resposta, não um erro.
Ler um contrato
POST /co/secop/contract-record/v1 Dataset
Retorna um único registro de contrato pelo id que uma busca devolveu.
as_of, found, o record_id consultado e contract. Um
record_id que não corresponde a nada responde found: false com contract nulo.
Contratos por fornecedor
POST /co/secop/contracts-by-provider/v1
Lista os contratos adjudicados a um fornecedor (cédula ou NIT) através de cada
entidade contratante: o perfil do contratista.
document_number, os filtros aplicados (entity_nit, from_date,
to_date), count, capped, contracts[] (a mesma estrutura de contrato
que abaixo) e um objeto pagination (total, page_size, total_pages,
page). Páginas de 500, os mais recentes primeiro; quando capped é true
a página está cheia, então solicite a próxima page ou restrinja a busca.
Processos por entidade
POST /co/secop/processes-by-entity/v1
Lista os processos de contratação publicados por uma entidade contratante (por NIT),
opcionalmente dentro de uma janela de data de publicação: a população a auditar de uma entidade.
Retorna resumos leves; aprofunde em um deles com a consulta por noticeUID acima.
document_number, from_date, to_date, count, capped,
processes[] (cada um com notice_uid, process_id, name, entity,
entity_nit, modality, contract_type, base_price, phase,
procedure_status, published_date e url) e um objeto pagination
(total, page_size, total_pages, page). Páginas de 500, os mais
recentes primeiro; quando capped é true a página está cheia, então
solicite a próxima page.
Sanções por fornecedor
POST /co/secop/sanctions-by-provider/v1
Lista as multas e sanções registradas contra um contratista do Estado. Os
registros cobrem desde 2010 até o presente.
document_number, count, capped e sanctions[], cada uma com
entity, entity_nit, entity_level, entity_order, municipality,
resolution_number, provider, contract_number, sanction_value,
published_date, final_date (data de firmeza) e url.
Resposta
process
awards[]
Uma linha por fornecedor adjudicado (os acordos-quadro adjudicam a muitos):
contracts[]
Os valores vazios ou de preenchimento são normalizados para
null. Os campos
monetários e de contagem são números; as datas são yyyy-mm-dd.
Um processo também tem seções disponíveis apenas no próprio site do SECOP (Documentos
Tipo, Cuestionario, Observaciones, downloads de documentos) ou em outros
registros do SECOP (plano anual de aquisições, detalhe do orçamento).
Essas não fazem parte destas respostas.
Referência completa
Esquemas, todos os campos de resposta e um playground interativo.