Skip to content

API Reference - Endpoints

Esta página documenta todos los endpoints disponibles en la Pasarela SIEX con ejemplos completos de uso.

Prerequisitos

Antes de usar estos endpoints, asegúrate de haber completado la Configuración Inicial.

Autenticación

Todos los endpoints requieren las siguientes cabeceras HTTP:

http
Ocp-Apim-Sid-Key: TU_Ocp-Apim-Sid-Key
Ocp-Apim-Subscription-Key: TU_Ocp-Apim-Subscription-Key

Base URL

Desarrollo: https://api-dev.plataformatierra.es

Producción: https://api.plataformatierra.es

1. Consultar Explotación por REA

GET /farms

Descripción

Obtiene información completa de una explotación específica usando su código REA y año de campaña. Este endpoint debe ser el primero en utilizarse, ya que proporciona el agrifarmId necesario para todas las operaciones posteriores.

Cuándo Usar

  • Al inicio de cada campaña para obtener el identificador de la explotación
  • Para verificar la configuración de parcelas y cultivos disponibles
  • Consulta de parcelas disponibles y su configuración SIGPAC

Endpoint

http
GET /v1/siex/farms?rea={codigo_rea}&year={año_campaña}

Parámetros

ParámetroTipoDescripciónEjemplo
reaStringCódigo REA de la explotación"000X0000X"
yearIntegerAño de la campaña2025

Información Devuelta para Explotación

La respuesta incluye información completa sobre:

Datos Básicos de la Explotación

  • Identificador único del sistema (id)
  • Nombre y descripción de la explotación
  • Año de campaña y fechas de registro
  • Información de contacto y dirección

Información del Propietario

  • Datos del titular de la explotación
  • Información de contacto completa
  • Identificadores oficiales (NIF, etc.)

Parcelas y Ubicaciones SIGPAC

  • Lista completa de parcelas registradas
  • Coordenadas geográficas de cada parcela
  • Códigos SIGPAC detallados por recinto
  • Superficie y características de cada ubicación

Atributos Regionales

  • Códigos administrativos (provincia, comunidad)
  • Registros oficiales (REA, REGEPA)
  • Información de localización específica

Ejemplo de Respuesta

Respuesta que recibirás
json
[
  {
    "id": "urn:ngsi-ld:AgriFarm:1-1",
    "name": "Explotación Tomates 2025",
    "description": "Campaña de tomates temporada 2025",
    "year": 2025,
    "dateCreated": "18-04-2023 08:22:48",
    "address": {
      "addressLocality": "Urueñas",
      "addressCountry": "ES"
    },
    "owned": {
      "name": "Propietario",
      "surname": "de la Explotación",
      "email": "email@example.com",
      "nif": "00000000A"
    },
    "agriCrop": [
      {
        "id": "urn:ngsi-ld:AgriCrop:1",
        "crop": {
          "type": "TypeCropVariety",
          "typecrop": {
            "type": "TypeCrop",
            "id": "109",
            "name": "Manzano"
          },
          "code": 1,
          "name": "Roja de narbarte"
        },
        "agriParcel": [
          {
            "id": "urn:ngsi-ld:AgriParcel:1",
            "name": "Parcela Norte",
            "sigpac": [
              {
                "idcp": 1,
                "prov": "24",
                "town": "90",
                "aggr": "0",
                "zone": "0",
                "pol": "409",
                "parc": "37",
                "enc": "5",
                "dimension": "25.44"
              }
            ]
          }
        ]
      }
    ],
    "regionalAttributes": [
      {
        "rea": "000X0000X",
        "address": {
          "province": "León",
          "community": {
            "name": "Castilla Y León"
          }
        }
      }
    ]
  }
]
Descripción de datos que recibirás
CampoTipoDescripción
idstringIdentificador único de la explotación en formato URN NGSI-LD (usar como agrifarmId en siguientes operaciones)
namestringNombre asignado a la explotación
descriptionstringDescripción detallada de la explotación
yearintegerAño de la campaña agrícola
dateCreatedstringFecha y hora de creación del registro (formato: DD-MM-YYYY HH:mm:ss)
addressobjectInformación de dirección postal de la explotación
address.addressLocalitystringLocalidad donde se ubica la explotación
address.addressCountrystringCódigo de país (ISO 3166-1 alpha-2)
ownedobjectInformación del propietario de la explotación
owned.namestringNombre del propietario
owned.surnamestringApellidos del propietario
owned.emailstringEmail de contacto del propietario
owned.nifstringNIF del propietario
agriCroparrayLista de cultivos registrados en la explotación
agriCrop[].idstringIdentificador único del cultivo en formato URN NGSI-LD
agriCrop[].cropobjectInformación del tipo de cultivo y variedad
agriCrop[].crop.typestringTipo de dato (TypeCropVariety)
agriCrop[].crop.typecropobjectInformación del tipo de cultivo
agriCrop[].crop.typecrop.typestringTipo de dato (TypeCrop)
agriCrop[].crop.typecrop.idstringCódigo oficial del tipo de cultivo del catálogo SIEX
agriCrop[].crop.typecrop.namestringNombre del tipo de cultivo (ej: Tomate, Maíz, Trigo)
agriCrop[].crop.codeintegerCódigo de la variedad específica del cultivo
agriCrop[].crop.namestringNombre de la variedad del cultivo (ej: Cherry, Pera, Rama)
agriCrop[].agriParcelarrayLista de parcelas donde se cultiva este cultivo
agriCrop[].agriParcel[].idstringIdentificador único de la parcela en formato URN NGSI-LD
agriCrop[].agriParcel[].namestringNombre descriptivo de la parcela
agriCrop[].agriParcel[].sigpacarrayInformación de recintos SIGPAC de la parcela
agriCrop[].agriParcel[].sigpac[].idcpintegerID cultivo-parcela (usar en array idcp al registrar tratamientos fitosanitarios)
agriCrop[].agriParcel[].sigpac[].provstringCódigo de provincia SIGPAC
agriCrop[].agriParcel[].sigpac[].townstringCódigo de municipio SIGPAC
agriCrop[].agriParcel[].sigpac[].aggrstringCódigo de agregado SIGPAC
agriCrop[].agriParcel[].sigpac[].zonestringCódigo de zona SIGPAC
agriCrop[].agriParcel[].sigpac[].polstringCódigo de polígono SIGPAC
agriCrop[].agriParcel[].sigpac[].parcstringCódigo de parcela SIGPAC
agriCrop[].agriParcel[].sigpac[].encstringCódigo de recinto SIGPAC
agriCrop[].agriParcel[].sigpac[].dimensionstringSuperficie del recinto en hectáreas
regionalAttributesarrayArray de atributos específicos regionales
regionalAttributes[].reastringNúmero de Registro de Explotación Autonómico
regionalAttributes[].addressobjectDirección regional específica
regionalAttributes[].address.provincestringNombre de la provincia
regionalAttributes[].address.communityobjectInformación de la comunidad autónoma
regionalAttributes[].address.community.namestringNombre de la comunidad autónoma

