Buscar proveedores
POST /sv/comprasal-sv/suppliers-search/v1 Dataset
Encuentra el id de un proveedor por su nombre, como sea que se haya escrito.
as_of (qué tan actualizados están los datos), los filtros aplicados, total y total_is_exact, page, per_page, total_pages, count y results[]. Cada proveedor incluye id, name (la razón social, o el nombre de la persona si es persona natural), trade_name, sanctioned y score (de 0 a 100, qué tan cerca está el nombre de query; null sin búsqueda).
El registro de COMPRASAL no publica el NIT de los proveedores, así que se busca por nombre.
Perfil de un proveedor
POST /sv/comprasal-sv/supplier/v1 Dataset
Todo lo que las compras públicas saben de un proveedor, en una sola respuesta.
as_of, found, supplier_id, supplier (id, name, trade_name, sanctioned), sanctions[] (name, start_date, end_date, sanctioning_entity, list, active, score) y awards: total, summarized y summary_is_complete (los montos suman las 2.000 adjudicaciones más recientes), amount, first_awarded_date, last_awarded_date, entities[] (entity_id, entity_name, awards, amount) y latest[], las diez adjudicaciones más recientes.
Un id que el registro no tiene devuelve
found: false con HTTP 200, no un error. Las sanciones se cruzan por nombre, porque la lista no trae el id del proveedor: revisa score antes de dar una coincidencia por buena.Buscar adjudicaciones
POST /sv/comprasal-sv/awards-search/v1 Dataset
Cada adjudicación, por proveedor, institución, proceso, fecha o palabras.
as_of (qué tan actualizados están los datos), los filtros aplicados, total y total_is_exact, page, per_page, total_pages, count y results[]. Cada adjudicación incluye id, amount (dólares), awarded_date, process_id, process_code, process_name (lo que se compró), contracting_method y contracting_method_code, entity_id, entity_code, entity_name, supplier_id, supplier_name, supplier_trade_name y official_url (la adjudicación en COMPRASAL).
Informe de una adjudicación
POST /sv/comprasal-sv/award/v1 Lookup
Responde desde la copia de Croma cuando tiene una respuesta reciente para la llave; si no, lee la fuente y guarda la respuesta. Cada respuesta dice cuándo se consultó la fuente por última vez (
checked_at) y de dónde salió la respuesta (served_from).found, award_id, checked_at, served_from y award: contract_name, contracting_method, term_days, planned_amount, certified_amount, published_at, opened_at, closed_at, process_status, signed_at, budget_codes[], bidders[] (name, submitted_at), modifications, payments y official_url.
Un id que COMPRASAL no tiene devuelve
found: false con HTTP 200, no un error.Buscar procesos abiertos
POST /sv/comprasal-sv/tenders-search/v1 Dataset
Los procesos que reciben ofertas ahora, el que cierra primero arriba.
as_of (qué tan actualizados están los datos), los filtros aplicados, total y total_is_exact, page, per_page, total_pages, count y results[]. Cada proceso incluye id, code, name (lo que se compra), entity_name, contracting_method y contracting_method_code, status, stage, current_stages[] y stages[] (name, starts_at, ends_at), offers_due_at (cuándo cierra la recepción de ofertas), activities[] (code, name: las actividades económicas a las que está abierto) y activity_codes.
Licitaciones para un proveedor
POST /sv/comprasal-sv/tenders-for-supplier/v1 Dataset
De lo que un proveedor ya vendió a lo que podría ofertar esta semana.
as_of, found, supplier_id, supplier_name, awards_considered, count y results[], la mejor coincidencia primero. Cada proceso incluye id, code, name (lo que se compra), entity_name, contracting_method y contracting_method_code, status, stage, current_stages[] y stages[] (name, starts_at, ends_at), offers_due_at (cuándo cierra la recepción de ofertas), activities[] (code, name: las actividades económicas a las que está abierto) y activity_codes. Cada coincidencia agrega score, matched_terms y similar_award_ids.
Un proveedor sin adjudicaciones no tiene coincidencias: el cruce sale de lo que ha vendido.
Referencia completa
Esquemas, todos los campos de respuesta y un playground interactivo.