BigFrut · Referencia técnica · v1.0

API Pública de Escaneos

Documentación de las APIs públicas de BigFrut para consultar los resultados de escaneos: campos asociados a un usuario, estadísticas por campo y el detalle de una capa de datos.

Versión 1.0 · Abril 2025

01 Introducción

Este documento describe el uso de tres APIs públicas de BigFrut para la consulta de datos de escaneos.

Quien las utilice debe contar con un usuario y contraseña entregados por BigFrut. Ese usuario solo puede acceder a los campos que le fueron asignados. A cada empresa que integra la API se le entrega además una API key propia, que debe incluirse en cada llamada.

Por seguridad, esta documentación no incluye API keys ni tokens reales. Para obtener credenciales de prueba o de producción, contacta a nuestro equipo — ver Solicitar acceso.

02 Autenticación

Todas las llamadas requieren un header de autenticación con la API key entregada a tu empresa:

Header
Authorization: Bearer <API_KEY_DE_TU_EMPRESA>

Además, dentro del body de cada request, los endpoints que consultan datos de usuario piden user y password. La contraseña nunca se envía en texto plano: debe encriptarse con el método md5(sha1('contraseña del usuario')) antes de incluirla en el request.

03 Formato de la petición

La API de BigFrut expone un único endpoint. Todas las operaciones se distinguen por el campo flowName dentro del body:

Endpointhttps://app.bigfrut.cl/png/gtw/sendMessage/flow
MétodoPOST
Content-Typeapplication/json

Estructura general del body:

Body
{
  "flowName": "<operación>",      // Nombre de la operación
  "appId": "APP",               // Identificador de la app consumidora
  "extRequest": "1",           // Siempre "1"
  "TransactionType": "1",      // Siempre "1"
  "parameters": { … }         // Parámetros propios de cada operación
}

Toda respuesta incluye status ("SUCCESS" cuando la operación fue exitosa) y description con el detalle de la operación.

04 getFarms

POST bigfrut/public/getFarms

Recupera los campos (huertos) asociados al usuario autenticado.

Parámetros

CampoTipoDescripción
userstringCorreo del usuario de la aplicación.
passwordstringContraseña encriptada con md5(sha1(password)).

Request

{
  "flowName": "bigfrut/public/getFarms",
  "appId": "APP",
  "extRequest": "1",
  "TransactionType": "1",
  "parameters": {
    "user": "<email>",
    "password": "<password encriptada>"
  }
}

Response

{
  "farms": [
    {
      "id": 1,
      "name": "<Nombre campo>",
      "lat": -34.545877,
      "lng": -70.972832
    }
  ],
  "status": "SUCCESS",
  "description": "OK"
}

05 getFarmsStatistics

POST bigfrut/public/getFarmsStatistics

Recupera las estadísticas de escaneo de un campo, agrupadas por fecha, cultivo y producto.

Parámetros

CampoTipoDescripción
userstringCorreo del usuario de la aplicación.
passwordstringContraseña encriptada con md5(sha1(password)).
farmIdnumberID del campo.
plotIdstringOpcional. ID del lote/cuartel.

Request

{
  "flowName": "bigfrut/public/getFarmsStatistics",
  "appId": "APP",
  "extRequest": "1",
  "TransactionType": "1",
  "parameters": {
    "user": "<email>",
    "password": "<password encriptada>",
    "farmId": 1,
    "plotId": "1"
  }
}

Response

La respuesta agrupa estadísticas por fecha de escaneo. Cada fecha incluye el cultivo, los cuarteles escaneados (si no se filtró por plotId) y los productos contratados, cada uno con su segmentación en 5 rangos (equivalente a la leyenda del mapa) y sus estadísticas resumen.

{
  "stats": [
    {
      "date": "2025-02-10",
      "cropId": "8",
      "crop": "Uva de Mesa",
      "plots": ["1", "2"],
      "products": [
        {
          "code": "layer_frutos",
          "productId": "162",
          "label": "Frutos/Planta",
          "attribute": "tct",
          "vendorId": 1,
          "scanFileId": 1,
          "intervals": {
            "xMin": 0,
            "xMax": 99.46,
            "median": 67.63,
            "amplitude": 19.89,
            "n": 31769,
            "data": [
              { "from": 0, "to": 19.89, "q": 116, "hectares": 9.95, "percent": 0.37 }
            ]
          },
          "stat": {
            "value": 2.82,
            "label": "Superficie escaneada 2.82 ha",
            "frameLabel": "Marco de plantacion 3.50 x 2.50",
            "frameValue": 8.75,
            "params": [
              { "label": "Frutos totales", "value": "219863" },
              { "label": "Frutos/planta", "value": "68" },
              { "label": "Frutos/ha", "value": "77965" }
            ]
          }
        }
      ]
    }
  ],
  "status": "SUCCESS",
  "description": "OK"
}

Campos de referencia

CampoDescripción
intervalsDivisión de los resultados en 5 segmentos de zonificación, equivalente a la leyenda del mapa. n es el número equivalente al producto (p. ej., número de racimos).
statEstadísticas resumen del escaneo para ese producto: superficie escaneada, marco de plantación y parámetros calculados.
vendorId / scanFileIdIdentifican el proveedor y el archivo de escaneo; se usan como parámetros de entrada de getPlotDataLayer.

06 getPlotDataLayer

POST bigfrut/public/getPlotDataLayer

Recupera el detalle punto a punto (o polígono a polígono) de una capa de datos específica, identificada por los valores obtenidos previamente en getFarmsStatistics.

Parámetros

CampoTipoDescripción
farmIdnumberID del campo.
plotIdstringOpcional. ID del lote/cuartel.
cropIdnumberID del cultivo.
vendorIdnumberID del vendor, recuperado en getFarmsStatistics.
scanFileIdnumberID del archivo, recuperado en getFarmsStatistics.
attributestringAtributo, recuperado en getFarmsStatistics.
codestringCódigo de producto, recuperado en getFarmsStatistics.
datestringFecha del escaneo (YYYY-MM-DD).

Request

{
  "flowName": "bigfrut/public/getPlotDataLayer",
  "appId": "APP",
  "extRequest": "1",
  "TransactionType": "1",
  "parameters": {
    "farmId": 337,
    "plotId": "2088",
    "cropId": 8,
    "vendorId": 1,
    "scanFileId": 2,
    "attribute": "area",
    "code": "layer_arquitectura",
    "date": "2025-02-10"
  }
}

Response

header describe las columnas de cada fila de data: la posición geográfica (WKT) y el valor del atributo consultado en ese punto o polígono.

{
  "header": ["position", "value"],
  "data": [
    ["POINT(-70.97168132751291 -34.54831238807667)", 0.552]
  ],
  "status": "SUCCESS",
  "description": "OK"
}

07 Solicitar acceso

Para obtener tu usuario, contraseña y API key de BigFrut —de prueba o de producción— escríbenos a gcortesr@anasac.cl indicando tu empresa y los campos a los que necesitas acceder.