Información Clave de la Respuesta

  • id: Identificador único que usará como agrifarmId en todas las operaciones posteriores
  • agriCrop: Lista de cultivos de la explotación
  • agriCrop.agriParcel: Lista de parcelas con sus códigos SIGPAC en las que se encuentra el cultivo
  • agriCrop.agriParcel.idcp: Identificador único que relaciona la parcela con el cultivo para poder registrar los tratamientos fitosanitarios
  • regionalAttributes.rea: Confirmación del código REA consultado
  • year: Confirmación del año de campaña

2. Obtener IDs de Cultivo-Ubicación

POST /listidcp

Descripción

Genera los identificadores específicos necesarios para registrar tratamientos fitosanitarios. Este endpoint relaciona las parcelas SIGPAC con los tipos de cultivo y variedades específicas, creando los vínculos únicos que se utilizarán al reportar cada aplicación.

Cuándo Usar

  • Antes de cada tratamiento para obtener los IDs correctos
  • Validar combinaciones de parcela + cultivo configuradas
  • Agrupar tratamientos por tipo de cultivo y ubicación
  • Verificar disponibilidad de parcelas para cultivos específicos

Endpoint

http
POST /v1/siex/listidcp/?agrifarmId={agrifarm_id}

Parámetro Obligatorio

El parámetro agrifarmId es obligatorio en la URL. Ejemplo: urn:ngsi-ld:AgriFarm:159-159

Estructura de Petición

json
{
  "type": "IDCP",
  "crop": {
    "type": "TypeCropVariety",
    "typecrop": {
      "id": "197",
      "type": "TypeCrop",
      "name": "Tomate"
    },
    "code": 8,
    "name": "Cherry"
  },
  "regionalAttributes": [
    {
      "sigpac": [
        {
          "prov": "24",
          "town": "90",
          "aggr": "0",
          "zone": "0",
          "pol": "411",
          "parc": "23",
          "enc": "1"
        },
        {
          "prov": "24",
          "town": "90",
          "aggr": "0",
          "zone": "0",
          "pol": "412",
          "parc": "23",
          "enc": "1"
        }
      ]
    }
  ]
}

Catálogos de Referencia

Información de Cultivos

