Skip to main content
POST
Ensamblar una carpeta de contrato
POST https://api-datahub.octoparse.com/v1/data-apps/contract/assemble Autenticación: ninguna. Acceso anónimo permitido. Fusiona una carpeta de contrato (mapa de archivos por ruta relativa, orden conservado) en un manifest autocontenido. Este endpoint es la única fuente de verdad de las reglas de ensamblado. Lo usan el asistente de importación del portal y el self-check del skill de contrato. Archivos de slot: dataapp.json / input_schema.json / output_schema.json / runtime.json / pricing.json / examples.json / README.md (nombres sin distinción de mayúsculas; formas con punto como input.schema.json se aceptan y normalizan en picked). Precios y ejemplos también pueden ir en línea en dataapp.json. El manifest fusionado pasa por la validación completa del lado autor (mismas reglas que Validar un manifest). Entregable solo cuando issues está vacío. Las anomalías recuperables (archivos faltantes, colisiones de nombre entre capas, archivos no-contrato ignorados, desajuste de nombre de carpeta, etc.) vuelven como warnings estructurados (code + params, localizados por la capa de presentación) y no son errores. Fallos duros (400): un archivo de slot no es JSON válido, tiene forma incorrecta (examples.json debe ser array, etc.) o un solo archivo supera 1MB / el total 4MB. Soft: anomalías recuperables vuelven como warnings. El 8.º archivo opcional i18n.json ({source, locales}, hasta 4MB) no se fusiona en el manifest: se valida en forma y se devuelve por separado en translations para que el llamador decida cuándo guardar overlays. Sin el archivo, translations es null. Acceso anónimo permitido: el ensamblado es función pura del cuerpo, no lee ni escribe datos de plataforma, y los límites de tamaño son la única puerta.

Solicitud

Cuerpo de la solicitud

object
requerido
Mapa de archivos. Claves = rutas relativas; valores = texto del archivo.

Ejemplo de solicitud

Respuesta

200 correcto

La carga útil va envuelta en data. Campos:
object
requerido
Objeto manifest fusionado.
string[]
Mapa de archivos de slot realmente reconocidos.
string
object[]
Incidencias de validación. Vacío significa entregable.
object[]
Avisos estructurados.
object
Contenido parseado de i18n.json, o null si no hay.

Errores

Las respuestas de error usan {"error": {code, category, message, retryable}}. Véase Errores.

Bibliotecas cliente

Los SDK de Python y JavaScript aún no encapsulan este endpoint. Llame a REST directamente.