Módulos del SDK
Los siguientes módulos te permitirán interactuar con los distintos componentes del SDK.
Módulo General Data
Provee funciones que brindan información general del usuario y sobre los campos y lotes visibles en la interfaz.
getUserData()
Provee información general sobre el usuario.
Parámetros
No requiere parámetros.
Retorna
Un objeto con toda la información del usuario logueado:
- id: string
- tipo_usuario: string
- datos: object
- nombre: string
- apellido: string
- email: string
- locale: string
 
- admin: boolean
- supervisor: boolean
getFarms()
Provee información general sobre los campos y lotes del usuario.
Parámetros
No requiere parámetros.
Retorna
Arreglo de objetos con la información de cada uno de los campos a los que tiene acceso el usuario:
- id: String
- nombre: String
- bounds: Array [ xmin, ymin, xmax, ymax ]
- permisos: Number[]
- role: Number
- supervised: Object[]
- lotes: Object[]
- id: number
- nombre: String
- country: String
- wkt: String
- bounds: Array [ xmin, ymin, xmax, ymax ]
- centroide: string
- area: Number
- permisos: Number[]
- role: Number
 
getFarmById()
Provee información sobre un campo específico.
Parámetros
| Parámetro | Tipo | Descripción | 
|---|---|---|
| farmID | number | id del campo del cual se requiere información | 
Retorna
Objeto con la información del campo solicitado:
- id: number
- bounds: Array [ xmin, ymin, xmax, ymax ]
- nombre: string
- lotes: Array [object,...]
- id: number
- bounds: Array [ xmin, ymin, xmax, ymax ]
- centroide: string
- area: number
- nombre: string
- wkt: string
 
getFieldById()
Provee información sobre un lote específico.
Parámetros
| Parámetro | Tipo | Descripción | 
|---|---|---|
| fieldID | number | id del lote del cual se requiere información | 
Retorna
Objeto con la información del lote solicitado:
- id: number
- bounds: Array [ xmin, ymin, xmax, ymax ]
- centroide: string
- area: number
- nombre: string
- wkt: string
getSpacesData()
Provee información sobre el espacio, en caso de existir, del usuario logueado.
Parámetros
No requiere parámetros.
Retorna
Objeto con la información del lote solicitado:
- id: number
- logo: string
- thumbnail: string
- color: string
- nombre: string
getGlobalUnits()
Provee las unidades del usuario logeado.
Parámetros
No requiere parámetros.
Retorna
Arreglo con objetos que contienen la información de cada unidad. Tal que cada objeto contiene:
- group: string (A que clase de unidades pertenece)
- description: string (Descripción extendida de la unidad)
- unit: string (Unidad)
async_refreshFarmsData()
Refresca la información sobre los campos que posee el usuario.
Parámetros
No requiere parámetros.
Retorna
Una promesa con la información de los campos del usuario:
- result: String ('success'|'error')
- info: Object[]
- id: String
- nombre: String
- bounds: Array [ xmin, ymin, xmax, ymax ]
- permisos: Number[]
- role: Number
- supervised: Object[]
- lotes: Object[]
- id: number
- nombre: String
- country: String
- wkt: String
- bounds: Array [ xmin, ymin, xmax, ymax ]
- centroide: string
- area: Number
- permisos: Number[]
- role: Number
 
 
async_getComponentsData()
Brinda información sobre la interfaz que el usuario está visualizando en la plataforma. En específico: ancho y alto del mapa y del menú lateral. De este último, además nos indica si el mismo se encuentra abierto o cerrado.
Parámetros
No requiere parámetros.
Retorna
Una promesa con la información mencionada:
- result: string ('success'|'error')
- info: Objeto
- map: Object
- width: number
- height: number
 
- sidenav: Object
- width: number
- height: number
 
 
- map: Object
async_getScreenData()
Brinda información sobre la interfaz del mapa que el usuario está visualizando en la plataforma, alto y ancho del mismo.
Parámetros
No requiere parámetros.
Retorna
Una promesa con la información mencionada:
- result: string ('success'|'error')
- info: objeto
- width: number
- height: number
 