CampoDescripciónFuente
typecrop.idCódigo oficial del cultivoCatálogo SIEX del Ministerio
typecrop.nameNombre del cultivo"Tomate", "Maíz", "Trigo", etc.
codeCódigo de la variedadCatálogo de variedades por cultivo
nameNombre de la variedad"Cherry", "Pera", "Rama", etc.

Códigos SIGPAC

CampoDescripciónEjemplo
provCódigo de provincia"24" (León)
townCódigo de municipio"90"
aggrAgregado"0"
zoneZona"0"
polPolígono"411"
parcParcela"23"
encRecinto"1"

Ejemplo de Respuesta

Respuesta que recibirás
json
{
  "agrifarmId": "urn:ngsi-ld:AgriFarm:1-1",
  "crop": {
    "typecrop": {
      "id": "197",
      "name": "Tomate"
    },
    "code": 8,
    "name": "Cherry"
  },
  "idcp": [
    {
      "idcp": 1,
      "prov": "24",
      "town": "90",
      "aggr": "0",
      "zone": "0",
      "pol": "409",
      "parc": "37",
      "enc": "5"
    },
    {
      "idcp": 2,
      "prov": "24",
      "town": "90",
      "aggr": "0",
      "zone": "0",
      "pol": "410",
      "parc": "37",
      "enc": "5"
    }
  ]
}
Descripción de datos que recibirás
CampoTipoDescripción
agrifarmIdstringIdentificador de la explotación (el mismo enviado en la petición)
cropobjectInformación del tipo de cultivo y variedad solicitados
crop.typecropobjectInformación del tipo de cultivo
crop.typecrop.idstringCódigo oficial del tipo de cultivo según catálogo SIEX
crop.typecrop.namestringNombre del tipo de cultivo (ej: Tomate, Maíz)
crop.codeintegerCódigo de la variedad específica del cultivo
crop.namestringNombre de la variedad (ej: Cherry, Pera, Rama)
idcparrayArray de IDs cultivo-parcela generados - usar estos IDs al registrar tratamientos
idcp[].idcpintegerID único cultivo-parcela - valor a incluir en array idcp al registrar fitosanitarios
idcp[].provstringCódigo de provincia SIGPAC del recinto
idcp[].townstringCódigo de municipio SIGPAC del recinto
idcp[].aggrstringCódigo de agregado SIGPAC del recinto
idcp[].zonestringCódigo de zona SIGPAC del recinto
idcp[].polstringCódigo de polígono SIGPAC del recinto
idcp[].parcstringCódigo de parcela SIGPAC del recinto
idcp[].encstringCódigo de recinto SIGPAC

Uso de los IDs Devueltos

  • Cada ID representa una combinación única de cultivo + ubicación SIGPAC
  • Use estos IDs en el array idcp al registrar tratamientos
  • Los IDs son válidos durante toda la campaña para esa combinación específica
  • Reutilice los IDs para múltiples tratamientos en las mismas ubicaciones

3. Registrar Aplicación Fitosanitaria

POST /agriphytosanitarys

Descripción

Registra la aplicación de un producto fitosanitario en las ubicaciones especificadas en la plataforma.

Cuándo Usar

  • Inmediatamente después de realizar un tratamiento fitosanitario
  • Para documentar la actividad fitosanitaria de la explotación

Endpoint

http
POST /v1/entities/agriphytosanitarys/?agrifarmId={agrifarm_id}

Parámetro Obligatorio

El parámetro agrifarmId es obligatorio en la URL. Ejemplo: urn:ngsi-ld:AgriFarm:159-159

Query Params Opcionales

md
exported=0

exported es un integer donde 0 representa NO exportados y 1 representa SI exportados.

Estructura de la Petición

json
{
  "type": "AgriPhytosanitary",
  "dateApplication": "18-06-2025 14:30:00",
  "subtype": {
    "type": "TypePhytosanitary",
    "name": "Spotter WG",
    "code": "ES-00261"
  },
  "dose": 7.0,
  "measure": {
    "type": "Measure",
    "name": "Kilogramo por hectárea",
    "symbol": "kg/ha",
    "code": 17
  },
  "idcp": ["1", "2"],
  "applicator": {
    "user": {
      "type": "UserMetadata",
      "nif": "12345678Z",
      "ropo": "ES-12345678"
    }
  }
}

Detalles de los Campos

Información Temporal

  • dateApplication: Fecha y hora exacta de la aplicación (formato: "DD-MM-YYYY HH:mm:ss")
    • Importante: Debe ser una fecha reciente y coherente
    • Validación: El sistema verifica que sea una fecha válida

Información del Producto Fitosanitario

  • subtype.name: Nombre comercial exacto del producto
  • subtype.code: Código oficial del producto en el registro SIEX
    • Formato: "ES-XXXXX" para productos registrados en España
    • Validación: Debe existir en el catálogo oficial de productos autorizados

Información de Dosificación

  • dose: Cantidad numérica de producto aplicada
  • measure.symbol: Unidad de medida estándar (kg/ha, l/ha, g/ha, etc.)
  • measure.code: Código numérico de la unidad de medida
    • Validación: La dosis debe estar dentro de los límites autorizados para el producto

Información del Aplicador

  • applicator.user.nif: DNI/NIF del aplicador
  • applicator.user.ropo: Número ROPO del aplicador autorizado
    • Formato: "ES-XXXXXXXX" para aplicadores españoles
    • Validación: El ROPO debe estar vigente y autorizado

Ubicaciones de Aplicación

  • idcp: Array de identificadores obtenidos del endpoint anterior
    • Origen: Resultado del endpoint /listidcp
    • Uso: Define exactamente dónde se aplicó el tratamiento

Validaciones Automáticas del Sistema

El sistema realiza las siguientes verificaciones antes de aceptar el registro:

✅ Validaciones de Producto

  • Producto fitosanitario autorizado y vigente
  • Dosis dentro de los límites legales establecidos
  • Compatibilidad con el cultivo especificado

✅ Validaciones de Aplicador

  • ROPO válido y no suspendido
  • Autorización vigente para el tipo de producto
  • Datos de identificación correctos

✅ Validaciones de Ubicación

  • IDs de cultivo-ubicación válidos y activos
  • Parcelas correctamente configuradas en SIGPAC
  • Cultivos apropiados para el producto aplicado

✅ Validaciones Temporales

  • Fecha de aplicación dentro del rango válido
  • Coherencia con períodos de aplicación autorizados
  • Respeto a intervalos mínimos entre aplicaciones

Ejemplo de Respuesta