async_getSamplings()
Brinda los muestreos correspondientes a los lotes que se envien como argumento.
Parámetros
| Parámetro | Tipo | Descripción | 
|---|---|---|
| fieldsId | number[] | Ids de los lotes cuyos muestreos se deseen obtener | 
Retorna
Una promesa con los muestreos de los lotes correspondientes agrupados por lote.
Operación exitosa:
- result: string;
- info: {[key: string]: Sampling[]};
Cada tipo sampling cumple con la interfaz:
interface Sampling {
  groups: {
    samples?: {
      code?: string;
      spot_data?: {
        code?: string;
        spot_data?: {
          variables?: {
            name?: string;
            value?: number;
            unit_id?: number;
            [key: string]: any;
          }[];
          sampling?: {
            analysis?: string;
            [key: string]: any;
          };
        };
        spot_uuid?: string;
      };
      spot_uuid?: string;
    }[];
    group_data?: {
      [key: string]: {
        color?: string;
        name?: string;
      };
    };
    group_uuid?: string;
  }[];
  yeargroup: number;
  created_at: string;
  field_id: number;
  zoning: {
    info?: {
      date?: string;
      layer?: string;
      operation?: string;
      hour?: string;
      provider?: string;
    };
    type?: string;
  };
  analysis: {
    [key: string]: {
      name?: string;
      unit_id?: number;
    }[];
  };
  field_uuid: string;
  sampling_name: string;
  points: {
    geometry?: string;
    point_uuid?: string;
    checked?: number;
    created_at?: string;
    group_uuid?: string;
  }[];
  group_assigned_id: number;
  sampling_uuid: string;
  closed_at: any;
  sample_set_uuid: string;
}
async_createField
:Atención: No disponible en mobile todavía
Crea un lote según el objeto de configuración enviado.
Parámetros
Recibe un objeto de configuración con las siguientes propiedades:
- fieldName: string. Nombre del nuevo lote.
- polygon: string. WKT del neuvo lote
- farmId:: number. (Opcional) id del campo al que pertenece el nuevo lote.
- farmName: string. (Opcional) nombre del nuevo campo al que pertenece el lote, en caso de crear un campo nuevo.
Nota: Al menos uno de las propiedades 'farmId' o 'farmName' debe ser enviado.
Retorna
En caso de ser una operación existosa:
- result: success
- info:
- res: string. Resultado de la operación.
- fieldId: number. Id del lote creado.
- farmId: farmId. Id del campo al cual se agregó el lote (Útil en caso de haber creado un campo).
- info: string. Descripción del resultado de la operación.
 
- res: 
En caso de ser una operación no exitosa:
- result: error
- info
- res: string. Resultado de la operación.
- code: number. Código del error.
- info: string. Descripción del resultado de la operación.
 
- res: 
Módulo State
Provee funciones que brindan información, o permiten modificar el estado de la interfaz.
async_getActualFarm()
Retorna los datos del campo seleccionado actualmente en la interfaz.
Parámetros
No requiere parámetros.
Retorna
Una promesa con el objeto campo en su información.
- result: string ('success'|'error')
- info: objeto
- id: number
- bounds: Array [ xmin, ymin, xmax, ymax ]
- nombre: string
- lotes: Array [object,...]
- id: number
- bounds: Array [ xmin, ymin, xmax, ymax ]
- centroide: string
- area: number
- nombre: string
- wkt: string
 
 
async_getActualField()
Retorna los datos del lote seleccionado actualmente en la interfaz.
Parámetros
No requiere parámetros.
Retorna
Una promesa con el objeto lote en su información.
- result: string ('success'|'error')
- info: objeto
- id: number
- bounds: Array [ xmin, ymin, xmax, ymax ]
- centroide: string
- area: number
- nombre: string
- wkt: string
 
async_getCurrentCampaign()
Retorna los datos de la campaña actual.
Parámetros
No requiere parámetros.
Retorna
Una promesa con la información de la campaña actual en un objeto.
- result: string ('success'|'error')
- info: objeto
- text: string
- value: number