Respuesta que recibirás
json
[
  {
    "id": "urn:ngsi-ld:AgriPhytosanitary:2903",
    "type": "AgriPhytosanitary",
    "dateCreated": "",
    "dateModified": "",
    "subtype": {
      "type": "TypePhytosanitary",
      "id": 2899,
      "subtype": {
        "type": "SubtypePhytosanitary",
        "id": 1753,
        "idpdf": "96573",
        "code": "ES-00261",
        "comp": {
          "type": "Company",
          "id": 60,
          "name": "Trade Corporation International, S.a.u.",
          "nif": "A46715413"
        },
        "subs": {
          "type": "Substance",
          "id": "818",
          "name": "Kresoxim-Metil 25% + Difenoconazol 12,5% [Wg] P/P"
        },
        "detail": "",
        "ci": []
      },
      "name": "Spotter Wg",
      "tpd": [
        {
          "type": "TPD",
          "id": 2966,
          "idate": "30-06-2017",
          "edate": "15-03-2026",
          "ldate": ""
        }
      ],
      "prod": {
        "type": "TypeProduct",
        "id": 1,
        "name": "Producto fitosanitario registrado"
      }
    },
    "dose": "7",
    "typerisk": {
      "type": "TypeRisk",
      "id": "3",
      "name": "Medio",
      "detail": ""
    },
    "infection": null,
    "detail": null,
    "tj": [],
    "idtpismv": [],
    "distributed": "0",
    "reviewed": "0",
    "exported": "0",
    "batch": "",
    "soup": "0",
    "measure": null,
    "dt": "0",
    "mdt": null,
    "st": "0",
    "mst": null,
    "efficacy": {
      "type": "TypeEfficacy",
      "id": "1",
      "name": "Buena",
      "detail": ""
    },
    "preventive": "0",
    "pp": "0",
    "speed": "0",
    "recipe": "0",
    "surface": "0",
    "entrylimit": "0",
    "seclimit": "0",
    "machine": [],
    "idcp": ["1"],
    "regionalAttributes": [{}]
  }
]
Descripción de datos que recibirás
CampoTipoDescripción
idstringIdentificador único del tratamiento fitosanitario registrado en formato URN NGSI-LD
typestringTipo de entidad (AgriPhytosanitary)
dateCreatedstringFecha y hora de creación del registro
dateModifiedstringFecha y hora de última modificación del registro
subtypeobjectInformación completa del producto fitosanitario registrado
subtype.typestringTipo de dato (TypePhytosanitary)
subtype.idintegerIdentificador interno del tipo de fitosanitario
subtype.subtypeobjectDetalles específicos del subtipo de fitosanitario
subtype.subtype.typestringTipo de dato (SubtypePhytosanitary)
subtype.subtype.idintegerIdentificador del subtipo
subtype.subtype.idpdfstringID del documento PDF en el registro oficial MAPAMA
subtype.subtype.codestringCódigo oficial del producto (formato ES-XXXXX)
subtype.subtype.compobjectInformación de la compañía fabricante
subtype.subtype.comp.typestringTipo de dato (Company)
subtype.subtype.comp.idintegerIdentificador de la compañía
subtype.subtype.comp.namestringNombre de la empresa fabricante
subtype.subtype.comp.nifstringNIF de la empresa fabricante
subtype.subtype.subsobjectInformación de la sustancia activa del producto
subtype.subtype.subs.typestringTipo de dato (Substance)
subtype.subtype.subs.idstringIdentificador de la sustancia activa
subtype.subtype.subs.namestringNombre y concentración de la sustancia activa
subtype.subtype.detailstringDetalles adicionales del producto
subtype.subtype.ciarrayInformación sobre cultivos e infecciones autorizadas
subtype.namestringNombre comercial del producto fitosanitario
subtype.tpdarrayArray con datos de registro del producto
subtype.tpd[].typestringTipo de dato (TPD - TypePhytosanitaryDate)
subtype.tpd[].idintegerIdentificador del registro de fechas
subtype.tpd[].idatestringFecha de inscripción del producto (formato DD-MM-YYYY)
subtype.tpd[].edatestringFecha de expiración del registro (formato DD-MM-YYYY)
subtype.tpd[].ldatestringFecha límite de utilización (formato DD-MM-YYYY, puede estar vacío)
subtype.prodobjectTipo de producto fitosanitario
subtype.prod.typestringTipo de dato (TypeProduct)
subtype.prod.idintegerIdentificador del tipo de producto
subtype.prod.namestringDescripción del tipo (ej: Producto fitosanitario registrado)
dosestringDosis aplicada del producto
typeriskobjectEvaluación del nivel de riesgo del tratamiento
typerisk.typestringTipo de dato (TypeRisk)
typerisk.idstringIdentificador del nivel de riesgo
typerisk.namestringNombre del nivel de riesgo (ej: Bajo, Medio, Alto)
typerisk.detailstringDetalles adicionales del riesgo
infectionobject/nullInformación de la infección o plaga tratada (puede ser null)
detailstring/nullDetalles adicionales del tratamiento
tjarrayArray de tipos de justificación técnica para el tratamiento
idtpismvarrayIDs de tipos de plagas/infecciones/enfermedades
distributedstringIndica si el producto fue distribuido (0 = No, 1 = Sí)
reviewedstringIndica si el tratamiento ha sido revisado por técnico (0 = No, 1 = Sí)
exportedstringIndica si el tratamiento ha sido exportado a SIEX (0 = No, 1 = Sí)
batchstringNúmero de lote del producto aplicado
soupstringCantidad de caldo preparado
measureobject/nullUnidad de medida de la dosis
dtstringDosis total aplicada
mdtobject/nullMedida de la dosis total
ststringSuperficie tratada
mstobject/nullMedida de la superficie tratada
efficacyobjectEvaluación de la eficacia del tratamiento
efficacy.typestringTipo de dato (TypeEfficacy)
efficacy.idstringIdentificador del tipo de eficacia
efficacy.namestringEvaluación de eficacia (ej: Buena, Excelente, Media)
efficacy.detailstringDetalles adicionales sobre la eficacia
preventivestringIndica si es tratamiento preventivo (0 = No, 1 = Sí)
ppstringIndicador de producción propia
speedstringVelocidad de aplicación
recipestringID de la receta fitosanitaria asociada
surfacestringSuperficie total tratada en hectáreas
entrylimitstringPeríodo de reentrada en días (tiempo antes de entrar al área tratada)
seclimitstringPlazo de seguridad en días (tiempo antes de cosecha/consumo)
machinearrayArray de maquinaria utilizada en la aplicación
idcparrayArray de IDs cultivo-parcela donde se aplicó el tratamiento
regionalAttributesarrayArray de atributos regionales específicos

Información de la Respuesta

  • Confirmación del registro en CXTierra
  • Identificador único del tratamiento registrado (id)
  • Confirmación de envío a la plataforma SIEX del Ministerio

4. Consultar Aplicaciones Registradas

GET /agriphytosanitarys

Descripción

Recupera el historial completo de todas las aplicaciones fitosanitarias registradas para una explotación específica durante la campaña actual. Proporciona información detallada para auditorías, reportes y seguimiento de la actividad fitosanitaria.

Cuándo Usar

  • Generar reportes de tratamientos realizados en un período
  • Verificar registros después de realizar aplicaciones
  • Preparar auditorías internas o inspecciones oficiales
  • Analizar patrones de uso de productos fitosanitarios
  • Comprobar cumplimiento de las obligaciones de reporte

Endpoint

http
GET /v1/entities/agriphytosanitarys/?agrifarmId={agrifarm_id}

Parámetro Obligatorio

El parámetro agrifarmId es obligatorio en la URL. Ejemplo: urn:ngsi-ld:AgriFarm:159-159

Parámetros Opcionales

ParámetroDescripciónEjemplo
dateFromFecha inicio consulta"01-01-2025"
dateToFecha fin consulta"31-12-2025"
productFiltrar por producto específico"ES-00261"

Ejemplo de Respuesta

Respuesta que recibirás
json
[
  {
    "id": "urn:ngsi-ld:AgriPhytosanitary:2903",
    "type": "AgriPhytosanitary",
    "dateCreated": "",
    "dateModified": "",
    "subtype": {
      "type": "TypePhytosanitary",
      "id": 2899,
      "subtype": {
        "type": "SubtypePhytosanitary",
        "id": 1753,
        "idpdf": "96573",
        "code": "ES-00261",
        "comp": {
          "type": "Company",
          "id": 60,
          "name": "Trade Corporation International, S.a.u.",
          "nif": "A46715413"
        },
        "subs": {
          "type": "Substance",
          "id": "818",
          "name": "Kresoxim-Metil 25% + Difenoconazol 12,5% [Wg] P/P"
        },
        "detail": "",
        "ci": []
      },
      "name": "Spotter Wg",
      "tpd": [
        {
          "type": "TPD",
          "id": 2966,
          "idate": "30-06-2017",
          "edate": "15-03-2026",
          "ldate": ""
        }
      ],
      "prod": {
        "type": "TypeProduct",
        "id": 1,
        "name": "Producto fitosanitario registrado"
      }
    },
    "dose": "7",
    "typerisk": {
      "type": "TypeRisk",
      "id": "3",
      "name": "Medio",
      "detail": ""
    },
    "infection": null,
    "detail": null,
    "tj": [],
    "idtpismv": [],
    "distributed": "0",
    "reviewed": "0",
    "exported": "0",
    "batch": "",
    "soup": "0",
    "measure": null,
    "dt": "0",
    "mdt": null,
    "st": "0",
    "mst": null,
    "efficacy": {
      "type": "TypeEfficacy",
      "id": "1",
      "name": "Buena",
      "detail": ""
    },
    "preventive": "0",
    "pp": "0",
    "speed": "0",
    "recipe": "0",
    "surface": "0",
    "entrylimit": "0",
    "seclimit": "0",
    "machine": [],
    "idcp": ["1"],
    "regionalAttributes": [{}]
  }
]
Descripción de datos que recibirás
CampoTipoDescripción
idstringIdentificador único del tratamiento fitosanitario en formato URN NGSI-LD
typestringTipo de entidad (AgriPhytosanitary)
dateCreatedstringFecha y hora de creación del registro
dateModifiedstringFecha y hora de última modificación
subtypeobjectInformación del producto fitosanitario aplicado
subtype.typestringTipo de dato (TypePhytosanitary)
subtype.idintegerIdentificador interno del producto
subtype.subtypeobjectDetalles del subtipo de fitosanitario
subtype.subtype.typestringTipo de dato (SubtypePhytosanitary)
subtype.subtype.idintegerIdentificador del subtipo
subtype.subtype.idpdfstringID del documento PDF en registro oficial MAPAMA
subtype.subtype.codestringCódigo oficial del producto (formato ES-XXXXX)
subtype.subtype.compobjectInformación del fabricante
subtype.subtype.comp.typestringTipo de dato (Company)
subtype.subtype.comp.idintegerIdentificador de la compañía
subtype.subtype.comp.namestringNombre de la empresa fabricante
subtype.subtype.comp.nifstringNIF de la empresa
subtype.subtype.subsobjectSustancia activa del producto
subtype.subtype.subs.typestringTipo de dato (Substance)
subtype.subtype.subs.idstringIdentificador de la sustancia
subtype.subtype.subs.namestringNombre y concentración de la sustancia activa
subtype.subtype.detailstringDetalles adicionales
subtype.subtype.ciarrayCultivos e infecciones autorizadas
subtype.namestringNombre comercial del producto
subtype.tpdarrayDatos de registro y vigencia
subtype.tpd[].typestringTipo de dato (TPD)
subtype.tpd[].idintegerIdentificador del registro
subtype.tpd[].idatestringFecha de inscripción (DD-MM-YYYY)
subtype.tpd[].edatestringFecha de expiración (DD-MM-YYYY)
subtype.tpd[].ldatestringFecha límite de uso (DD-MM-YYYY)
subtype.prodobjectTipo de producto
subtype.prod.typestringTipo de dato (TypeProduct)
subtype.prod.idintegerIdentificador del tipo
subtype.prod.namestringDescripción del tipo de producto
dosestringDosis aplicada
typeriskobjectNivel de riesgo del tratamiento
typerisk.typestringTipo de dato (TypeRisk)
typerisk.idstringIdentificador del riesgo
typerisk.namestringNivel (Bajo, Medio, Alto)
typerisk.detailstringDetalles del riesgo
infectionobject/nullInfección o plaga tratada
detailstring/nullDetalles adicionales
tjarrayJustificaciones técnicas
idtpismvarrayIDs de plagas/infecciones
distributedstringProducto distribuido (0/1)
reviewedstringRevisado por técnico (0/1)
exportedstringExportado a SIEX (0/1)
batchstringNúmero de lote
soupstringCantidad de caldo
measureobject/nullUnidad de medida de dosis
dtstringDosis total aplicada
mdtobject/nullMedida de dosis total
ststringSuperficie tratada
mstobject/nullMedida de superficie
efficacyobjectEficacia del tratamiento
efficacy.typestringTipo de dato (TypeEfficacy)
efficacy.idstringIdentificador
efficacy.namestringEvaluación de eficacia
efficacy.detailstringDetalles de eficacia
preventivestringTratamiento preventivo (0/1)
ppstringProducción propia
speedstringVelocidad de aplicación
recipestringID de receta asociada
surfacestringSuperficie total en hectáreas
entrylimitstringPeríodo de reentrada (días)
seclimitstringPlazo de seguridad (días)
machinearrayMaquinaria utilizada
idcparrayIDs cultivo-parcela tratados
regionalAttributesarrayAtributos regionales

Información Devuelta en Consulta

La respuesta incluye para cada aplicación registrada:

Datos del Tratamiento

  • Fecha y hora de aplicación
  • Producto utilizado y código oficial
  • Dosis aplicada y unidad de medida
  • Ubicaciones tratadas (códigos SIGPAC)

Datos del Aplicador

  • Identificación del aplicador (NIF)
  • Número ROPO y autorización
  • Fecha de registro del tratamiento

Metadatos del Sistema

  • Identificador único del registro
  • Estado de envío a SIEX
  • Fechas de creación y modificación

5. Exportar CUE

POST /exportCUE

Descripción

Registra oficialmente la aplicación de un producto fitosanitario. Este endpoint realiza todas las validaciones necesarias según la normativa del Ministerio y registra el tratamiento en la plataforma SIEX oficial.

Cuándo Usar

  • Para cumplir con las obligaciones legales de reporte al Ministerio
  • Como parte del proceso de trazabilidad obligatorio

Endpoint

http
POST /v1/entities/siex/exportCUE?agrifarmId={agrifarm_id}

Parámetro Obligatorio

El parámetro agrifarmId es obligatorio en la URL. Ejemplo: urn:ngsi-ld:AgriFarm:159-159

Estructura de Petición

json
[
  {
    "id": "urn:ngsi-ld:AgriPhytosanitary:2941"
  },
  {
    "id": "urn:ngsi-ld:AgriPhytosanitary:2942"
  }
]

Detalles de los Campos

IDs de Tratamientos

  • id: Identificador único de cada tratamiento fitosanitario registrado
    • Origen: Obtenido de la respuesta del endpoint de registro
    • Uso: Especifica qué tratamientos enviar al Ministerio

Validación en SIEX

El sistema de la administración realiza las verificaciones que serán notificadas a posteriori por correo.

Ejemplo de Respuesta

Respuesta que recibirás
json
{
  "id": 311,
  "status": "Iniciando",
  "message": "Job 311 executed. The system will send an email once it is finished."
}
Descripción de datos que recibirás
CampoTipoDescripción
idintegerID del trabajo asíncrono (jobId) - usar este valor para consultar el estado y resultado del proceso
statusstringEstado inicial del trabajo (ej: "Iniciando")
messagestringMensaje de confirmación indicando que el proceso de exportación ha comenzado en segundo plano y se notificará por email cuando finalice

Seguimiento del Proceso de Exportación

El proceso de exportación a SIEX es asíncrono. Utiliza el id (jobId) devuelto para consultar el progreso:

1. Consultar Estado del Trabajo

Usa el endpoint Job Status para verificar el progreso:

bash
curl -X GET "https://api.plataformatierra.es/api-cxtierra/v1/entities/jobstatus?jobId=311" \
  -H "Ocp-Apim-Subscription-Key: TU_Ocp-Apim-Subscription-Key" \
  -H "Ocp-Apim-Sid-Key: TU_Ocp-Apim-Sid-Key"

Respuesta de ejemplo:

json
{
  "type": "JobAsync",
  "id": "311",
  "inidate": "29-09-2025 10:22:40",
  "status": {
    "type": "JobStatus",
    "id": "3",
    "name": "FinalizadoCompleto"
  },
  "percentage": 100,
  "error": null
}

2. Obtener Resultado Final

Una vez que percentage sea 100 y status.name sea "FinalizadoCompleto", consulta el resultado:

bash
curl -X GET "https://api.plataformatierra.es/api-cxtierra/v1/entities/jobresult?jobId=311" \
  -H "Ocp-Apim-Subscription-Key: TU_Ocp-Apim-Subscription-Key" \
  -H "Ocp-Apim-Sid-Key: TU_Ocp-Apim-Sid-Key"

Respuesta de ejemplo:

json
{
  "data": [
    {
      "result": "ok",
      "id": -1
    }
  ],
  "error": []
}

Documentación Completa

Para información detallada sobre los servicios de trabajos asíncronos, consulta la sección Servicios de Trabajos Asíncronos en la documentación de Entidades.

Notificación por Email

Una vez termine la subida, se enviará un correo electrónico con el estado final del proceso. Sin embargo, puedes consultar el estado en tiempo real usando los endpoints de Job Status y Job Result.


Códigos de Respuesta HTTP

Respuestas Exitosas

CódigoSignificadoDescripción
200 OKConsulta exitosaDatos recuperados correctamente
201 CreatedRegistro creadoAplicación registrada exitosamente

Errores de Autenticación (401)

ErrorCausa ProbableSolución
Credenciales incorrectasAPI Key o SID inválidosVerificar credenciales en portal desarrollador
Token expiradoCredenciales caducadasRenovar credenciales con soporte técnico

Errores de Validación (400)

ErrorCausa ProbableSolución
Datos incompletosCampos obligatorios faltantesRevisar estructura de petición
Formato incorrectoFecha o datos mal formateadosUsar formato DD-MM-YYYY HH:mm:ss
ROPO inválidoAplicador no autorizadoVerificar número ROPO y vigencia

Errores de Negocio (422)

ErrorCausa ProbableSolución
Producto no autorizadoFitosanitario no registradoUsar productos del catálogo oficial
Dosis excesivaLímites legales superadosRevisar dosis máximas autorizadas
Cultivo incompatibleProducto no apto para cultivoVerificar compatibilidad producto-cultivo

Errores de Recurso (404)

ErrorCausa ProbableSolución
Explotación no encontradaREA incorrecto o no registradoVerificar código REA y año
IDs inválidosCultivo-ubicación no configuradoRegenerar IDs con endpoint /listidcp

Errores del Servidor (5xx)

CódigoDescripciónAcción Recomendada
500Error interno del servidorReintentar o contactar soporte
503Servicio temporalmente no disponibleEsperar y reintentar

Estrategias de Manejo de Errores

1. Implementar Reintentos Inteligentes

  • Errores 5xx: Reintentar con backoff exponencial
  • Errores 429: Respetar rate limiting
  • Errores 4xx: No reintentar, corregir datos primero

2. Validación Local Previa

  • Verificar formato de fechas antes de enviar
  • Validar existencia de códigos ROPO
  • Comprobar rangos de dosis permitidas

3. Logging Detallado

  • Registrar todas las peticiones y respuestas
  • Incluir timestamps y identificadores únicos
  • Mantener logs para auditorías

4. Configurar Alertas

  • Errores recurrentes (>5 en 1 hora)
  • Fallos de autenticación repetidos
  • Problemas de conectividad prolongados

Límites y Restricciones

Límites de la API

  • Rate Limit: Máximo 100 peticiones por minuto por cliente
  • Tamaño de petición: Máximo 1MB por request
  • Tiempo de respuesta: Timeout a los 30 segundos
  • Registros retroactivos: Máximo 7 días hacia atrás

Formatos y Estándares

Formatos de Fecha y Hora

Todos los timestamps en la API siguen el formato:

  • Formato estándar: DD-MM-YYYY HH:mm:ss
  • Zona horaria: Hora local española (CET/CEST)
  • Ejemplo válido: 18-06-2025 14:30:00

Códigos de Referencia

Códigos SIGPAC

Los códigos SIGPAC identifican ubicaciones agrícolas específicas:

text
{provincia}-{municipio}-{agregado}-{zona}-{polígono}-{parcela}-{recinto}
Ejemplo: 24-90-0-0-409-37-5

Códigos de Producto

Los productos fitosanitarios usan códigos oficiales del registro:

text
Formato: ES-XXXXX
Ejemplo: ES-00261 (Spotter WG)

Códigos ROPO

Los aplicadores autorizados tienen números ROPO:

text
Formato: ES-XXXXXXXX
Ejemplo: ES-12345678

Próximos Pasos

Documentación Complementaria

Para más información sobre la arquitectura y casos de uso, consulta la Introducción a Pasarela SIEX.

Soporte

Para soporte técnico adicional:

Todos los derechos reservados.