upCampo API referencia de integración
URL base https://api.upcampo.com.br

API upCampo

Referencia de integración — actualizada el . Escrita por .

La API de servicios de la plataforma upCampo ofrece un medio de integración con otros sistemas de forma fácil e independiente de la tecnología. Se basa en llamadas HTTP/HTTPS de tipo GET y POST, con cuerpo en formato JSON. Por lo tanto, cualquier sistema capaz de realizar una llamada HTTP/HTTPS convencional puede usar los diversos servicios ofrecidos.

En la práctica, el ERP del cliente (Siagri, Sankhya y otros) trae registros y movimientos de upCampo, y devuelve su propio identificador —el ID_REFERENCIA— para vincular los dos lados. Ese campo sostiene toda la integración; conviene leer la sección ID_REFERENCIA antes de escribir la primera línea de código.

Habilitación caso por caso

En teoría es posible crear un endpoint para cualquier tabla de la plataforma. Sin embargo, la habilitación se hace caso por caso, según el análisis de la necesidad. Contacte al equipo de upCampo para solicitar un endpoint que no esté en esta página.

Cómo leer esta página

  • La columna de la izquierda describe el endpoint, los parámetros y los campos.
  • La columna de la derecha trae la solicitud lista y un ejemplo de respuesta real.
  • Todos los ejemplos usan $TOKEN en lugar del token obtenido en /autenticar.

Explorar y probar

Esta página explica qué significa cada endpoint. Para ver la lista completa en formato interactivo —con los campos, los schemas y un botón que dispara la llamada—, use el explorador:

🧪 Explorar los endpoints →

Especificación legible por máquina

Además de esta página, la API tiene una especificación OpenAPI 3.1 con todos los endpoints, parámetros, cuerpos y respuestas. Impórtela en Postman, Insomnia, Swagger UI o en un generador de clientes:

Integración en tres pasos
# 1. autentica y guarda el token (vale 24 horas)
curl -X POST https://api.upcampo.com.br/autenticar \
  -H 'Content-Type: application/json' \
  -d @credenciais.json

# 2. consume los datos con el token en el encabezado
curl https://api.upcampo.com.br/produto \
  -H 'Authorization: Bearer $TOKEN'

# 3. devuelve el id de su sistema a upCampo
curl -X POST 'https://api.upcampo.com.br/produtoReferencia?id_upcampo=F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F&id_referencia=25' \
  -H 'Authorization: Bearer $TOKEN'

URL base

La URL de solicitud sigue siempre el mismo patrón, sin importar el servicio:

https://api.upcampo.com.br

A lo largo de esta página, URL BASE significa esa dirección. El servidor también responde en http://api.upcampo.com.br, pero use HTTPS: el tráfico lleva su token.

Parámetros

  • En GET, los parámetros van siempre en la URL. El nombre del parámetro distingue mayúsculas de minúsculas y, por convención, va todo en minúsculas.
  • Si hay más de uno, concaténelos con &.
  • No hace falta poner comillas en los strings.
  • Los valores con espacio o tilde deben codificarse en la URL (espacio = %20).

Formato de las fechas

Son tres formatos, y cada uno aparece en un lugar. Lo que se envía es siempre el estándar ISO —año, mes, día, en ese orden, con guion—:

Dónde Formato Ejemplo
Filtro de período en la URL — data_inicial, data_final AAAA-MM-DD 2024-08-19
Filtro de modificación en la URL — datmod_inicial AAAA-MM-DD HH:MM:SS 2024-03-15 07:00:00
Campo de fecha en el cuerpo de un POST — DATA, DATPLA, DATCOL, DATVEN AAAA-MM-DD 2024-08-19
En las respuestas vienen los dos

Donde la respuesta trae una fecha, suele traer el par: DATA en el formato AAAA-MM-DD, para que su sistema la procese, y DATASTRING en dd/mm/aaaa, para mostrarla en pantalla. Lo mismo vale para DATPRE / DATPRESTRING y DATFIN / DATFINSTRING en la orden de servicio. Algunos campos vuelven con hora y huso horario (2023-12-12T12:55:15.532Z): trátelos como fecha/hora completa, no corte el string.

No use dd/mm/aaaa en el envío

El valor del filtro va directo a la consulta en la base de datos. En AAAA-MM-DD no hay ambigüedad; en 31/01/2024 la lectura depende de la configuración del servidor y la consulta puede fallar o —peor— devolver el período equivocado sin avisar.

Sin data_inicial, la ruta no devuelve nada en lugar de indicar un error. Si la respuesta llega vacía sin motivo aparente, verifique primero si se envió el parámetro de fecha y si está escrito exactamente así: el nombre también distingue mayúsculas de minúsculas.

Un parámetro
https://api.upcampo.com.br/talhao?setor=BOA VISTA
Más de un parámetro
https://api.upcampo.com.br/plantio_safra?id_safra=xyz&id_cultura=zyx

Autenticación POST

URL BASE + /autenticar

La autenticación usa un Client ID y un Client Secret que upCampo entrega al socio en un archivo de credenciales en formato JSON. Ese par es individual por socio × empresa × establecimiento; es decir, cada establecimiento exige un Client ID y un Client Secret propios.

La empresa y el establecimiento vienen del token

Al habilitar el Client ID y el Secret, el ID de la empresa y el ID del establecimiento quedan fijados internamente en la API. Cada endpoint devuelve solo datos de esa empresa y de ese establecimiento; no existe parámetro para cambiarlo en la llamada.

Si la autenticación tiene éxito, la API devuelve un token con validez fijada en 24 horas. El cuerpo de la respuesta trae solo access_token y token_type: el plazo queda dentro del propio token, en el campo exp del JWT.

Use el token hasta que expire

No genere un token nuevo en cada llamada. Son como máximo 10 intentos de autenticación cada 15 minutos por client_id; si se supera, la API responde 429 y el encabezado Retry-After indica en cuántos segundos vuelve el acceso.

El límite es por client_id, así que un socio que se excede no afecta a los demás. Quien genera un token por día y lo reutiliza nunca lo alcanza: el token vale 24 horas.

A partir de la generación del token, toda llamada siguiente debe incluirlo en el encabezado, como bearer token:

Authorization: Bearer <token>

Cuerpo de la solicitud

Campo Tipo Observación
client_id String Lo entrega upCampo.
client_secret String Lo entrega upCampo.
audience String https://api.upcampo.com.br
grant_type String client_credentials

upCampo entrega este JSON listo al socio.

Solicitud
curl -X POST https://api.upcampo.com.br/autenticar \
  -H 'Content-Type: application/json' \
  -d '{
    "client_id": "CLIENT ID QUE A UPCAMPO LHE INFORMARÁ",
    "client_secret": "CLIENT SECRET QUE A UPCAMPO LHE INFORMARÁ",
    "audience": "https://api.upcampo.com.br",
    "grant_type": "client_credentials"
  }'
Cuerpo (body)
{
  "client_id": "CLIENT ID QUE A UPCAMPO LHE INFORMARÁ",
  "client_secret": "CLIENT SECRET QUE A UPCAMPO LHE INFORMARÁ",
  "audience": "https://api.upcampo.com.br",
  "grant_type": "client_credentials"
}
Token generado200
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…",
  "token_type": "Bearer"
}
No autorizado401
{
  "status": "Invalid token"
}
Demasiados intentos429
{
  "status": "Erro",
  "error": "Muitas tentativas de autenticação. Gere o token uma vez e use-o até expirar (24 horas), em vez de gerar um por chamada. Tente de novo em 900 segundos."
}

Probar el token GET

URL BASE + /teste

Haga un GET simple a la ruta teste, con el bearer token informado. Es la forma liviana de verificar el token, sin sobrecargar ninguna ruta de datos ni la base de datos.

Respuestas posibles

Situación HTTP Contenido
Autorizado 200 OK status, mensagem y nome: el nombre del token trae el establecimiento y el ambiente (PROD u HOMOLOGACAO).
Token no reconocido 401 "error": "Token não inválido"
Token no informado 401 "error": "Token não fornecido"
Solicitud
curl https://api.upcampo.com.br/teste \
  -H 'Authorization: Bearer $TOKEN'
Autorizado200
{
  "status": "Sucesso",
  "mensagem": "Hello world, você está na API da upCampo!",
  "nome": "Nome do token, nome da fazenda + PROD ou HOMOLOCACAO"
}
Token inválido401
{
  "status": "Erro",
  "error": "Token não inválido"
}
Token ausente401
{
  "status": "Erro",
  "error": "Token não fornecido"
}

Códigos de respuesta

La API usa el estándar de los códigos HTTP en cada llamada.

Código Significado
200 Autorizado: funcionó.
400 Error de solicitud: antes de llegar al servidor, error primario o error de la base de datos (columna inexistente, por ejemplo).
401 El token expiró o no es válido; hay que generarlo de nuevo. El motivo detallado viene en el cuerpo de la respuesta.
429 Demasiados intentos de autenticación para el mismo client_id: límite de 10 cada 15 minutos. El encabezado Retry-After indica en cuántos segundos vuelve el acceso.
500 Error de validación: la solicitud llegó a la base de datos y alguna regla rechazó el registro. El cuerpo devuelve el array de resultados con STATUS: "ERRO".

Cuando ocurre un error de base de datos, la respuesta estándar es un JSON con status y detalhe, con HTTP 400 (el ejemplo de al lado).

Error de base de datos400
{
  "status": "Erro",
  "detalhe": {
    "message": "Invalid column name 'teste'.",
    "code": "EREQUEST",
    "number": 207,
    "state": 1,
    "class": 16,
    "serverName": "pragueiroserver",
    "procName": "",
    "lineNumber": 1
  }
}

Reglas generales de los endpoints

  • Todas las tablas tienen una columna llamada ID_REFERENCIA. En ella queda el identificador del registro en el sistema del socio.
  • En POST, envíe todos los atributos del JSON en MAYÚSCULAS.
  • Para eliminar, informe el atributo DELETADO con valor true.
  • El cuerpo de un POST es siempre un array: se pueden enviar varios registros en la misma solicitud.

¿Inserción o actualización?

Lo decide el ID_REFERENCIA. Al recibir un POST, upCampo busca en la tabla correspondiente un registro con ese ID_REFERENCIA:

  • no existe → es una inserción;
  • ya existe → es una actualización.

Respuesta estándar de escritura

Campo Significado
TABELA Tabla en cuestión, que se va a incluir o modificar.
ID_UPCAMPO Identificador interno de upCampo. Aquí lo obtiene el socio, en caso de que necesite guardarlo.
ID_REFERENCIA Identificador del sistema del socio. Al enviar más de un registro en la misma solicitud, el socio recorre el resultado para saber el estado de cada id suyo.
STATUS Tres opciones: INCLUIDO, ALTERADO o ERRO.
MENSAGEM Cuando el estado es ERRO, describe el motivo.
Documentos con encabezado e ítems

En movimiento y transferencia la respuesta trae una línea CABECALHO y una línea DETALHE por ítem. Basta una línea con STATUS: "ERRO" para que no se grabe el documento entero.

Éxito200
[
  {
    "TABELA": "PRODUTO",
    "ID_UPCAMPO": "7B6E1387-E3BC-4DE9-B8F2-63703B4F9495",
    "ID_REFERENCIA": "30",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]
Documento finalizado500
[
  {
    "TABELA": "CABECALHO",
    "ID_UPCAMPO": "B674DF03-052C-427D-9CCD-FFA553F88D18",
    "ID_REFERENCIA": "21",
    "STATUS": "ERRO",
    "MENSAGEM": "Documento finalizado não pode ser alterado"
  }
]
Producto no encontrado en el ítem500
[
  {
    "TABELA": "CABECALHO",
    "ID_UPCAMPO": "31ACB79E-0FF8-453D-9AD2-0608C935D960",
    "ID_REFERENCIA": "22",
    "STATUS": "ERRO",
    "MENSAGEM": "Problema em algum item do documento"
  },
  {
    "TABELA": "DETALHE",
    "ID_UPCAMPO": "DBB01E35-53E5-453B-A7E2-03552B125992",
    "ID_REFERENCIA": "22_A",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  },
  {
    "TABELA": "DETALHE",
    "ID_UPCAMPO": null,
    "ID_REFERENCIA": "22_B",
    "STATUS": "ERRO",
    "MENSAGEM": "Produto não encontrado"
  }
]
Saldo negativo500
[
  {
    "TABELA": "CABECALHO",
    "ID_UPCAMPO": "BE2F2CEC-0142-41A0-A3A6-DAC557A78696",
    "ID_REFERENCIA": "22",
    "STATUS": "ERRO",
    "MENSAGEM": "Problema em algum item do documento"
  },
  {
    "TABELA": "DETALHE",
    "ID_UPCAMPO": null,
    "ID_REFERENCIA": null,
    "STATUS": "ERRO",
    "MENSAGEM": "Validacao: (MILHO EM GRAOS) - O saldo ficará negativo (origem) (-5.000000). 9 - Impossível continuar."
  }
]

ID_REFERENCIA

Esta columna está presente en todas las tablas y le facilita mucho la vida al socio: aparece en todos los GET y se tiene en cuenta en todos los POST.

  1. El registro en upCampo tiene su propio identificador; en la columna ID_REFERENCIA el socio coloca el identificador de su sistema. Hay tres caminos para grabar esa referencia:
    • por el sistema: todas las pantallas del portal tienen un campo para ello;
    • por un POST del objeto entero;
    • por la ruta de referencia, que modifica solo ese campo; vea Actualizar solo la referencia.
  2. En cualquier GET de una tabla que contenga, por ejemplo, un producto, vendrá un atributo ID_REFERENCIA.
  3. En un POST —de movimiento, por ejemplo—, basta con poner en el JSON el atributo con el ID_REFERENCIA y upCampo localiza el registro correspondiente en su tabla.
Convención de los nombres

En las respuestas, el mismo dato aparece de tres formas: <ENTIDADE>_DESCRICAO (el nombre en upCampo), ID_<ENTIDADE>_UPCAMPO (el identificador interno) e ID_<ENTIDADE>_REFERENCIA (el identificador en su ERP). En los envíos, use siempre la forma _REFERENCIA.

Grabar la referencia de un producto
curl -X POST 'https://api.upcampo.com.br/produtoReferencia?id_upcampo=F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F&id_referencia=25' \
  -H 'Authorization: Bearer $TOKEN'
Cómo vuelve el dato en un GET
{
  "PRODUTO_DESCRICAO": "BRAVONIL 720",
  "ID_PRODUTO_UPCAMPO": "BC8DC697-9673-4636-B78D-370926042403",
  "ID_PRODUTO_REFERENCIA": "330"
}

Flujo de sincronización

El escenario ideal de uso es este:

  1. Cada vez que un usuario crea o modifica un registro en upCampo, la fecha de modificación se actualiza.
  2. El socio hace un GET usando la fecha de modificación como parámetro: datmod_inicial=2024-3-15 07:00. Guarde la fecha de cada consulta para usarla en la consulta siguiente y recuperar solo lo que cambió desde entonces.
  3. El socio procesa los resultados en su sistema: si ya tiene id_referencia, es una actualización; si no lo tiene, es una inserción.
  4. El socio hace un POST en la ruta de referencia de ese grupo (por ejemplo abastecimentoReferencia) con el identificador generado de su lado.
Ventana de siete días

En las rutas de movimiento (movimiento, transferencia y orden de servicio) el período entre data_inicial y data_final es de 7 días como máximo. Para una carga histórica, haga varias llamadas en ventanas consecutivas. Las rutas de lluvia y las de monitoreo (MIP) son la excepción: en ellas la ventana es de 366 días.

Consulta incremental
# solo lo que cambió desde la última consulta
curl -G https://api.upcampo.com.br/abastecimento \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'datmod_inicial=2024-03-15 07:00'

Actualizar solo la referencia POST

En algunos casos es necesario modificar solo la referencia, es decir, apenas grabar el identificador del sistema del socio en la base de upCampo, para facilitar el uso futuro. Para no tener que completar el objeto entero, existe una forma simple: basta con agregar los parámetros id_upcampo (el identificador dentro de la base de upCampo) e id_referencia (el identificador en el sistema del socio).

URL BASE + /<entidade>Referencia?id_upcampo=…&id_referencia=…

Endpoints disponibles

Ruta Entidad
/safraReferencia Campaña
/plantio_safraReferencia Siembra de la campaña
/tipo_atividadeReferencia Tipo de actividad
/equipeReferencia Equipo de trabajo
/funcionarioReferencia Empleado
/local_estoqueReferencia Ubicación de stock
/culturaReferencia Cultivo
/variedadeReferencia Variedad
/classeReferencia Clase de producto
/produtoReferencia Producto
/equipamentoReferencia Equipo / flota / bien de mejora
/movimentacaoReferencia Movimiento (NF)
/transferenciaReferencia Transferencia entre ubicaciones de stock
/fardoReferencia Fardo
/abastecimentoReferencia Carga de combustible
/pluviometroReferencia Pluviómetro
/pluviometro_coletaReferencia Registro de lluvia
/ordem_agricola_insumoReferencia Orden de servicio agrícola — insumos
/ordem_agricola_execucaoReferencia Orden de servicio agrícola — ejecuciones
/ordem_agricola_completaReferencia Orden de servicio agrícola — completa. Acepta además el parámetro opcional codSai, para cuando el código generado en el sistema del socio es diferente del código de la orden en upCampo.
Solicitud
curl -X POST 'https://api.upcampo.com.br/culturaReferencia?id_upcampo=135CFB89-1DAC-4A04-B7CA-4D2A0ADDAB29&id_referencia=1234' \
  -H 'Authorization: Bearer $TOKEN'
Orden completa, con codSai
curl -X POST 'https://api.upcampo.com.br/ordem_agricola_completaReferencia?id_upcampo=…&id_referencia=…&codSai=…' \
  -H 'Authorization: Bearer $TOKEN'

Índice de endpoints

Los principales endpoints GET y sus parámetros. La habilitación de cada uno se hace caso por caso; contacte a upCampo para solicitarla.

Título Ruta Parámetros Área / módulo
Variedad /variedade Ninguno Cultivo
Cultivo /cultura Ninguno Cultivo
Parcela /talhao setor (opcional) Cultivo
Campaña /safra Ninguno Cultivo
Siembra de la campaña /plantio_safra id_safra (opcional)
id_cultura (opcional)
Cultivo
Clase de producto /classe_produto Ninguno Stock
Producto /produto id_classe (opcional) Stock
Ubicación de stock /local_estoque setor (opcional) Stock
Transferencia entre ubicaciones de stock /transferencia data_inicial y data_final (obligatorios, ventana de 7 días)
id_local_origem e id_local_destino (opcionales)
Stock
Movimiento (NF) /movimentacao data_inicial y data_final (obligatorios, ventana de 7 días) Stock
Orden de servicio agrícola — INSUMOS /ordem_agricola_insumo data_inicial y data_final (obligatorios, ventana de 7 días) Cultivo y Stock
Orden de servicio agrícola — EJECUCIÓN /ordem_agricola_execucao data_inicial y data_final (obligatorios, ventana de 7 días) Cultivo y Stock
Equipo / Flota / Bien de mejora /equipamento id_classificacao (opcional) Flota
Carga de combustible /abastecimento data_inicial y data_final (obligatorios)
id_local e id_local_referencia (opcionales)
id_equipamento e id_equipamento_referencia (opcionales)
numero, id_referencia, id_abastecimento_upcampo (opcionales)
Flota
Pluviómetro /pluviometro id_upcampo, id_referencia, codigo, setor, id_talhao, datmod_inicial (opcionales) Cultivo
Registro de lluvia /pluviometro_coleta data_inicial y data_final (opcionales, ventana de 366 días)
datmod_inicial, id_pluviometro, id_pluviometro_referencia, id_talhao (opcionales)
Cultivo
Pluviómetro completo /pluviometroCompleto data_inicial y data_final (opcionales, ventana de 366 días)
id_upcampo, id_referencia, codigo, setor, id_talhao (opcionales)
Cultivo
Monitoreo (MIP)
1 por monitoreo — fecha + parcela
/levantamento data_inicial y data_final (opcionales, ventana de 366 días)
datmod_inicial, id_upcampo, id_talhao, id_talhao_referencia, codigo_talhao, setor, id_safra, id_plantio, id_cultura (opcionales)
Cultivo
Monitoreo — puntos
1 por punto de muestreo
/levantamento_ponto data_inicial y data_final (opcionales, ventana de 366 días)
datmod_inicial, id_levantamento, id_talhao, id_plantio, id_safra, id_usuario, ponto (opcionales)
Cultivo
Monitoreo — fenología
1 por tipo fenológico
/levantamento_fenologia data_inicial y data_final (opcionales, ventana de 366 días)
datmod_inicial, id_levantamento, id_talhao, id_plantio, id_safra, tipo_fenologia (opcionales)
Cultivo
Monitoreo — plaga (resumen)
1 por plaga, consolidando los puntos
/levantamento_praga_resumo data_inicial y data_final (opcionales, ventana de 366 días)
datmod_inicial, id_levantamento, id_talhao, id_plantio, id_safra, id_praga, codigo_praga, tipo, alerta_cor (opcionales)
Cultivo
Monitoreo — plaga por punto
1 por plaga × punto, valor bruto
/levantamento_praga_ponto data_inicial y data_final (opcionales, ventana de 366 días)
datmod_inicial, id_levantamento, id_talhao, id_plantio, id_safra, id_praga, codigo_praga, tipo, id_usuario, ponto (opcionales)
Cultivo
Monitoreo completo
el encabezado con los hijos anidados
/levantamentoCompleto data_inicial y data_final (opcionales, ventana de 366 días)
incluir_praga_ponto, id_upcampo, id_talhao, id_talhao_referencia, codigo_talhao, setor, id_safra, id_plantio (opcionales)
Cultivo

También documentados en esta página

Cultivo GETPOST

URL BASE + /cultura

El cultivo es lo que se siembra: soja, maíz, algodón. Es la cima de la jerarquía agrícola: la variedad pertenece a un cultivo, y la siembra de la campaña vincula cultivo, variedad y parcela.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo. Si upCampo lo encuentra, es una actualización; si no lo encuentra, es un registro nuevo.
DESCRICAO String Sí Nombre.
CODIGO String —
ATIVO Boolean — true o false.
DELETADO Boolean — Use true para enviar una eliminación.
Solicitud
curl -X POST https://api.upcampo.com.br/cultura \
  -H 'Authorization: Bearer $TOKEN' \
  -H 'Content-Type: application/json' \
  -d @cultura.json
Cuerpo (body)
[
  {
    "ID_REFERENCIA": "1",
    "CODIGO": "0001",
    "DESCRICAO": "Cultura- TESTE INTEGRACAO 2",
    "ATIVO": true,
    "DELETADO": false
  }
]
Respuesta200
[
  {
    "TABELA": "CULTURA",
    "ID_UPCAMPO": "1D64C046-B166-4E66-8A2F-02E1E75102CA",
    "ID_REFERENCIA": "1",
    "STATUS": "ALTERADO",
    "MENSAGEM": ""
  }
]

Variedad GETPOST

URL BASE + /variedade

La variedad (o cultivar) es el material genético sembrado dentro de un cultivo. Toda variedad pertenece a un cultivo; por eso el ID_CULTURA_REFERENCIA es obligatorio en el envío.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo. Si upCampo lo encuentra, es una actualización; si no lo encuentra, es un registro nuevo.
DESCRICAO String Sí Nombre.
CODIGO String —
DIACIC Integer — Días del ciclo.
ATIVO Boolean — true o false.
DELETADO Boolean — Use true para enviar una eliminación.
ID_CULTURA_REFERENCIA String Sí Identificador del cultivo en el ERP externo. Este código debe estar mapeado en el registro de upCampo para que se localice su identificador.
Cuerpo (body)
[
  {
    "ID_REFERENCIA": "1",
    "CODIGO": "0001",
    "DESCRICAO": "Variedade integracao",
    "ATIVO": true,
    "DELETADO": false,
    "ID_CULTURA_REFERENCIA": "1"
  }
]
Respuesta del POST200
[
  {
    "TABELA": "VARIEDADE",
    "ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "ID_REFERENCIA": "1",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]
Respuesta del GET200
[
  {
    "ID": "EBB2540D-15CA-4A4F-9989-8CF8C820E983",
    "CODIGO": "001",
    "DESCRICAO": "TMG 31 B3RF",
    "ATIVO": true,
    "DIACIC": 150,
    "ID_EMPRESA": "B28C5012-D7E8-4987-A9F1-188287F72FE9",
    "ID_CULTURA": "5795CCB1-44FC-44B8-AAB9-0DBDD4182E68",
    "ID_REFERENCIA": null
  }
]

Parcela GET

URL BASE + /talhao

La parcela es el área de siembra. Acepta el parámetro opcional setor: en la mayoría de los establecimientos, el sector es el nombre de la unidad dentro del grupo. Use esta ruta para descubrir la descripción exacta y los identificadores de la parcela antes de filtrar otras rutas por ella.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo.
DESCRICAO String Sí Nombre de la parcela.
CODIGO String —
AREA Número Sí En hectáreas.
SETOR String —
ATIVO Boolean — true o false.
DELETADO Boolean — Use true para enviar una eliminación.
Envío de parcela

Para grabar el identificador de su sistema en una parcela ya registrada, use la ruta de referencia. Para crear o modificar parcelas por la API, contacte al equipo de upCampo: la habilitación se hace caso por caso.

Solicitud
curl -G https://api.upcampo.com.br/talhao \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'setor=BOA VISTA'
Estructura de la parcela
[
  {
    "ID_REFERENCIA": "1",
    "CODIGO": "0001",
    "DESCRICAO": "TH 01",
    "AREA": 250.6,
    "SETOR": "BOA VISTA",
    "ATIVO": true,
    "DELETADO": false
  }
]
Respuesta de escritura200
[
  {
    "TABELA": "TALHAO",
    "ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "ID_REFERENCIA": "1",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]

Campaña GET

URL BASE + /safra

La campaña es el ciclo productivo: separa lo que se sembró, aplicó y cosechó en un año de lo que se hizo en el año siguiente. Prácticamente toda ruta de movimiento lleva el identificador de la campaña.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo.
DESCRICAO String Sí Nombre de la campaña.
CODIGO String —
ATIVO Boolean — true o false.
DELETADO Boolean — Use true para enviar una eliminación.
Para vincular la campaña de su ERP

Use /safraReferencia.

Solicitud
curl https://api.upcampo.com.br/safra \
  -H 'Authorization: Bearer $TOKEN'
Estructura de la campaña
[
  {
    "ID_REFERENCIA": "1",
    "CODIGO": "0001",
    "DESCRICAO": "Safra 2025/2026",
    "ATIVO": true,
    "DELETADO": false
  }
]
Respuesta de escritura200
[
  {
    "TABELA": "SAFRA",
    "ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "ID_REFERENCIA": "1",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]

Siembra de la campaña GET

URL BASE + /plantio_safra

La siembra de la campaña es el registro que vincula campaña + parcela + cultivo + variedad + área. Es la clave de casi toda consulta agrícola: el fardo, el romaneo y la orden de servicio apuntan a ella por el ID_PLANTIO_SAFRA_UPCAMPO o por el ID_PLANTIO_SAFRA_REFERENCIA.

Parámetros

Parámetro Obligatorio
id_safra Opcional
id_cultura Opcional

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo.
ID_SAFRA_REFERENCIA String Sí Identificador de la campaña en el ERP externo, mapeado en el registro de upCampo.
ID_CULTURA_REFERENCIA String Sí Identificador del cultivo en el ERP externo, mapeado en el registro de upCampo.
ID_TALHAO_REFERENCIA String Sí Identificador de la parcela en el ERP externo, mapeado en el registro de upCampo.
ID_VARIEDADE_REFERENCIA String Sí Identificador de la variedad en el ERP externo, mapeado en el registro de upCampo.
DATPLA String — Fecha de siembra, en el formato AAAA-MM-DD.
DATCOL String — Fecha de cosecha, en el formato AAAA-MM-DD.
AREA Número Sí En hectáreas.
Solicitud
curl 'https://api.upcampo.com.br/plantio_safra?id_safra=xyz&id_cultura=zyx' \
  -H 'Authorization: Bearer $TOKEN'
Respuesta200
[
  {
    "ID": "AD6DDC4D-981B-4755-8AE2-1F001D7E8B03",
    "ID_SAFRA": "8B1BA1A7-B454-47F0-A2A3-8DD9980F8514",
    "ID_QUADRA": "038F7B2C-C337-4401-8E18-9DE202D92112",
    "ID_CULTURA": "5795CCB1-44FC-44B8-AAB9-0DBDD4182E68",
    "ID_VARIEDADE": "EBB2540D-15CA-4A4F-9989-8CF8C820E983",
    "AREA": 81,
    "DATPLA": "2022-01-20T00:00:00.000Z",
    "DATCOL": null,
    "ID_DETALHE": null,
    "ATIVO": true,
    "ID_EMPRESA": "B28C5012-D7E8-4987-A9F1-188287F72FE9",
    "ID_FILIAL": "DE319CA8-601F-4E68-978D-D0FB0DC27457"
  }
]
Estructura de envío
[
  {
    "ID_REFERENCIA": "1",
    "ID_SAFRA_REFERENCIA": "1",
    "ID_CULTURA_REFERENCIA": "1",
    "ID_TALHAO_REFERENCIA": "1",
    "ID_VARIEDADE_REFERENCIA": "1",
    "DATPLA": "2023-3-27",
    "DATCOL": "2024-3-01",
    "AREA": 200.50
  }
]

Pluviómetro GET

URL BASE + /pluviometro

Registro de los pluviómetros del establecimiento. Cada uno puede cubrir parcelas específicas o ser general del establecimiento; quien muestra esa cobertura es /pluviometroCompleto. La ruta devuelve solo pluviómetros activos.

Parámetros

Opción Parámetro Observación
1 datmod_inicial Fecha de modificación inicial, para sincronización incremental. Formato AAAA-MM-DD HH:MM:SS; la hora es opcional.
2 id_upcampo Identificador del pluviómetro en upCampo.
3 id_referencia Identificador en el sistema del socio.
4 codigo Código del pluviómetro en upCampo.
5 setor Sector del pluviómetro.
6 id_talhao Devuelve los pluviómetros que cubren esa parcela, por el identificador de upCampo.

Todos son opcionales y combinables. Sin ningún parámetro, la ruta devuelve todos los pluviómetros activos del establecimiento.

Campos

Campo Tipo Observación
ID_PLUVIOMETRO_UPCAMPO String Identificador del pluviómetro en upCampo.
ID_REFERENCIA String Identificador en el sistema del socio, grabado por la ruta /pluviometroReferencia.
CODIGO String Código en upCampo.
DESCRICAO String Nombre del pluviómetro.
TIPO String Manual o automático (estación con envío por API).
SETOR String Sector del equipo.
LATITUDE
LONGITUDE
Número Coordenadas, cuando están registradas.
ATIVO Boolean La ruta solo devuelve pluviómetros activos, así que siempre viene true.
EXCLUIDO Boolean Eliminación lógica.
DATA_MODIFICACAO String Última modificación del registro, en el huso horario de Brasilia. Es el valor que debe guardar para el datmod_inicial de la consulta siguiente.
Solicitud
curl -G https://api.upcampo.com.br/pluviometro \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'setor=BOA VISTA'
Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_PLUVIOMETRO_UPCAMPO": "7C1F0B2E-4D33-42A8-9B10-5E7A6C3D9F41",
    "ID_REFERENCIA": "PLU-01",
    "CODIGO": "0001",
    "DESCRICAO": "Sede",
    "TIPO": "Manual",
    "SETOR": "BOA VISTA",
    "LATITUDE": -12.654321,
    "LONGITUDE": -45.123456,
    "ATIVO": true,
    "EXCLUIDO": false,
    "DATA_MODIFICACAO": "2024-08-19T10:22:41.120"
  }
]

Registro de lluvia GET

URL BASE + /pluviometro_coleta

Cada línea es la lectura de un pluviómetro en un día: la lluvia del día en MILIMETROS, más la condición del tiempo y la temperatura, cuando se anotan. Es el dato bruto del campo, el mismo que alimenta el seguimiento de lluvia del portal.

Varios pluviómetros en la misma parcela

Una parcela puede estar cubierta por más de un pluviómetro. Sumar las lecturas del día sobreestima la lluvia: lo correcto es el promedio entre los equipos, que es como calcula el portal. Por eso la ruta devuelve cada lectura por separado, con el nombre del equipo.

Parámetros

Opción Parámetro Observación
1 datmod_inicial Fecha de modificación inicial, para sincronización incremental. Formato AAAA-MM-DD HH:MM:SS. Si se informa solo, no se aplica la ventana de fechas: viene todo lo que cambió desde esa fecha.
2 data_inicial Fecha del registro, en AAAA-MM-DD. Se combina con data_final, que sin valor equivale a hoy. En las rutas de lluvia la ventana es de 366 días, y no de los 7 días de las demás rutas de movimiento. Sin ninguno de los dos, la ruta devuelve los últimos 30 días.
3 id_pluviometro Pluviómetro, por el identificador de upCampo. Alternativa: id_pluviometro_referencia, por el identificador de su sistema.
4 id_talhao Devuelve los registros de los pluviómetros que cubren esa parcela. El registro no se repite por cada parcela cubierta.
5 id_upcampo Un registro específico. Alternativa: id_referencia.

Ejemplo: ?data_inicial=2024-08-01&data_final=2024-08-31

Campos

Campo Tipo Observación
ID_COLETA_UPCAMPO String Identificador del registro en upCampo.
ID_REFERENCIA String Identificador en el sistema del socio, grabado por la ruta /pluviometro_coletaReferencia.
EXCLUIDO Boolean Eliminación lógica.
DATA_MODIFICACAO String Última modificación del registro, en el huso horario de Brasilia.
DATASTRING String Fecha del registro en el formato dd/mm/aaaa.
DATA String Fecha del registro en el formato AAAA-MM-DD.
MILIMETROS Número Lluvia del día, en milímetros. Es el campo de la precipitación.
CLASSIFICACAO String Condición del tiempo anotada en el registro.
TEMMAX
TEMMIN
UMIDADE
Número Temperatura máxima, mínima y humedad: se completan cuando el equipo o el operador las informan.
USUARIO_NOME
ID_USUARIO_UPCAMPO
ID_USUARIO_REFERENCIA
String Quién hizo el registro.
ORIGEM String Por dónde se cargó el registro: app Android, app iPhone, portal o integración.
PLUVIOMETRO_DESCRICAO
ID_PLUVIOMETRO_UPCAMPO
ID_PLUVIOMETRO_REFERENCIA
String Equipo del que vino la lectura.
PLUVIOMETRO_TIPO String Manual o automático.
Solicitud
curl -G https://api.upcampo.com.br/pluviometro_coleta \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'data_inicial=2024-08-01' \
  --data-urlencode 'data_final=2024-08-31'
Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_COLETA_UPCAMPO": "9B2D4A17-6C8E-4F51-8A03-1D7E5B9C2A64",
    "ID_REFERENCIA": null,
    "EXCLUIDO": false,
    "DATA_MODIFICACAO": "2024-08-19T18:04:02.533",
    "DATASTRING": "19/08/2024",
    "DATA": "2024-08-19",
    "MILIMETROS": 12.50,
    "CLASSIFICACAO": "Chuvoso",
    "TEMMAX": 31,
    "TEMMIN": 19,
    "UMIDADE": 78,
    "USUARIO_NOME": "Admin",
    "ID_USUARIO_UPCAMPO": "0dab044a-1e1e-4333-a39b-879e891fa086",
    "ID_USUARIO_REFERENCIA": null,
    "ORIGEM": "Android",
    "PLUVIOMETRO_DESCRICAO": "Sede",
    "ID_PLUVIOMETRO_UPCAMPO": "7C1F0B2E-4D33-42A8-9B10-5E7A6C3D9F41",
    "ID_PLUVIOMETRO_REFERENCIA": "PLU-01",
    "PLUVIOMETRO_TIPO": "Manual"
  }
]

Pluviómetro completo GET

URL BASE + /pluviometroCompleto

El pluviómetro con las parcelas que cubre y los registros del período, anidados, en una sola llamada. Es la ruta para armar de una vez el mapa de lluvia del establecimiento: qué equipo cubre qué parcela y cuánto llovió cada día.

Pluviómetro general del establecimiento

TALHOES vacío significa que el pluviómetro no está vinculado a ninguna parcela: su lectura vale para todo el establecimiento.

Parámetros

Opción Parámetro Observación
1 data_inicial Fecha del registro, en AAAA-MM-DD. Se combina con data_final, que sin valor equivale a hoy. Ventana de 366 días; sin los dos, los últimos 30 días. El período filtra solo los registros: la lista de parcelas viene siempre completa.
2 id_upcampo Un pluviómetro específico. Alternativas: id_referencia o codigo.
3 setor Sector del pluviómetro.
4 id_talhao Devuelve los pluviómetros que cubren esa parcela, cada uno con la lista completa de sus parcelas.

Campos

Campo Tipo Observación
ID_PLUVIOMETRO_UPCAMPO
ID_REFERENCIA
CODIGO
DESCRICAO
TIPO
SETOR
LATITUDE
LONGITUDE
ATIVO
EXCLUIDO
DATA_MODIFICACAO
— Los mismos campos de /pluviometro.
TALHOES Array Parcelas cubiertas: ID_TALHAO_UPCAMPO, ID_TALHAO_REFERENCIA, TALHAO_CODIGO, TALHAO_DESCRICAO, TALHAO_DESCRICAO_SETOR (nombre ya con el sector, listo para mostrar) y SETOR. Vacío = pluviómetro general del establecimiento.
COLETAS Array Registros del período, con los mismos campos de /pluviometro_coleta, sin repetir los datos del equipo, que ya están en el padre.
Solicitud
curl -G https://api.upcampo.com.br/pluviometroCompleto \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'data_inicial=2024-08-01' \
  --data-urlencode 'data_final=2024-08-31'
Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_PLUVIOMETRO_UPCAMPO": "7C1F0B2E-4D33-42A8-9B10-5E7A6C3D9F41",
    "ID_REFERENCIA": "PLU-01",
    "EXCLUIDO": false,
    "DATA_MODIFICACAO": "2024-08-19T10:22:41.120",
    "CODIGO": "0001",
    "DESCRICAO": "Sede",
    "TIPO": "Manual",
    "SETOR": "BOA VISTA",
    "LATITUDE": -12.654321,
    "LONGITUDE": -45.123456,
    "ATIVO": true,
    "TALHOES": [
      {
        "ID_TALHAO_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
        "ID_TALHAO_REFERENCIA": "1",
        "TALHAO_CODIGO": "0001",
        "TALHAO_DESCRICAO": "TH 01",
        "TALHAO_DESCRICAO_SETOR": "BOA VISTA - TH 01",
        "SETOR": "BOA VISTA"
      }
    ],
    "COLETAS": [
      {
        "ID_COLETA_UPCAMPO": "9B2D4A17-6C8E-4F51-8A03-1D7E5B9C2A64",
        "ID_REFERENCIA": null,
        "EXCLUIDO": false,
        "DATA_MODIFICACAO": "2024-08-19T18:04:02.533",
        "DATASTRING": "19/08/2024",
        "DATA": "2024-08-19",
        "MILIMETROS": 12.50,
        "CLASSIFICACAO": "Chuvoso",
        "TEMMAX": 31,
        "TEMMIN": 19,
        "UMIDADE": 78,
        "USUARIO_NOME": "Admin",
        "ID_USUARIO_UPCAMPO": "0dab044a-1e1e-4333-a39b-879e891fa086",
        "ID_USUARIO_REFERENCIA": null,
        "ORIGEM": "Android"
      }
    ]
  }
]

Monitoreos (MIP / monitoreo de plagas)

Rutas de solo lectura. El monitoreo se genera en la app de campo de upCampo; el ERP solo lo consume. Un monitoreo es un encabezado (fecha + parcela) con cuatro conjuntos de hijos: los puntos recorridos, la fenología de la planta, la plaga en resumen (la parcela entera) y la plaga por punto (el valor bruto de cada parada).

El nombre de la ruta indica el nivel de detalle: cuántas líneas devuelve para un mismo monitoreo. Elegir la ruta es elegir el nivel de detalle:

Ruta Una línea por… Ejemplo
/levantamento monitoreo (fecha + parcela) 1
/levantamento_ponto punto de muestreo, con técnico y coordenada 55
/levantamento_fenologia tipo fenológico medido (stand, altura, nudos) 0
/levantamento_praga_resumo plaga, consolidando todos los puntos 4
/levantamento_praga_ponto plaga × punto, con el valor bruto digitado 11

La columna Ejemplo es la respuesta de un monitoreo real: 55 puntos recorridos, ninguna medida fenológica anotada, 4 plagas encontradas en la parcela y 11 líneas de plaga por punto: 11 de las 220 combinaciones posibles (55 × 4), porque la línea solo existe donde esa plaga se registró en ese punto. Los números cambian en cada monitoreo: fenología en cero significa solamente que nadie anotó stand, altura o nudos ese día.

El sufijo es lo que distingue el par: _resumo es el monitoreo entero consolidado, _ponto es el mismo dato desglosado punto por punto. Todas exigen el token de POST /autenticar y usan una ventana de 366 días entre data_inicial y data_final: la misma excepción de las rutas de lluvia, y no los 7 días de las rutas de movimiento. Sin período informado, devuelven los últimos 30 días.

Sincronización incremental

Con datmod_inicial y sin data_inicial, no se aplica la ventana de fechas: viene todo lo que cambió desde el timestamp informado. Vale en las cinco rutas de lista; /levantamentoCompleto no acepta datmod_inicial.

DATA_MODIFICACAO es siempre la del encabezado

Incluso en las rutas de detalle. Cualquier modificación en cualquier punto del monitoreo actualiza el encabezado, y vuelve el monitoreo entero en la próxima sincronización incremental, no solo la línea que cambió.

Vínculo con el sistema del socio

No hay POST de referencia en estas rutas. El vínculo se hace por la parcela (ID_TALHAO_REFERENCIA), por la campaña (ID_SAFRA_REFERENCIA) y, en el caso de la plaga, por el PRAGA_CODIGO: la tabla de plagas no tiene ID_REFERENCIA.

Monitoreo GET

URL BASE + /levantamento

Encabezado de los monitoreos: una línea por fecha + parcela, con cuántos puntos se recorrieron, qué técnicos fueron al campo y el estadio del cultivo. Es la ruta por donde se empieza: el ID_LEVANTAMENTO_UPCAMPO de aquí es el id_levantamento de las rutas de detalle.

Parámetros

Opción Parámetro Observación
1 data_inicial Fecha del monitoreo, en AAAA-MM-DD. Se combina con data_final, que sin valor equivale a hoy. Ventana de 366 días; sin los dos, los últimos 30 días.
2 datmod_inicial Fecha de modificación inicial, para sincronización incremental. Formato AAAA-MM-DD HH:MM:SS; la hora es opcional. Sin data_inicial, prescinde de la ventana de fechas.
3 id_upcampo Un monitoreo específico.
4 id_talhao Parcela en upCampo. Alternativas: id_talhao_referencia (el id de la parcela en su sistema) o codigo_talhao.
5 setor Sector de la parcela.
6 id_safra Campaña. Alternativa más precisa: id_plantio, la siembra de la campaña (campaña + parcela + variedad).
7 id_cultura Cultivo de la siembra.

Campos

Campo Tipo Observación
ID_LEVANTAMENTO_UPCAMPO String Es el id_levantamento de las rutas de detalle.
DATA
DATASTRING
Fecha Fecha del monitoreo. DATASTRING viene en dd/mm/aaaa.
TOTAL_PONTOS Entero Puntos recorridos en la parcela ese día. Es el divisor de los promedios.
TECNICOS String Quién fue al campo. Más de un técnico el mismo día y en la misma parcela forman un solo monitoreo.
ID_SAFRA_UPCAMPO
ID_SAFRA_REFERENCIA
SAFRA
ID_PLANTIO_UPCAMPO
ID_PLANTIO_REFERENCIA
String Campaña y siembra de la campaña del monitoreo, con el identificador de su sistema cuando lo haya.
ID_TALHAO_UPCAMPO
ID_TALHAO_REFERENCIA
TALHAO_CODIGO
TALHAO_DESCRICAO
TALHAO_DESCRICAO_SETOR
SETOR
String Parcela monitoreada. TALHAO_DESCRICAO_SETOR es el nombre ya con el sector, listo para mostrar.
ID_CULTURA_UPCAMPO
ID_CULTURA_REFERENCIA
CULTURA
ID_VARIEDADE_UPCAMPO
ID_VARIEDADE_REFERENCIA
VARIEDADE
String Cultivo y variedad sembrados.
ID_ESTAGIO_UPCAMPO
ESTAGIO_CODIGO
ESTAGIO
String Estadio fenológico del cultivo en la fecha (ej.: V4).
EXCLUIDO
DATA_MODIFICACAO
Boolean / Fecha Eliminación lógica y fecha de la última modificación, para sincronización incremental.
Solicitud
curl -G https://api.upcampo.com.br/levantamento \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'data_inicial=2024-08-01' \
  --data-urlencode 'data_final=2024-08-31'
Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_LEVANTAMENTO_UPCAMPO": "3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03",
    "EXCLUIDO": false,
    "DATA_MODIFICACAO": "2024-08-19T18:41:07.220",
    "DATA": "2024-08-19",
    "DATASTRING": "19/08/2024",
    "TOTAL_PONTOS": 10,
    "TECNICOS": "Carlos Menezes",
    "ID_SAFRA_UPCAMPO": "B1D7E902-3F45-4A18-9C26-7E0B4D8A5C31",
    "ID_SAFRA_REFERENCIA": "SAF-2024",
    "SAFRA": "2024/2025",
    "ID_PLANTIO_UPCAMPO": "6E2A8B14-9D53-4C70-8F31-0A6B2C9D4E75",
    "ID_PLANTIO_REFERENCIA": null,
    "ID_TALHAO_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "ID_TALHAO_REFERENCIA": "1",
    "TALHAO_CODIGO": "0001",
    "TALHAO_DESCRICAO": "TH 01",
    "TALHAO_DESCRICAO_SETOR": "BOA VISTA - TH 01",
    "SETOR": "BOA VISTA",
    "ID_CULTURA_UPCAMPO": "9F4B1C28-5D06-4E93-8A71-3B2E7D0C6A15",
    "ID_CULTURA_REFERENCIA": "SOJA",
    "CULTURA": "Soja",
    "ID_VARIEDADE_UPCAMPO": "C3E5A719-2B84-4D06-9F13-8A0C5E7B2D46",
    "ID_VARIEDADE_REFERENCIA": null,
    "VARIEDADE": "TMG 7067",
    "ID_ESTAGIO_UPCAMPO": "D7B2F408-1C36-4A95-8E20-5F9A3D6C8B14",
    "ESTAGIO_CODIGO": "V4",
    "ESTAGIO": "V4 - Terceiro trifólio"
  }
]

Puntos del monitoreo GET

URL BASE + /levantamento_ponto

Los puntos de muestreo: uno por punto por técnico, con la coordenada de donde se detuvo. Es lo que permite trazar el recorrido del monitoreo en el mapa de la parcela.

Parámetros

Opción Parámetro Observación
1 data_inicial Con data_final. Ventana de 366 días; sin los dos, los últimos 30 días.
2 datmod_inicial Sincronización incremental, en AAAA-MM-DD HH:MM:SS.
3 id_levantamento Un solo monitoreo.
4 id_talhao Parcela. También id_plantio e id_safra.
5 id_usuario Un técnico específico.
6 ponto El número del punto dentro de la parcela.

Campos

Además de los campos de identificación del monitoreo (fecha, campaña, siembra y parcela):

Campo Tipo Observación
PONTO
TIPO_LEVANTAMENTO
Entero / String Número del punto y el tipo de monitoreo hecho en él.
ID_USUARIO_UPCAMPO
ID_USUARIO_REFERENCIA
TECNICO
String Quién muestreó. El usuario tiene ID_REFERENCIA, así que se puede vincular con el registro de personas de su sistema.
STAND
ALTURA
QUANOS
QUAPLA
Número Las medidas de la planta en ese punto. El consolidado de la parcela está en /levantamento_fenologia, y la plaga de ese mismo punto, en /levantamento_praga_ponto.
ID_ESTAGIO_UPCAMPO
ESTAGIO
String Estadio observado en el punto.
LATITUDE
LONGITUDE
Número Dónde se muestreó el punto.
Solicitud
curl -G https://api.upcampo.com.br/levantamento_ponto \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'id_levantamento=3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03'
Respuesta200
[
  {
    "ID_LEVANTAMENTO_UPCAMPO": "3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03",
    "DATA": "2024-08-19",
    "DATASTRING": "19/08/2024",
    "ID_TALHAO_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "TALHAO_DESCRICAO_SETOR": "BOA VISTA - TH 01",
    "PONTO": 1,
    "TIPO_LEVANTAMENTO": "PLA",
    "ID_USUARIO_UPCAMPO": "5D0B3E87-4A16-42C9-8F35-9B7E1C6A0D24",
    "ID_USUARIO_REFERENCIA": "TEC-07",
    "TECNICO": "Carlos Menezes",
    "STAND": 12.2,
    "ALTURA": 0.45,
    "QUANOS": 8,
    "QUAPLA": 10,
    "ID_ESTAGIO_UPCAMPO": "D7B2F408-1C36-4A95-8E20-5F9A3D6C8B14",
    "ESTAGIO": "V4 - Terceiro trifólio",
    "LATITUDE": -12.654321,
    "LONGITUDE": -45.123456
  }
]

Fenología del monitoreo GET

URL BASE + /levantamento_fenologia

Los datos de la planta, no de la plaga: stand, altura, número de nudos, cápsulas. El técnico los anota junto con el monitoreo, y upCampo devuelve el total y el promedio por punto.

Parámetros

Opción Parámetro Observación
1 data_inicial Con data_final. Ventana de 366 días; sin los dos, los últimos 30 días.
2 datmod_inicial Sincronización incremental, en AAAA-MM-DD HH:MM:SS.
3 id_levantamento Un solo monitoreo.
4 id_talhao Parcela. También id_plantio e id_safra.
5 tipo_fenologia Un tipo específico. Acepta sin tilde.

Campos

Además de los campos de identificación del monitoreo (fecha, campaña, siembra, parcela y TOTAL_PONTOS):

Campo Tipo Observación
TIPO_FENOLOGIA String Lo que se midió: STAND, ALTURA, QUANOS, QUAMAC, QUAMACPEQ, ALTPRINO y otros, según el cultivo.
VALOR_TOTAL
QUAPLA
MEDIA_POR_PONTO
UNIDADE
Número / String Total sumado en los puntos, plantas evaluadas, promedio por punto y la unidad de la medida.
Solicitud
curl -G https://api.upcampo.com.br/levantamento_fenologia \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'id_levantamento=3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03'
Respuesta200
[
  {
    "ID_LEVANTAMENTO_UPCAMPO": "3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03",
    "DATA": "2024-08-19",
    "DATASTRING": "19/08/2024",
    "TOTAL_PONTOS": 10,
    "ID_TALHAO_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "TALHAO_DESCRICAO_SETOR": "BOA VISTA - TH 01",
    "TIPO_FENOLOGIA": "STAND",
    "VALOR_TOTAL": 122,
    "QUAPLA": 10,
    "MEDIA_POR_PONTO": 12.2,
    "UNIDADE": "plantas/metro"
  }
]

Plaga del monitoreo — resumen GET

URL BASE + /levantamento_praga_resumo

Plagas, enfermedades, malezas y evaluaciones encontradas: una línea por plaga, tamaño y valor predefinido en cada monitoreo, consolidando todos los puntos recorridos. Es el resultado de la parcela: RESULTADO ya viene con la fórmula de cálculo de la plaga aplicada, y es ese número el que se compara con el nivel de control. Para el mismo dato desglosado punto por punto, vea /levantamento_praga_ponto.

Parámetros

Opción Parámetro Observación
1 data_inicial Con data_final. Ventana de 366 días; sin los dos, los últimos 30 días.
2 datmod_inicial Sincronización incremental, en AAAA-MM-DD HH:MM:SS.
3 id_levantamento Las plagas de un solo monitoreo: el ID_LEVANTAMENTO_UPCAMPO de /levantamento.
4 id_talhao Parcela. También id_plantio e id_safra.
5 id_praga Una plaga específica. Alternativa: codigo_praga.
6 tipo Praga, Doença, Erva daninha o Avaliação (plaga, enfermedad, maleza o evaluación). Acepta sin tilde.
7 alerta_cor vermelho, amarelo o verde (rojo, amarillo o verde).

Campos

Además de los campos de identificación del monitoreo —ID_LEVANTAMENTO_UPCAMPO, DATA, DATASTRING, DATA_MODIFICACAO, TOTAL_PONTOS y los de campaña, siembra y parcela—, la ruta devuelve:

Campo Tipo Observación
ID_PRAGA_UPCAMPO
PRAGA_CODIGO
PRAGA_DESCRICAO
String La plaga. PRAGA_CODIGO es la clave de vínculo con su registro: no hay ID_REFERENCIA de plaga.
PRAGA_COMPLETA String Texto listo para mostrar: plaga + tamaño + valor predefinido. Ej.: Spodoptera frugiperda - Pequena.
TIPO String Praga, Doença, Erva daninha o Avaliação. El registro de plagas es por establecimiento: trátelo como texto libre, no como lista cerrada.
ID_CLASSIFICACAO_UPCAMPO
CLASSIFICACAO
String Clase de plaga a la que pertenece.
ID_TAMANHO_UPCAMPO
TAMANHO
OPCAO_VALPRE
String Tamaño (oruga pequeña, mediana, grande) y opción de valor predefinido, cuando la plaga está registrada así. Vienen nulos cuando no corresponden.
FORMULA_CALCULO
VALOR_TOTAL
QUAPLA
String / Número Cómo se obtuvo el resultado: la fórmula de la plaga, el total bruto sumado en los puntos y la cantidad de plantas o metros evaluados.
RESULTADO String El valor calculado con la unidad (ej.: 15,0 %). Viene nulo cuando la plaga solo tiene valor predefinido; en ese caso lo informa OPCAO_VALPRE.
ALERTA_COR
ALERTA_DESCRICAO
String vermelho (por encima del nivel de control), amarelo (atención) o verde (ok). Nulo cuando la plaga no tiene leyenda configurada.
PRAGA_ORDEM
TAMANHO_ORDEM
VALPRE_ORDEM
TIPO_LEVANTAMENTO
Entero / String El orden de la respuesta es el del registro del establecimiento, en esa secuencia; nunca el de la alerta.
Solicitud
curl -G https://api.upcampo.com.br/levantamento_praga_resumo \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'id_levantamento=3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03'
Respuesta200
[
  {
    "ID_LEVANTAMENTO_UPCAMPO": "3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03",
    "DATA": "2024-08-19",
    "DATASTRING": "19/08/2024",
    "TOTAL_PONTOS": 10,
    "TIPO_LEVANTAMENTO": "PLA",
    "ID_TALHAO_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "ID_TALHAO_REFERENCIA": "1",
    "TALHAO_DESCRICAO_SETOR": "BOA VISTA - TH 01",
    "ID_PRAGA_UPCAMPO": "4C8E0A96-7B31-4D25-9E48-1F6A3B5C7D09",
    "PRAGA_CODIGO": "0012",
    "PRAGA_DESCRICAO": "Spodoptera frugiperda",
    "PRAGA_COMPLETA": "Spodoptera frugiperda - Pequena",
    "TIPO": "Praga",
    "PRAGA_ORDEM": 3,
    "ID_CLASSIFICACAO_UPCAMPO": "8B1D5F73-6A29-4C84-9017-2E5B8D0A3C61",
    "CLASSIFICACAO": "Lagartas",
    "ID_TAMANHO_UPCAMPO": "2F7A9C34-0E85-4B16-8D93-5A1C6E0B4F27",
    "TAMANHO": "Pequena",
    "TAMANHO_ORDEM": 1,
    "OPCAO_VALPRE": null,
    "VALPRE_ORDEM": null,
    "FORMULA_CALCULO": "Percentual de plantas atacadas",
    "VALOR_TOTAL": 15,
    "QUAPLA": 100,
    "RESULTADO": "15,0 %",
    "ALERTA_COR": "vermelho",
    "ALERTA_DESCRICAO": "Acima do nível de controle"
  }
]

Plaga del monitoreo — por punto GET

URL BASE + /levantamento_praga_ponto

La misma plaga de /levantamento_praga_resumo, desglosada punto por punto: una línea por punto, por plaga y tamaño. VALOR es el número bruto digitado en el campo, sin la fórmula de cálculo aplicada: el valor consolidado de la parcela es el del resumen. Solo entran las combinaciones en las que la plaga apareció, así que la respuesta suele ser bastante menor que puntos × plagas.

Es la ruta más pesada

La respuesta multiplica punto × plaga. Sin filtro de parcela o de monitoreo, devuelve el período entero: filtre siempre por id_levantamento o id_talhao.

Parámetros

Opción Parámetro Observación
1 id_levantamento El filtro recomendado.
2 id_talhao Parcela. También id_plantio e id_safra.
3 data_inicial Con data_final. Ventana de 366 días; sin los dos, los últimos 30 días.
4 datmod_inicial Sincronización incremental, en AAAA-MM-DD HH:MM:SS.
5 id_praga Una plaga. Alternativas: codigo_praga y tipo.
6 id_usuario Un técnico. Con ponto, se llega a una sola línea.

Campos

Los mismos campos de plaga de /levantamento_praga_resumo y los de punto de /levantamento_ponto, más:

Campo Tipo Observación
VALOR Número Lo que el técnico digitó en ese punto, sin cálculo.
RESULTADO_PONTO String Texto listo para mostrar: la opción elegida cuando la plaga tiene valor predefinido; si no, el número digitado.
ID_VALPRE_UPCAMPO
OPCAO_VALPRE
VALPRE_ORDEM
String / Entero La opción de valor predefinido elegida en el punto, cuando la plaga está registrada así.
LATITUDE
LONGITUDE
Número Coordenada del punto.
Solicitud
curl -G https://api.upcampo.com.br/levantamento_praga_ponto \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'id_levantamento=3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03'
Respuesta200
[
  {
    "ID_LEVANTAMENTO_UPCAMPO": "3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03",
    "DATA": "2024-08-19",
    "DATASTRING": "19/08/2024",
    "TALHAO_DESCRICAO_SETOR": "BOA VISTA - TH 01",
    "PONTO": 1,
    "TIPO_LEVANTAMENTO": "PLA",
    "ID_USUARIO_UPCAMPO": "5D0B3E87-4A16-42C9-8F35-9B7E1C6A0D24",
    "ID_USUARIO_REFERENCIA": "TEC-07",
    "TECNICO": "Carlos Menezes",
    "ID_PRAGA_UPCAMPO": "4C8E0A96-7B31-4D25-9E48-1F6A3B5C7D09",
    "PRAGA_CODIGO": "0012",
    "PRAGA_DESCRICAO": "Spodoptera frugiperda",
    "PRAGA_COMPLETA": "Spodoptera frugiperda - Pequena",
    "TIPO": "Praga",
    "PRAGA_ORDEM": 3,
    "ID_CLASSIFICACAO_UPCAMPO": "8B1D5F73-6A29-4C84-9017-2E5B8D0A3C61",
    "CLASSIFICACAO": "Lagartas",
    "ID_TAMANHO_UPCAMPO": "2F7A9C34-0E85-4B16-8D93-5A1C6E0B4F27",
    "TAMANHO": "Pequena",
    "TAMANHO_ORDEM": 1,
    "ID_VALPRE_UPCAMPO": null,
    "OPCAO_VALPRE": null,
    "VALPRE_ORDEM": null,
    "FORMULA_CALCULO": "Percentual de plantas atacadas",
    "VALOR": 2,
    "QUAPLA": 10,
    "RESULTADO_PONTO": "2",
    "LATITUDE": -12.654321,
    "LONGITUDE": -45.123456
  }
]

Monitoreo completo GET

URL BASE + /levantamentoCompleto

El monitoreo como padre, con los hijos anidados —PRAGAS_RESUMO, FENOLOGIA y PONTOS— en una sola llamada. Es la ruta para armar el boletín de monitoreo de la parcela sin cruzar cuatro consultas. Cada array tiene el nombre de la ruta equivalente: PRAGAS_RESUMO trae lo que /levantamento_praga_resumo devolvería de ese monitoreo, y así sucesivamente.

PRAGAS_PONTO queda fuera por defecto

La plaga desglosada punto por punto multiplica punto × plaga y engorda la respuesta. Pase incluir_praga_ponto=true para traerla anidada también.

Sin sincronización incremental

Esta ruta no acepta datmod_inicial: solo filtro por fecha. Para sincronizar lo que cambió, use las cinco rutas de lista.

Parámetros

Opción Parámetro Observación
1 data_inicial Con data_final, que sin valor equivale a hoy. Ventana de 366 días; sin los dos, los últimos 30 días.
2 incluir_praga_ponto true trae también el array PRAGAS_PONTO, con la plaga punto por punto.
3 id_upcampo Un monitoreo específico.
4 id_talhao Parcela. Alternativas: id_talhao_referencia, codigo_talhao y setor.
5 id_safra Campaña. Alternativa más precisa: id_plantio.

Campos

Campo Tipo Observación
— — Los mismos campos de /levantamento en el padre.
PRAGAS_RESUMO Array Lo que se encontró en la parcela, con los campos de /levantamento_praga_resumo, sin repetir la identificación del padre.
FENOLOGIA Array Medidas de la planta, como en /levantamento_fenologia.
PONTOS Array Puntos recorridos, como en /levantamento_ponto.
PRAGAS_PONTO Array Solo con incluir_praga_ponto=true. La plaga punto por punto, como en /levantamento_praga_ponto.
Solicitud
curl -G https://api.upcampo.com.br/levantamentoCompleto \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'data_inicial=2024-08-01' \
  --data-urlencode 'data_final=2024-08-31' \
  --data-urlencode 'incluir_praga_ponto=true'
Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_LEVANTAMENTO_UPCAMPO": "3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03",
    "EXCLUIDO": false,
    "DATA_MODIFICACAO": "2024-08-19T18:41:07.220",
    "DATA": "2024-08-19",
    "DATASTRING": "19/08/2024",
    "TOTAL_PONTOS": 10,
    "TECNICOS": "Carlos Menezes",
    "ID_SAFRA_REFERENCIA": "SAF-2024",
    "SAFRA": "2024/2025",
    "ID_TALHAO_REFERENCIA": "1",
    "TALHAO_DESCRICAO_SETOR": "BOA VISTA - TH 01",
    "CULTURA": "Soja",
    "VARIEDADE": "TMG 7067",
    "ESTAGIO": "V4 - Terceiro trifólio",
    "PRAGAS_RESUMO": [
      {
        "PRAGA_CODIGO": "0012",
        "PRAGA_COMPLETA": "Spodoptera frugiperda - Pequena",
        "TIPO": "Praga",
        "VALOR_TOTAL": 15,
        "RESULTADO": "15,0 %",
        "ALERTA_COR": "vermelho"
      }
    ],
    "FENOLOGIA": [
      {
        "TIPO_FENOLOGIA": "STAND",
        "VALOR_TOTAL": 122,
        "MEDIA_POR_PONTO": 12.2,
        "UNIDADE": "plantas/metro"
      }
    ],
    "PONTOS": [
      {
        "PONTO": 1,
        "TECNICO": "Carlos Menezes",
        "STAND": 12.2,
        "LATITUDE": -12.654321,
        "LONGITUDE": -45.123456
      }
    ],
    "PRAGAS_PONTO": [
      {
        "PONTO": 1,
        "PRAGA_CODIGO": "0012",
        "PRAGA_COMPLETA": "Spodoptera frugiperda - Pequena",
        "VALOR": 2,
        "RESULTADO_PONTO": "2"
      }
    ]
  }
]

Clase de producto GETPOST

URL BASE + /classe_produto

La clase agrupa productos por naturaleza: insumo, combustible, repuesto, lubricante, servicio. Es ella la que define el comportamiento del producto en el stock y en el costo, así que registre la clase antes del producto.

Parámetros del GET

Parámetro Observación
id_upcampo Identificador interno de upCampo.
codigo
id_referencia Identificador en el sistema del socio.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo. Si upCampo lo encuentra, es una actualización; si no, es un registro nuevo.
DESCRICAO String Sí Nombre de la clase.
CODIGO String —
ATIVO Boolean — true o false.
DELETADO Boolean — Use true para enviar una eliminación.
Solicitud
curl -X POST https://api.upcampo.com.br/classe_produto \
  -H 'Authorization: Bearer $TOKEN' \
  -H 'Content-Type: application/json' \
  -d @classe.json
Cuerpo (body)
[
  {
    "ID_REFERENCIA": "1",
    "CODIGO": "0001",
    "DESCRICAO": "Classe integracao",
    "ATIVO": true,
    "DELETADO": false
  }
]
Respuesta200
[
  {
    "TABELA": "CLASSE",
    "ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "ID_REFERENCIA": "1",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]

Producto GETPOST

URL BASE + /produto

El producto es el ítem que entra y sale del stock: insumo, combustible, repuesto, y también servicio. Es el registro más consultado de la integración, porque el movimiento, la orden de servicio y la carga de combustible apuntan todos a él.

Parámetros del GET

Parámetro Observación
id_upcampo Identificador interno de upCampo.
codigo
id_referencia Identificador en el sistema del socio.
id_classe Filtra por clase de producto.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo. Si upCampo lo encuentra, es una actualización; si no, es un registro nuevo.
DESCRICAO String Sí Nombre del producto.
CODIGO String —
MARCA String —
CODUNI String — Abreviatura de la unidad. Ejemplo: KG.
ATIVO Boolean — true o false.
NCM String —
COMBUSTIVEL Boolean — true o false.
SEMENTE Boolean — true o false.
DELETADO Boolean — Use true para enviar una eliminación.
CLASSE_DESCRICAO String — Descripción de la clase en upCampo.
ID_CLASSE_UPCAMPO String — Identificador de la clase en upCampo.
ID_CLASSE_REFERENCIA String — Identificador de la clase en el ERP externo. Debe estar mapeado en el registro de upCampo para que se localice su identificador.
Solicitud
curl -X POST https://api.upcampo.com.br/produto \
  -H 'Authorization: Bearer $TOKEN' \
  -H 'Content-Type: application/json' \
  -d @produto.json
Cuerpo (body)
[
  {
    "ID_REFERENCIA": "30",
    "CODIGO": "0001",
    "DESCRICAO": "TV 40 POLEGADA - TESTE INTEGRACAO 1",
    "MARCA": "LG",
    "CODUNI": "UN",
    "ATIVO": true,
    "DELETADO": false,
    "ID_CLASSE_REFERENCIA": "25"
  }
]
Respuesta200
[
  {
    "TABELA": "PRODUTO",
    "ID_UPCAMPO": "7E28F9F0-62BF-4C89-8D7F-84345CA5B183",
    "ID_REFERENCIA": "30",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]

Ubicación de stock GET

URL BASE + /local_estoque

La ubicación de stock es donde se guarda el producto: galpón de insumos, tanque de gasoil, depósito. En upCampo el saldo y el costo promedio son por producto y por ubicación, y no solo por producto; por eso casi toda ruta de movimiento exige la ubicación.

Esta ruta es de solo lectura. Para grabar el identificador de su sistema, use /local_estoqueReferencia. Acepta el parámetro opcional setor.

Campos

Campo Tipo Observación
ID_UPCAMPO String Identificador en upCampo.
ID_REFERENCIA String Identificador en el ERP externo.
DESCRICAO String Nombre de la ubicación.
CODIGO String
ATIVO Boolean true o false.
DELETADO Boolean true o false.
Solicitud
curl https://api.upcampo.com.br/local_estoque \
  -H 'Authorization: Bearer $TOKEN'
Estructura
[
  {
    "ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
    "ID_REFERENCIA": "1",
    "CODIGO": "0001",
    "DESCRICAO": "Barracao de Insumos",
    "ATIVO": true,
    "DELETADO": false
  }
]

Equipo / Flota / Bien de mejora GETPOST

URL BASE + /equipamento

Una sola pantalla para tres cosas: flota (lo que tiene motor y ruedas: tractor, cosechadora, camión), equipo (el implemento remolcado) y bien de mejora (lo que es inmovilizado del establecimiento). El campo TIPO es el que separa los tres.

En el GET acepta el parámetro opcional id_classificacao.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo. Si upCampo lo encuentra, es una actualización; si no, es un registro nuevo.
TIPO String Sí Frota, Equipamento o Bem Feitoria (flota, equipo o bien de mejora).
DESCRICAO String Sí Nombre.
CODIGO String — Código.
PLACA String — Patente.
CHASSI String — Chasis.
MODELO String — Modelo.
MARCA String — Marca.
ATIVO Boolean — true o false.
DELETADO Boolean — Use true para enviar una eliminación.
Cuerpo (body)
[
  {
    "ID_REFERENCIA": "1",
    "TIPO": "Frota",
    "CODIGO": "0001",
    "DESCRICAO": "Trator 001",
    "PLACA": "JHD-1234",
    "CHASSI": "12345687",
    "MODELO": "T20",
    "MARCA": "JONH DEERE",
    "ATIVO": true,
    "DELETADO": false
  }
]
Respuesta200
[
  {
    "TABELA": "EQUIPAMENTO",
    "ID_UPCAMPO": "659EAF57-7C02-4CEE-B063-17F05AB54624",
    "ID_REFERENCIA": "1",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]

Tipo de actividad GET

URL BASE + /tipo_atividade

El tipo de actividad es lo que hace la orden de servicio: aplicación de defensivos, fertilización, siembra, cosecha. Por él se filtran las órdenes (id_tipati o id_tipati_referencia).

Campos

Campo Tipo Observación
ID String Identificador en upCampo.
ID_REFERENCIA String Identificador en el ERP externo.
DESCRICAO String Nombre del tipo de actividad.
CODIGO String
ATIVO Boolean true o false.
CLASSIFICACAO String Una clasificación estándar para el tipo de actividad.

Para grabar el identificador de su ERP, use /tipo_atividadeReferencia.

Respuesta200
[
  {
    "ID_REFERENCIA": "1",
    "ID": "1asd-1023-s344-1233-1233",
    "CODIGO": "0001",
    "DESCRICAO": "Aplicação de Defensivo Terreste",
    "ATIVO": true,
    "CLASSIFICACAO": "Aplicação de Defensivo"
  }
]

Identificación resumida GET

URL BASE + /identificacao_resumida

Ide. Res. es como el portal abrevia Identificación Resumida, también llamada IDERES. Es una especie de subgrupo del tipo de actividad: dentro de "Aplicación de defensivos", por ejemplo, distingue "1 FUNGICIDA" de "INSETICIDA".

Campos

Campo Tipo Observación
ID String Identificador en upCampo.
ID_REFERENCIA String Identificador en el ERP externo.
DESCRICAO String Nombre de la identificación resumida.
CODIGO String
ATIVO Boolean true o false.
Respuesta200
[
  {
    "ID_REFERENCIA": "1",
    "ID": "1asd-1023-s344-1233-1233",
    "CODIGO": "0001",
    "DESCRICAO": "1 FUNGICIDA",
    "ATIVO": true
  }
]

Movimiento (NF) GETPOST

URL BASE + /movimentacao

El movimiento es la entrada de la factura (nota fiscal) en el stock del establecimiento, y no solo de productos: la factura de servicio (flete, mantenimiento hecho afuera, aplicación de terceros) también entra por aquí. Es la que forma el costo promedio de cada producto en cada ubicación de stock.

Parámetros del GET

Tres opciones, excluyentes:

Opción Parámetro Observación
1 datmod_inicial Fecha de modificación inicial. Formato AAAA-MM-DD HH:MM:SS; ej.: 2024-03-15 07:00:00. La hora es opcional; sin ella, vale desde la medianoche.
Combinable con data_inicial + data_final —la fecha del documento, en AAAA-MM-DD, ventana máxima de 7 días— y con status (Finalizado o Pendente).
2 numero Número de la factura.
3 id_referencia Identificador en el sistema del socio.

Campos

Campo Tipo Obligatorio Observación
Encabezado
ID_REFERENCIA String Sí Identificador en el ERP externo. Si upCampo lo encuentra, es una actualización; si no, es un registro nuevo.
NUMERO String Sí Número de la NF.
DATA String Sí Formato AAAA-MM-DD; ej.: 2024-08-19.
CNPJCPF String Sí CNPJ o CPF del emisor. Si upCampo no lo encuentra, el emisor se agrega automáticamente a su base.
RAZSOC String Sí Razón social del emisor.
NOMFAN String — Nombre de fantasía del emisor.
CODFOR String — Código del registro del emisor en el sistema del socio.
CHANFE String — Clave de la NF-e.
VALTOT Número Sí Valor total de la NF.
VALDES Número — Valor total de descuentos.
VALFRE Número — Valor total del flete.
VALLIQ Número Sí Valor neto final, ya con los descuentos.
DELETADO Boolean — Use true para enviar una eliminación.
ITENS Array Sí Los ítems de la factura.
Ítems
ID_REFERENCIA String Sí Identificador del ítem en el ERP externo.
ID_PRODUTO_REFERENCIA String Sí Identificador del producto en el ERP externo, mapeado en el registro de upCampo.
ID_LOTE_REFERENCIA String — Identificador del lote en el ERP externo, mapeado en el registro de upCampo.
DATVEN String — Fecha de vencimiento del lote (si hay lote), formato AAAA-MM-DD.
NUMLOT String — Número o código del lote (si hay lote).
ID_LOCEST_REFERENCIA String Uno u otro Identificador de la ubicación de stock en el ERP externo, mapeado en el registro de upCampo.
ID_EQUIPAMENTO_REFERENCIA String Uno u otro Identificador del equipo o flota en el ERP externo: úselo cuando el costo se cargue directo a una flota, en lugar de entrar al stock.
CODUNI String — Abreviatura de la unidad. Ejemplo: KG.
QUANTIDADE Número Sí Cantidad del producto.
VALUNI Número Sí Valor unitario del producto.
VALTOT Número Sí Valor total del producto.
VALDES Número — Valor del descuento del producto.
VALFRE Número — Valor del flete del producto.
VALLIQ Número Sí Valor neto final, ya con los descuentos.
DELETADO Boolean — Use true para enviar una eliminación.
Solicitud
curl -G https://api.upcampo.com.br/movimentacao \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'datmod_inicial=2023-06-01 09:00:00' \
  --data-urlencode 'status=Finalizado'
Cuerpo (body)
[
  {
    "ID_REFERENCIA": "2",
    "NUMERO": "0002",
    "DATA": "2024-4-27",
    "DATEMI": "2024-4-01",
    "CNPJCPF": "0123",
    "RAZSOC": "NOVO INTEGRACAO",
    "NOMFAN": "NOVO IN",
    "CHANFE": "5555.44444.5555.6666.9999.99999",
    "VALTOT": 200.50,
    "VALDES": 0,
    "VALFRE": 0,
    "VALLIQ": 200.50,
    "DELETADO": false,
    "ITENS": [
      {
        "ID_REFERENCIA": "A",
        "ID_PRODUTO_REFERENCIA": "1",
        "ID_LOCEST_REFERENCIA": "1010101",
        "QUANTIDADE": 40,
        "VALUNI": 2,
        "VALTOT": 40,
        "VALLIQ": 40
      }
    ]
  }
]
Respuesta200
[
  {
    "TABELA": "CABECALHO",
    "ID_UPCAMPO": "86F44591-D8D7-465D-BB86-5EA461B63E7D",
    "ID_REFERENCIA": "2",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  },
  {
    "TABELA": "DETALHE",
    "ID_UPCAMPO": "E9A93574-C4BF-4DA7-8F23-E3D3E0FF816A",
    "ID_REFERENCIA": "A",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]

Transferencia entre ubicaciones de stock GETPOST

URL BASE + /transferencia

La transferencia mueve saldo de una ubicación de stock a otra, sin factura: del galpón central al galpón de la unidad, por ejemplo. El documento tiene encabezado e ítems.

Parámetros del GET

Parámetro Obligatorio Observación
data_inicial Sí Formato AAAA-MM-DD; ej.: 2024-08-19. Ventana máxima de 7 días entre las dos.
data_final Sí
status — Finalizado o Pendente.
codigo —
id_referencia —
id_upcampo —
id_local_origem —
id_local_destino —

Campos

Campo Tipo Obligatorio Observación
Encabezado
ID_REFERENCIA String Sí Identificador en el ERP externo.
DATA String Sí Formato AAAA-MM-DD; ej.: 2024-08-19.
ID_LOCESTORI_REFERENCIA String Sí Ubicación de stock de origen, en el ERP externo, mapeada en upCampo.
ID_LOCESTDES_REFERENCIA String Sí Ubicación de stock de destino, en el ERP externo, mapeada en upCampo.
NUMEXT String — Código o número del documento en el ERP externo.
QUEMRECEBEU String — Nombre de quien recibió.
QUEMENTREGOU String — Nombre de quien entregó.
NUMNF String — Número de la NF.
OBSERVACAO String —
DELETADO Boolean — Use true para enviar una eliminación.
ITENS Array Sí Los ítems de la transferencia.
Ítems
ID_REFERENCIA String — Identificador del ítem en el ERP externo.
ID_PRODUTO_REFERENCIA String Sí Identificador del producto en el ERP externo, mapeado en upCampo.
ID_LOTE_REFERENCIA String — Identificador del lote en el ERP externo, mapeado en upCampo.
QUANTIDADE Número Sí
VALUNI Número Sí
VALLIQ Número Sí
DELETADO Boolean — Use true para enviar una eliminación.
Un documento finalizado no cambia

Una transferencia ya finalizada no se puede modificar: la respuesta viene con "MENSAGEM": "Documento finalizado não pode ser alterado". Además, upCampo rechaza la operación que dejaría negativo el saldo de origen.

Cuerpo (body)
[
  {
    "ID_REFERENCIA": "21",
    "DATA": "2023-3-27",
    "ID_LOCESTORI_REFERENCIA": "1010101",
    "ID_LOCESTDES_REFERENCIA": "2010101",
    "NUMEXT": "0021",
    "QUEMENTREGOU": "José",
    "QUEMRECEBEU": "João",
    "NUMNF": "00158",
    "ITENS": [
      {
        "ID_REFERENCIA": "21_A",
        "ID_PRODUTO_REFERENCIA": "1",
        "QUANTIDADE": 5,
        "VALUNI": 2,
        "VALLIQ": 10
      }
    ]
  }
]
Respuesta del POST200
[
  {
    "TABELA": "CABECALHO",
    "ID_UPCAMPO": "B674DF03-052C-427D-9CCD-FFA553F88D18",
    "ID_REFERENCIA": "21",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  },
  {
    "TABELA": "DETALHE",
    "ID_UPCAMPO": "F1692266-457D-4B86-A33C-3381F0F5FF56",
    "ID_REFERENCIA": "21_A",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]
Respuesta del GET200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_TRANSFERENCIA_UPCAMPO": "1AA818E8-0B7C-44D2-81F0-7155AB00127C",
    "ID_REFERENCIA": "12345",
    "EXCLUIDO": false,
    "CODIGO": "0011",
    "NUMEXT": null,
    "DATA_MODIFICACAO": "2024-04-30T15:47:01.697",
    "DATASTRING": "30/04/2024",
    "DATA": "2024-04-30",
    "STATUS": "Finalizado",
    "USUARIO_NOME": "Admin",
    "ID_USUARIO_UPCAMPO": "0dab044a-1e1e-4333-a39b-879e891fa086",
    "OBSERVACAO": "OBSERVACAO",
    "NUMNF": "001",
    "ENTREGADOR": "CARLOS",
    "RECEBEDOR": "MARCOS",
    "LOCESTORI_DESCRICAO": "Algodoeira",
    "ID_LOCESTORI_UPCAMPO": "C02A3653-849B-4C3D-894E-FBFE4FFCF479",
    "ID_LOCESTORI_REFERENCIA": "1010101",
    "LOCESTDES_DESCRICAO": "Algodoeira",
    "ID_LOCESTDES_UPCAMPO": "C02A3653-849B-4C3D-894E-FBFE4FFCF479",
    "ID_LOCESTDES_REFERENCIA": "1010101",
    "itens": [
      {
        "ID_TRANSFERENCIA_DETALHE_UPCAMPO": "F090E396-1E96-4D49-80FE-655CAE2AB309",
        "ID_REFERENCIA_DETALHE": null,
        "EXCLUIDO_DETALHE": false,
        "PRODUTO_DESCRICAO": "Algodao em Pluma 01",
        "ID_PRODUTO_UPCAMPO": "D236201E-BACA-4D14-9D10-F4374B46D17A",
        "ID_PRODUTO_REFERENCIA": "1",
        "ID_LOTE_UPCAMPO": null,
        "ID_LOTE_REFERENCIA": null,
        "PRODUTO_UNIDADE": "KG - Quilograma",
        "PRODUTO_CODUNI": "KG",
        "QUANTIDADE": 6.000000
      }
    ]
  }
]

Inventario POST

URL BASE + /inventario

El inventario ajusta el saldo de un producto en una ubicación de stock: en lugar de cargar una entrada o una salida, se informa cuál es el saldo correcto en esa fecha. Úselo en el cambio de campaña y en el control físico del depósito.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el ERP externo. Si upCampo lo encuentra, es una actualización; si no, es un registro nuevo.
ID_PRODUTO_REFERENCIA String Sí* Identificador del producto en el ERP externo, mapeado en upCampo.
ID_PRODUTO_UPCAMPO String Sí* Identificador del producto en upCampo: úselo cuando ID_PRODUTO_REFERENCIA sea nulo.
ID_LOTE_REFERENCIA String — Identificador del lote en el ERP externo, mapeado en upCampo.
ID_LOTE_UPCAMPO String — Identificador del lote en upCampo, cuando no exista la referencia.
ID_LOCEST_REFERENCIA String Sí* Identificador de la ubicación de stock en el ERP externo, mapeado en upCampo.
ID_LOCEST_UPCAMPO String Sí* Identificador de la ubicación en upCampo: úselo cuando ID_LOCEST_REFERENCIA sea nulo.
DATA String — Formato AAAA-MM-DD; ej.: 2024-08-19.
SALDO Número Sí Saldo del producto.
VALUNI Número — Valor unitario del producto.
VALTOT Número — Valor total del producto.

* Informe la referencia o el identificador de upCampo: uno de los dos.

Cuerpo (body)
[
  {
    "ID_REFERENCIA": "1",
    "ID_PRODUTO_REFERENCIA": "1",
    "ID_LOCEST_REFERENCIA": "1010101",
    "DATA": "2023-02-01",
    "SALDO": 20.00,
    "VALUNI": "30.00",
    "VALTOT": "600.00"
  }
]
Respuesta200
[
  {
    "TABELA": "INVENTARIO",
    "ID_UPCAMPO": "7E28F9F0-62BF-4C89-8D7F-84345CA5B183",
    "ID_REFERENCIA": "1",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]

Saldo de stock GET

URL BASE + /estoque

Devuelve el saldo actual por producto y ubicación de stock: así controla upCampo el stock, y por eso el mismo producto puede tener saldos diferentes en galpones diferentes.

Parámetros

Parámetro Observación
id_locest_referencia Filtra por ubicación de stock.
id_produto_referencia Filtra por producto.

Campos

Campo Tipo Observación
ID_ESTOQUE_UPCAMPO String Identificador de la línea de stock en upCampo.
LOCEST_DESCRICAO String Descripción de la ubicación de stock en upCampo.
ID_LOCEST_UPCAMPO String Identificador de la ubicación en upCampo.
ID_LOCEST_REFERENCIA String Identificador de la ubicación en el ERP externo.
PRODUTO_DESCRICAO String Descripción del producto en upCampo.
ID_PRODUTO_UPCAMPO String Identificador del producto en upCampo.
ID_PRODUTO_REFERENCIA String Identificador del producto en el ERP externo.
SALDO Número Saldo actual.
Solicitud
curl 'https://api.upcampo.com.br/estoque?id_locest_referencia=38' \
  -H 'Authorization: Bearer $TOKEN'
Respuesta200
[
  {
    "ID_ESTOQUE_UPCAMPO": "0F5D3D06-7BB1-4A2E-9A05-5D6E5F0C61A3",
    "LOCEST_DESCRICAO": "FUM - DIESEL",
    "ID_LOCEST_UPCAMPO": "23C7A375-B67B-42BC-ABD9-6577F075A26A",
    "ID_LOCEST_REFERENCIA": "38",
    "PRODUTO_DESCRICAO": "DIESEL S10",
    "ID_PRODUTO_UPCAMPO": "F44E08B3-4A0F-4A35-99AD-1E66418611D9",
    "ID_PRODUTO_REFERENCIA": "1201",
    "SALDO": 12450.000000
  }
]

Orden de servicio agrícola — completa GET

URL BASE + /ordem_agricola_completa

La orden de servicio es el documento que registra qué se aplicó, en qué parcelas y por quién. Esta ruta devuelve todo en un solo objeto: encabezado + productos + parcelas + ejecuciones. Es la elección correcta cuando el ERP quiere la orden entera en una sola lectura.

El costo se prorratea por área

La cantidad de cada producto se carga para la orden entera (QUANTIDADE_TOTAL_PRODUTO) y se distribuye entre las parcelas según el área de cada una. Por eso la orden trae el área total (ARETOT) y el área de cada parcela (AREA).

Parámetros

Opción Parámetro Observación
1 data_inicial + data_final Formato AAAA-MM-DD; ej.: 2024-08-19. Combinable con id_tipati, id_tipati_referencia y status (Finalizado o Pendente).
2 codigo Código de la orden en upCampo.
3 id_referencia Identificador en el sistema del socio.

Ejemplo: ?data_inicial=2023-06-01&data_final=2023-06-30&status=Finalizado

Grabar la referencia de la orden

Use POST /ordem_agricola_completaReferencia con id_upcampo, id_referencia y, opcionalmente, codSai; este último para cuando el código generado en el sistema del socio es diferente del código de la orden en upCampo.

Campos

Campo Tipo Observación
Encabezado de la orden
ID_ORDSER_UPCAMPO String Identificador de la orden de servicio en upCampo.
ID_REFERENCIA String Identificador en el ERP externo, mapeado en el registro de upCampo.
CODIGO String Código o número de la orden en upCampo.
SEQUENCIAL Integer Funciona como un identificador numérico, para socios que no pueden trabajar con identificadores de texto.
DELETADO Boolean
DATPRESTRING String Fecha prevista, en el formato dd/mm/aaaa.
DATPRE String Fecha prevista, en el formato AAAA-MM-DD.
DATFINSTRING String Fecha de finalización, en el formato dd/mm/aaaa.
DATFIN String Fecha de finalización, en el formato AAAA-MM-DD.
ARETOT Número Área total de la orden, en hectáreas.
AREEXE Número Área total ejecutada, en hectáreas.
STATUS String Pendente o Finalizado.
TIPAPL String Tipo de aplicación de defensivos: Terrestre o Aérea.
USUARIO_NOME
ID_USUARIO_UPCAMPO
ID_USUARIO_REFERENCIA
String Quién la incluyó: nombre, identificador en upCampo e identificador en el ERP externo.
USUARIO_FINALIZOU_NOME
ID_USUARIO_FINALIZOU_UPCAMPO
ID_USUARIO_FINALIZOU_REFERENCIA
String Quién la finalizó: nombre, identificador en upCampo e identificador en el ERP externo.
TIPATI_DESCRICAO
ID_TIPATI_UPCAMPO
ID_TIPATI_REFERENCIA
String Tipo de actividad.
IDERES_DESCRICAO
ID_IDERES_UPCAMPO
ID_IDERES_REFERENCIA
String Identificación resumida, una especie de subgrupo del tipo de actividad.
EQUIPE_DESCRICAO
ID_EQUIPE_UPCAMPO
ID_EQUIPE_REFERENCIA
String Equipo de trabajo que ejecutó.
SAFRA_DESCRICAO
SAFRA_ID_UPCAMPO
ID_SAFRA_REFERENCIA
String Campaña de la orden.
ID_CICLO_REFERENCIA String Identificador del ciclo en el ERP externo.
Agrupación — productos
LOCEST_DESCRICAO
ID_LOCEST_UPCAMPO
ID_LOCEST_REFERENCIA
String Ubicación de stock de donde salió el producto.
PRODUTO_DESCRICAO
ID_PRODUTO_UPCAMPO
ID_PRODUTO_REFERENCIA
String Producto aplicado.
LOTE_DESCRICAO
ID_LOTE_UPCAMPO
ID_LOTE_REFERENCIA
String Lote, cuando el producto se controla por lote.
PRODUTO_UNIDADE String Unidad completa (código + descripción).
PRODUTO_CODUNI String Abreviatura de la unidad.
QUANTIDADE_TOTAL_PRODUTO Número Cantidad del ítem, bruta, sin división.
DOSE_INDIVIDUAL Número Dosis del ítem, bruta, sin división.
Agrupación — parcelas
TALHAO_DESCRICAO
ID_TALHAO_UPCAMPO
ID_TALHAO_REFERENCIA
String Parcela incluida en la orden.
TALHAO_SETOR String
ID_SETOR_REFERENCIA String Identificador en el ERP externo. Consejo: si el ERP usa varias sucursales y upCampo no, haga la equivalencia (de/para) aquí.
AREA Número Área en hectáreas de esa parcela en la orden.
VARIEDADE_DESCRICAO
ID_VARIEDADE_UPCAMPO
ID_VARIEDADE_REFERENCIA
String Variedad sembrada.
CULTURA_DESCRICAO
ID_CULTURA_UPCAMPO
ID_CULTURA_REFERENCIA
String Cultivo.
SAFRA_DESCRICAO
ID_SAFRA_REFERENCIA
String Campaña de la parcela.
ID_PLANTIO_SAFRA_UPCAMPO
ID_PLANTIO_SAFRA_REFERENCIA
String Siembra de la campaña correspondiente.
Agrupación — ejecuciones
ID_EXECUCAO_UPCAMPO String Identificador interno de la ejecución en upCampo.
DATASTRING String Fecha de la ejecución, en el formato dd/mm/aaaa.
DATA String Fecha de la ejecución, en el formato AAAA-MM-DD.
HORA_INICIO / MINUTO_INICIO String Inicio de la ejecución.
HORA_FIM / MINUTO_FIM String Fin de la ejecución.
AREA Número Área en hectáreas de la ejecución.
EQUIPAMENTO_DESCRICAO
ID_EQUIPAMENTO_UPCAMPO
ID_EQUIPAMENTO_REFERENCIA
String Equipo usado.
LEIINI Número Lectura inicial (horómetro o km).
LEIFIN Número Lectura final (horómetro o km).
QUAHOR Número Cantidad de horas.
FUNCIONARIO_NOME
ID_FUNCIONARIO_UPCAMPO
ID_FUNCIONARIO_REFERENCIA
String Empleado que ejecutó.
ID_FUNCIONARIOS_AGRUPADOS String Identificadores agrupados, cuando más de un empleado participa de la misma ejecución, separados por punto y coma.
Solicitud
curl 'https://api.upcampo.com.br/ordem_agricola_completa?data_inicial=2023-06-01&data_final=2023-06-30&status=Finalizado' \
  -H 'Authorization: Bearer $TOKEN'
Respuesta200
[
  {
    "ID_FILIAL": "DE319CA8-601F-4E68-978D-D0FB0DC27457",
    "ID_ORDSER_UPCAMPO": "io0wrnIjESTkkvAGkrlY",
    "CODIGO": "0570",
    "DATPRESTRING": "24/05/2023",
    "DATPRE": "2023-05-24",
    "DATFINSTRING": "24/05/2023",
    "DATFIN": "2023-05-24T00:00:00.000Z",
    "ARETOT": 142,
    "AREEXE": 142,
    "STATUS": "Finalizado",

    "ID_SAIDA_UPCAMPO": "0B94079D-8D3A-4FE2-B1F5-B0D36F3579BC",
    "ID_SAIDA_REFERENCIA": "11556",

    "LOCEST_DESCRICAO": "FUM - DEFENSIVOS",
    "ID_LOCEST_UPCAMPO": "B203B099-9AB2-4379-89FD-52D788E73F9C",
    "ID_LOCEST_REFERENCIA": "12",

    "PRODUTO_DESCRICAO": "BRAVONIL 720",
    "ID_PRODUTO_UPCAMPO": "BC8DC697-9673-4636-B78D-370926042403",
    "ID_PRODUTO_REFERENCIA": "330",
    "ID_LOTE_UPCAMPO": null,
    "ID_LOTE_REFERENCIA": null,
    "QUANTIDADE_PROPORCIONAL": 93.8,
    "QUANTIDADE_TOTAL_PRODUTO": 198.8,
    "DOSE_INDIVIDUAL": 1.4,

    "TALHAO_DESCRICAO": "16 - UNIAO",
    "ID_TALHAO_UPCAMPO": "CA7742B0-AA38-4A37-A77C-10F214AED03D",
    "ID_TALHAO_REFERENCIA": "1",
    "AREA": 67,

    "VARIEDADE_DESCRICAO": "FM 985 GLTP",
    "ID_VARIEDADE_UPCAMPO": "9D6D9741-AFEB-4405-BACD-4C7341EC8006",
    "ID_VARIEDADE_REFERENCIA": "1",

    "CULTURA_DESCRICAO": "ALGODAO",
    "ID_CULTURA_UPCAMPO": "5795CCB1-44FC-44B8-AAB9-0DBDD4182E68",
    "ID_CULTURA_REFERENCIA": "1",

    "SAFRA_DESCRICAO": "ALGODAO E MILHO 2023",
    "ID_SAFRA_REFERENCIA": "1",
    "ID_PLANTIO_SAFRA_UPCAMPO": "592D56A2-2A71-4DD0-953B-F3020A142B5B",
    "ID_PLANTIO_SAFRA_REFERENCIA": "1",

    "TIPATI_DESCRICAO": "Aplicação de defensivo",
    "ID_TIPATI_UPCAMPO": "8650A085-15E2-4877-A7DA-92A52D112463",
    "ID_TIPATI_REFERENCIA": "1",
    "IDERES": "FUNGICIDA + INSET",

    "EQUIPE_DESCRICAO": "UNIAO - APL TERRESTRE",
    "ID_EQUIPE_UPCAMPO": "938C2A4C-035E-478A-866C-B200B42300D9",
    "ID_EQUIPE_REFERENCIA": "1"
  }
]

Orden de servicio — insumos / producto GET

URL BASE + /ordem_agricola_insumo

Devuelve la orden de servicio con el encabezado y tres listas anidadas: produtos, talhoes y execucoes. Es la ruta usada para llevar la baja de insumos del cultivo al stock del ERP.

Parámetros

Opción Parámetro Observación
1 datmod_inicial Fecha de modificación inicial. Formato AAAA-MM-DD HH:MM:SS; ej.: 2024-03-15 07:00:00. La hora es opcional; sin ella, vale desde la medianoche.
Combinable con data_inicial + data_final —la fecha del documento, en AAAA-MM-DD—, id_tipati, id_tipati_referencia y status.
2 codigo Código de la orden en upCampo.
3 id_referencia Identificador en el sistema del socio.

Ejemplo: ?datmod_inicial=2023-06-01 09:00:00&status=Finalizado

Campos específicos de esta ruta

El encabezado es el mismo de la orden completa. Se agregan:

Campo Tipo Observación
EXCLUIDO Boolean
CODIGO_SAIDA_UPCAMPO String Código de la orden de servicio más la secuencia única de parcela × producto.
ID_SAIDA_UPCAMPO String Identificador interno de la salida en upCampo.
ID_SAIDA_REFERENCIA String Identificador de la salida en el ERP externo, mapeado en upCampo. Grábelo con /ordem_agricola_insumoReferencia.
QUANTIDADE_PROPORCIONAL Número Cantidad del ítem ya dividida proporcionalmente por el área de la parcela en relación con el área total de la orden.
QUANTIDADE_TOTAL_PRODUTO Número Cantidad del ítem, bruta, sin división.
DOSE_INDIVIDUAL Número Dosis del ítem, bruta, sin división.
¿Proporcional o total?

QUANTIDADE_TOTAL_PRODUTO es lo que salió del stock en la orden entera. QUANTIDADE_PROPORCIONAL es la porción de esa parcela. Si suma las proporcionales llega a la total: no cargue las dos.

Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_ORDSER_UPCAMPO": "11F66754-1A1A-469B-BC39-1F96C8EBA897",
    "CODIGO": "0632",
    "DATA_MODIFICACAO": "2023-06-29T17:14:30.363",
    "DATPRESTRING": "19/06/2023",
    "DATPRE": "2023-06-19",
    "DATFINSTRING": "19/06/2023",
    "DATFIN": "2023-06-19",
    "ARETOT": 652.000000,
    "AREEXE": 652.000000,
    "STATUS": "Finalizado",
    "TIPAPL": "Terrestre",
    "TIPATI_DESCRICAO": "Aplicação de defensivo",
    "ID_TIPATI_UPCAMPO": "FC35C6B4-6512-4F58-BEA2-CCAA6BFED487",
    "ID_TIPATI_REFERENCIA": "3",
    "IDERES_DESCRICAO": "INSETICIDA ",
    "ID_IDERES_UPCAMPO": "7FE2669B-2820-45E8-83E2-40B74851A7D3",
    "ID_IDERES_REFERENCIA": "55",
    "EQUIPE_DESCRICAO": "UNIAO - APL TERRESTRE",
    "ID_EQUIPE_UPCAMPO": "D0C6C6C4-B15B-49C3-817D-EE88ACFDF2B1",
    "ID_EQUIPE_REFERENCIA": "10",
    "produtos": [
      {
        "LOCEST_DESCRICAO": "FCO - DEFENSIVOS",
        "ID_LOCEST_UPCAMPO": "92F51139-05BA-4C62-99A7-7597587CCFD2",
        "ID_LOCEST_REFERENCIA": "103",
        "PRODUTO_DESCRICAO": "DISPERSE ULTRA",
        "ID_PRODUTO_UPCAMPO": "2FDA9A05-7002-4B27-A190-8E511531976D",
        "ID_PRODUTO_REFERENCIA": "609",
        "ID_LOTE_UPCAMPO": "null",
        "ID_LOTE_REFERENCIA": "null",
        "ARETOT": 652.0000,
        "QUANTIDADE_TOTAL_PRODUTO": 13.0400,
        "DOSE_INDIVIDUAL": 0.0200
      },
      {
        "LOCEST_DESCRICAO": "FCO - DEFENSIVOS",
        "ID_LOCEST_UPCAMPO": "92F51139-05BA-4C62-99A7-7597587CCFD2",
        "ID_LOCEST_REFERENCIA": "103",
        "PRODUTO_DESCRICAO": "MARSHAL",
        "ID_PRODUTO_UPCAMPO": "BDA4D865-784E-4B71-94E8-7BA69F53F433",
        "ID_PRODUTO_REFERENCIA": "666",
        "ID_LOTE_UPCAMPO": "null",
        "ID_LOTE_REFERENCIA": "null",
        "ARETOT": 652.0000,
        "QUANTIDADE_TOTAL_PRODUTO": 260.0000,
        "DOSE_INDIVIDUAL": 0.3988
      }
    ],
    "talhoes": [
      {
        "TALHAO_DESCRICAO": "18",
        "SETOR": "UNIAO",
        "ID_SETOR_REFERENCIA": "10",
        "ID_TALHAO_UPCAMPO": "D7DC95FD-ABB2-4FBF-9076-2A598809DE35",
        "ID_TALHAO_REFERENCIA": "130",
        "AREA": 101.000000,
        "VARIEDADE_DESCRICAO": "FM 985 GLTP",
        "ID_VARIEDADE_UPCAMPO": "CEF765F5-476D-45EA-AA19-1B4811492395",
        "ID_VARIEDADE_REFERENCIA": "18",
        "CULTURA_DESCRICAO": "ALGODAO",
        "ID_CULTURA_UPCAMPO": "E4B14FA0-807D-4A82-B9E3-A116BB72CA87",
        "ID_CULTURA_REFERENCIA": "1",
        "SAFRA_DESCRICAO": "Safra 01",
        "ID_SAFRA_UPCAMPO": "E95AD81A-E30A-4AF4-99D1-F21FE86997FD",
        "ID_SAFRA_REFERENCIA": "2",
        "ID_PLANTIO_SAFRA_UPCAMPO": "591E5517-848C-4135-B018-9C5E3C1F5831",
        "ID_PLANTIO_SAFRA_REFERENCIA": "null"
      }
    ],
    "execucoes": [
      {
        "ID_EXECUCAO_UPCAMPO": "9693EB90-CB9F-4E1B-ABC9-ACDFDA75D9F8_DEF63419-DD18-4D7E-81C5-9578ACD5787A",
        "DATASTRING": "19/06/2023",
        "DATA": "2023-06-19",
        "AREA": 67.0000000,
        "LEIINI": 0.0,
        "LEIFIN": 0.0,
        "QUAHOR": 0.0000,
        "EQUIPAMENTO_DESCRICAO": "0235 - 0235 - PULVERIZADOR M4030 - JOHN DEER - 035",
        "ID_EQUIPAMENTO_UPCAMPO": "C0E6E02A-06A2-47EF-A9ED-EC15352053D0",
        "ID_EQUIPAMENTO_REFERENCIA": "9",
        "FUNCIONARIO_NOME": "OPERADOR 01",
        "ID_FUNCIONARIO_UPCAMPO": "297ACD8A-4241-4A70-A02B-2DED72A0E47E",
        "ID_FUNCIONARIO_REFERENCIA": "null",
        "USUARIO_NOME": "null",
        "ID_USUARIO_UPCAMPO": "null",
        "ID_USUARIO_REFERENCIA": "null"
      }
    ]
  }
]

Orden de servicio — devoluciones GET

URL BASE + /ordem_agricola_devolucao

Cuando se finaliza la orden, la cantidad realmente usada puede ser diferente de la programada. Esta ruta devuelve esa diferencia, para que el ERP ajuste su stock: lo que sobró vuelve, lo que faltó sale.

Los parámetros son los mismos de la ruta de insumos. El encabezado también.

Campos específicos

Campo Tipo Observación
QUANTIDADE_DIFERENCA Número Cantidad de la diferencia (cantidad original − cantidad modificada).
TIPO_DIFERENCA String ENTRADA: es una devolución; debe entrar al stock.
SAÍDA: es un retiro de más; debe salir del stock.
CODIGO_SAIDA_UPCAMPO String Código de la orden más la secuencia única de parcela × producto.
ID_SAIDA_UPCAMPO
ID_SAIDA_REFERENCIA
String Identificador de la salida en upCampo y en el ERP externo.
Lea el sentido, no solo el número

QUANTIDADE_DIFERENCA viene siempre positiva; quien indica la dirección es TIPO_DIFERENCA. Cargar todo como entrada duplica el saldo.

Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_ORDSER_UPCAMPO": "FDDB3C4F-7C62-4A6B-8B7A-4845244AB9AF",
    "CODIGO": "00653",
    "DATA_MODIFICACAO": "2023-12-19T17:24:40.910Z",
    "DATPRESTRING": "19/12/2023",
    "DATPRE": "2023-12-19T00:00:00.000Z",
    "DATFINSTRING": "19/12/2023",
    "DATFIN": "2023-12-19T00:00:00.000Z",
    "ARETOT": 108,
    "AREEXE": 108,
    "STATUS": "Finalizado",
    "TIPAPL": "Terrestre",
    "USUARIO_NOME": "Admin",
    "ID_USUARIO_UPCAMPO": "0dab044a-1e1e-4333-a39b-879e891fa086",
    "ID_USUARIO_REFERENCIA": null,
    "USUARIO_FINALIZOU_NOME": "Admin",
    "ID_USUARIO_FINALIZOU_UPCAMPO": "0dab044a-1e1e-4333-a39b-879e891fa086",
    "ID_USUARIO_FINALIZOU_REFERENCIA": null,
    "TIPATI_DESCRICAO": "Aplicação de defensivo",
    "ID_TIPATI_UPCAMPO": "FC35C6B4-6512-4F58-BEA2-CCAA6BFED487",
    "ID_TIPATI_REFERENCIA": "3",
    "IDERES_DESCRICAO": "INSETICIDA ",
    "ID_IDERES_UPCAMPO": "7FE2669B-2820-45E8-83E2-40B74851A7D3",
    "ID_IDERES_REFERENCIA": "55",
    "EQUIPE_DESCRICAO": null,
    "ID_EQUIPE_UPCAMPO": null,
    "ID_EQUIPE_REFERENCIA": null,
    "CODIGO_SAIDA_UPCAMPO": "00653_1",
    "EXCLUIDO": false,
    "ID_SAIDA_UPCAMPO": "A7306BB0-AACA-4FB6-8455-D6E5DE9902F1",
    "ID_SAIDA_REFERENCIA": null,
    "LOCEST_DESCRICAO": "FUM - DEFENSIVOS",
    "ID_LOCEST_UPCAMPO": "E1E9D54F-535C-4715-83D3-D472A1E6ED5E",
    "ID_LOCEST_REFERENCIA": "40",
    "PRODUTO_DESCRICAO": "APRESA 1X20",
    "ID_PRODUTO_UPCAMPO": "8DA739BC-28F3-4021-8A3A-311C92E06EC7",
    "ID_PRODUTO_REFERENCIA": "9365",
    "ID_LOTE_UPCAMPO": null,
    "ID_LOTE_REFERENCIA": null,
    "QUANTIDADE_DIFERENCA": 10,
    "TIPO_DIFERENCA": "ENTRADA",
    "TALHAO_DESCRICAO": "A01",
    "SETOR": "CENTRO OESTE",
    "ID_SETOR_REFERENCIA": "1",
    "ID_TALHAO_UPCAMPO": "6CF450A4-00E7-47E0-BEE5-F83E713AEAEA",
    "ID_TALHAO_REFERENCIA": "198",
    "AREA": 108,
    "VARIEDADE_DESCRICAO": "TMG 44 B2RF",
    "ID_VARIEDADE_UPCAMPO": "D0FF4EA3-350D-440E-9264-4565CBCE0C57",
    "ID_VARIEDADE_REFERENCIA": "26",
    "CULTURA_DESCRICAO": "ALGODAO",
    "ID_CULTURA_UPCAMPO": "E4B14FA0-807D-4A82-B9E3-A116BB72CA87",
    "ID_CULTURA_REFERENCIA": "1",
    "SAFRA_DESCRICAO": "Safra 01",
    "ID_SAFRA_UPCAMPO": "E95AD81A-E30A-4AF4-99D1-F21FE86997FD",
    "ID_SAFRA_REFERENCIA": "2",
    "ID_PLANTIO_SAFRA_UPCAMPO": "551CBF6A-ADD7-4ACE-B9C8-C532FE3D2F71",
    "ID_PLANTIO_SAFRA_REFERENCIA": null
  }
]

Orden de servicio — ejecuciones GET

URL BASE + /ordem_agricola_execucao

Una línea por ejecución: quién operó, con qué máquina, en qué parcela, cuántas horas. Es el registro de mano de obra y hora-máquina de la orden: la ruta de insumos se ocupa del producto; esta, del trabajo.

Acepta datmod_inicial, además de los mismos parámetros de las otras rutas de orden.

Campos específicos

Campo Tipo Observación
ID_EXECUCAO_UPCAMPO String Identificador interno de la ejecución en upCampo.
DATASTRING / DATA String Fecha de la ejecución en dd/mm/aaaa y en AAAA-MM-DD.
HORA_INICIO / MINUTO_INICIO
HORA_FIM / MINUTO_FIM
String Inicio y fin de la ejecución.
AREA Número Área en hectáreas de la ejecución.
EQUIPAMENTO_DESCRICAO
ID_EQUIPAMENTO_UPCAMPO
ID_EQUIPAMENTO_REFERENCIA
String Máquina usada.
IMPLEMENTO_DESCRICAO
ID_IMPLEMENTO_UPCAMPO
ID_IMPLEMENTO_REFERENCIA
String Implemento acoplado.
LEIINI / LEIFIN Número Lectura inicial y final (horómetro o km).
QUAHOR Número Cantidad de horas.
FUNCIONARIO_NOME
ID_FUNCIONARIO_UPCAMPO
ID_FUNCIONARIO_REFERENCIA
String Empleado que ejecutó.
ID_FUNCIONARIOS_AGRUPADOS String Identificadores de más de un empleado en la misma ejecución, separados por punto y coma.

El encabezado de la orden, la parcela, la variedad, el cultivo, la campaña y la siembra de la campaña vienen en los mismos campos descritos en la orden completa.

Solicitud
curl -G https://api.upcampo.com.br/ordem_agricola_execucao \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'datmod_inicial=2023-06-01 09:00:00'
Respuesta200
[
  {
    "ID_FILIAL": "DE319CA8-601F-4E68-978D-D0FB0DC27457",
    "ID_ORDSER_UPCAMPO": "io0wrnIjESTkkvAGkrlY",
    "CODIGO": "0570",
    "DATPRESTRING": "24/05/2023",
    "DATPRE": "2023-05-24",
    "DATFINSTRING": "24/05/2023",
    "DATFIN": "2023-05-24T00:00:00.000Z",
    "ARETOT": 142,
    "AREEXE": 142,
    "STATUS": "Finalizado",

    "ID_EXECUCAO_UPCAMPO": "0B94079D-8D3A-4FE2-B1F5-B0D36F3579BC",
    "DATASTRING": "24/05/2023",
    "DATA": "2023-05-24",
    "HORA_INICIO": 7,
    "MINUTO": 30,
    "HORA_FIM": 8,
    "MINUTO_FIM": 30,

    "TALHAO_DESCRICAO": "16 - UNIAO",
    "ID_TALHAO_UPCAMPO": "CA7742B0-AA38-4A37-A77C-10F214AED03D",
    "ID_TALHAO_REFERENCIA": "1",

    "VARIEDADE_DESCRICAO": "FM 985 GLTP",
    "ID_VARIEDADE_UPCAMPO": "9D6D9741-AFEB-4405-BACD-4C7341EC8006",
    "ID_VARIEDADE_REFERENCIA": "1",

    "CULTURA_DESCRICAO": "ALGODAO",
    "ID_CULTURA_UPCAMPO": "5795CCB1-44FC-44B8-AAB9-0DBDD4182E68",
    "ID_CULTURA_REFERENCIA": "1",

    "SAFRA_DESCRICAO": "ALGODAO E MILHO 2023",
    "ID_SAFRA_REFERENCIA": "1",
    "ID_PLANTIO_SAFRA_UPCAMPO": "592D56A2-2A71-4DD0-953B-F3020A142B5B",
    "ID_PLANTIO_SAFRA_REFERENCIA": "1",

    "TIPATI_DESCRICAO": "Aplicação de defensivo",
    "ID_TIPATI_UPCAMPO": "8650A085-15E2-4877-A7DA-92A52D112463",
    "ID_TIPATI_REFERENCIA": "1",
    "IDERES": "FUNGICIDA + INSET",

    "EQUIPAMENTO_DESCRICAO": "UNIPORTE AGRIJACTO - 0008",
    "ID_EQUIPAMENTO_UPCAMPO": "ASD5889C-035E-478A-866C-B200B42300D9",
    "ID_EQUIPAMENTO_REFERENCIA": "1",
    "LEIINI": 10569,
    "LEIFIN": 10570,
    "QUAHOR": 1,

    "EQUIPE_DESCRICAO": "UNIAO - APL TERRESTRE",
    "ID_EQUIPE_UPCAMPO": "938C2A4C-035E-478A-866C-B200B42300D9",
    "ID_EQUIPE_REFERENCIA": "1",

    "FUNCIONARIO_NOME": "JOAO ALBERTO",
    "ID_FUNCIONARIO_UPCAMPO": "938C2A4C-035E-8897A-866C-B200B42300D9",
    "ID_FUNCIONARIO_REFERENCIA": "1",
    "ID_FUNCIONARIOS_AGRUPADOS": "938C2A4C-035E-8897A-866C-B200B42300D9;938C2A4C-035E-8897A-866C-B200B42300D9;"
  }
]

Carga de combustible GET

URL BASE + /abastecimento

Cada línea es una carga de combustible: cuántos litros salieron de qué tanque hacia qué máquina, con la lectura del horómetro o del odómetro. Es lo que sostiene el control de consumo de la flota.

Parámetros

Opción Parámetro Observación
1 datmod_inicial Fecha de modificación inicial. Formato AAAA-MM-DD HH:MM:SS; ej.: 2024-03-15 07:00:00. La hora es opcional; sin ella, vale desde la medianoche.
Combinable con:
data_inicial + data_final: la fecha del documento, en AAAA-MM-DD;
status (Finalizado o Pendente);
id_locest (upCampo) o id_locest_referencia;
id_equipamento (upCampo) o id_equipamento_referencia.
2 numero Número de la carga de combustible en upCampo.
3 id_referencia Identificador en el sistema del socio.

Ejemplo: ?datmod_inicial=2023-06-01 09:00:00&id_equipamento_referencia=23

Campos

Campo Tipo Observación
ID_ABASTECIMENTO_UPCAMPO String Identificador de la carga de combustible en upCampo.
ID_REFERENCIA String Identificador en el sistema del socio, grabado por la ruta /abastecimentoReferencia.
NUMERO String Número en upCampo.
TICKET String Número adicional, para los casos en que hay formulario impreso con numeración propia.
DATASTRING String Fecha en el formato dd/mm/aaaa.
DATA String Fecha en el formato AAAA-MM-DD.
LITROS Número Litros de la carga (cantidad).
LEIINI Número Lectura inicial del surtidor (contador).
LEIFIN Número Lectura final del surtidor (contador).
USUARIO_NOME
ID_USUARIO_UPCAMPO
ID_USUARIO_REFERENCIA
String Quién incluyó el registro.
EQUIPAMENTO_DESCRICAO
ID_EQUIPAMENTO_UPCAMPO
ID_EQUIPAMENTO_REFERENCIA
String Máquina cargada.
FUNCIONARIO_NOME
ID_FUNCIONARIO_UPCAMPO
ID_FUNCIONARIO_REFERENCIA
String Empleado.
LOCEST_DESCRICAO
ID_LOCEST_UPCAMPO
ID_LOCEST_REFERENCIA
String Ubicación de stock de donde salió el combustible.
PRODUTO_DESCRICAO
ID_PRODUTO_UPCAMPO
ID_PRODUTO_REFERENCIA
String Combustible cargado.
Solicitud
curl -G https://api.upcampo.com.br/abastecimento \
  -H 'Authorization: Bearer $TOKEN' \
  --data-urlencode 'datmod_inicial=2023-06-01 09:00:00' \
  --data-urlencode 'id_equipamento_referencia=23'
Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_ORDSER_UPCAMPO": "3D73BCF4-97E4-48D8-A349-35672F46AB4B",
    "NUMERO": "0001",
    "TICKET": "Ticket 20",
    "DATA_MODIFICACAO": "2023-10-26T14:00:22.793Z",
    "DATASTRING": "26/10/2023",
    "DATA": "2023-10-26T00:00:00.000Z",
    "LITROS": 50,
    "LEIINI": 0,
    "LEIFIN": 50,
    "USUARIO_NOME": "Admin",
    "ID_USUARIO_UPCAMPO": "0dab044a-1e1e-4333-a39b-879e891fa086",
    "ID_USUARIO_REFERENCIA": null,
    "EQUIPAMENTO_DESCRICAO": "0046 - 0046 - HERCULES 6.0 STARA - 0044",
    "ID_EQUIPAMENTO_UPCAMPO": "02CB7041-64DC-4E3F-99AB-C3ACC1E20016",
    "ID_EQUIPAMENTO_REFERENCIA": "54",
    "HORIMETRO": 4506,
    "FUNCIONARIO_NOME": null,
    "ID_FUNCIONARIO_UPCAMPO": null,
    "ID_FUNCIONARIO_REFERENCIA": null,
    "LOCEST_DESCRICAO": "FUM - DIESEL",
    "ID_LOCEST_UPCAMPO": "23C7A375-B67B-42BC-ABD9-6577F075A26A",
    "ID_LOCEST_REFERENCIA": "38",
    "PRODUTO_DESCRICAO": "DIESEL S10",
    "ID_PRODUTO_UPCAMPO": "F44E08B3-4A0F-4A35-99AD-1E66418611D9",
    "ID_PRODUTO_REFERENCIA": ""
  }
]

Fardos GET

URL BASE + /fardo?data_inicial=…&data_final=…

Cada fardo de algodón cosechado en el campo se convierte aquí en una línea, con el código QR, el module id de la cosechadora, el peso del establecimiento y la parcela de origen. Es lo que vincula la cosecha con la desmotadora.

Si es para la entrada en la desmotadora, devuelva el peso

Al usar esta ruta para la entrada en la desmotadora, la condición es actualizar el peso por la ruta /fardoPeso. Si se identifica el uso para desmotadora sin la devolución del peso, el acceso será bloqueado.

Filtros

Parámetro Campo filtrado Observación
data_inicial
data_final
DATA Obligatorios. Formato AAAA-MM-DD; ej.: 2024-08-19.
id_talhao_upcampo ID_TALHAO_UPCAMPO Identificador de la parcela en upCampo.
id_talhao_referencia ID_TALHAO_REFERENCIA Identificador de la parcela en el sistema del cliente.
id_plantio_safra_referencia ID_PLANTIO_SAFRA_REFERENCIA Identificador de la siembra de la campaña en el sistema del cliente.
talhao_descricao TALHAO_DESCRICAO Comparación exacta.
setor SETOR Comparación exacta.
talhao_descricao_setor TALHAO_DESCRICAO_SETOR Descripción y sector concatenados; comparación exacta.
talhao_finalizado TALHAO_FINALIZADO Acepta true/false o 1/0.
  • La comparación es exacta, sin búsqueda parcial: el valor debe ser idéntico al devuelto por la ruta.
  • Los valores con espacio o tilde deben codificarse en la URL (espacio = %20).
  • Un valor inválido en talhao_finalizado se ignora, y la consulta devuelve sin ese filtro.
  • Para descubrir los identificadores y la descripción exacta de la parcela, use la ruta /talhao, que acepta el parámetro setor.

Campos

Campo Tipo Observación
ID_FARDO_UPCAMPO String Identificador en upCampo.
CODIGO String Código o número en upCampo.
DATASTRING / DATA String dd/mm/aaaa y AAAA-MM-DD.
HORA / MINUTO Número
QRCODE String Código QR del fardo.
MODULEID String Número único que la cosechadora graba en el fardo.
STATUS String No campo o Recolhido (en el campo o recogido).
PESFAZ Número Peso en el establecimiento: el de la máquina, en kg.
PESALG Número Peso de la desmotadora, después de recogido.
HECTARE Número Hectáreas que generaron este fardo.
LATITUDE / LONGITUDE String Dónde se generó el fardo.
OBSERVACAO String Observación adicional del fardo.
ID_REFERENCIA String Identificador en el sistema del socio.
TALHAO_DESCRICAO
TALHAO_DESCRICAO_SETOR
ID_TALHAO_UPCAMPO
ID_TALHAO_REFERENCIA
String Parcela de origen. TALHAO_DESCRICAO_SETOR es descripción + sector.
SETOR String En la mayoría de los casos, es el nombre del establecimiento dentro del grupo.
ID_SETOR_REFERENCIA String Identificador en el ERP externo. Consejo: si el ERP usa varias sucursales y upCampo no, haga la equivalencia (de/para) aquí.
VARIEDADE_DESCRICAO
ID_VARIEDADE_UPCAMPO
ID_VARIEDADE_REFERENCIA
String Variedad cosechada.
CULTURA_DESCRICAO
ID_CULTURA_UPCAMPO
ID_CULTURA_REFERENCIA
String Cultivo.
SAFRA_DESCRICAO
ID_SAFRA_UPCAMPO
ID_SAFRA_REFERENCIA
String Campaña.
ID_PLANTIO_SAFRA_UPCAMPO
ID_PLANTIO_SAFRA_REFERENCIA
String Siembra de la campaña correspondiente.
TALHAO_FINALIZADO Boolean Si la parcela ya fue finalizada.
EQUIPAMENTO_DESCRICAO
ID_EQUIPAMENTO_UPCAMPO
ID_EQUIPAMENTO_REFERENCIA
String Cosechadora.
Ejemplos de llamada
/fardo?data_inicial=2024-08-19&data_final=2024-08-25&talhao_descricao=07&setor=CAMPINAS

/fardo?data_inicial=2024-08-19&data_final=2024-08-25&talhao_descricao_setor=07%20-%20CAMPINAS

/fardo?data_inicial=2024-08-19&data_final=2024-08-25&id_talhao_referencia=ABC123

/fardo?data_inicial=2024-08-19&data_final=2024-08-25&id_plantio_safra_referencia=XYZ789

/fardo?data_inicial=2024-08-19&data_final=2024-08-25&talhao_descricao_setor=07%20-%20CAMPINAS&talhao_finalizado=false
Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_FARDO_UPCAMPO": "D83E100A-DFDB-451A-B4BB-56ED09EA851C",
    "CODIGO": "1",
    "DATA": "2023-06-20",
    "DATASTRING": "20/06/2023",
    "HORA": 15,
    "MINUTO": 16,
    "QRCODE": "1234",
    "MODULEID": "456",
    "STATUS": "No campo",
    "PESFAZ": 800,
    "PESALG": null,
    "HECTARE": 0.5,
    "LATITUDE": 0,
    "LONGITUDE": 0,
    "OBSERVACAO": null,
    "ID_REFERENCIA": null,
    "TALHAO_DESCRICAO": "TH Teste 01",
    "TALHAO_SETOR": null,
    "ID_TALHAO_UPCAMPO": "7AB7EDAF-6560-4ABF-834D-7D53D2C4C8F2",
    "ID_TALHAO_REFERENCIA": "2",
    "VARIEDADE_DESCRICAO": null,
    "ID_VARIEDADE_UPCAMPO": null,
    "ID_VARIEDADE_REFERENCIA": null,
    "CULTURA_DESCRICAO": "Soja",
    "ID_CULTURA_UPCAMPO": "EC8A50F5-0B77-45FC-9242-70002C8D10E5",
    "ID_CULTURA_REFERENCIA": "1",
    "SAFRA_DESCRICAO": "Safra 01",
    "ID_SAFRA_REFERENCIA": "6",
    "ID_PLANTIO_SAFRA_UPCAMPO": "EBA7428C-9ECA-415D-9335-6B3B40AEF482",
    "ID_PLANTIO_SAFRA_REFERENCIA": null,
    "EQUIPAMENTO_DESCRICAO": null,
    "ID_EQUIPAMENTO_UPCAMPO": null,
    "ID_EQUIPAMENTO_REFERENCIA": null,
    "createdat": "2023-06-20T19:16:32.001Z"
  }
]

Incluir fardo POST

URL BASE + /fardo

Para incluir un fardo con el registro completo. Para actualizar solo la referencia o solo el peso, use las rutas específicas: /fardoReferencia y /fardoPeso.

Campos

Campo Tipo Obligatorio Observación
DATA String Sí Formato AAAA-MM-DD; ej.: 2024-08-19.
QRCODE String — Código QR del fardo.
MODULEID String — Número único que la cosechadora graba en el fardo.
STATUS String Sí No campo o Recolhido.
PESFAZ Número — Peso en el establecimiento: el de la máquina, en kg.
PESALG Número — Peso de la desmotadora, después de recogido.
HECTARE Número — Hectáreas que generaron este fardo.
LATITUDE / LONGITUDE String — Dónde se generó el fardo.
OBSERVACAO String — Observación adicional del fardo.
ID_REFERENCIA String Sí Identificador en el sistema del socio.
CONTEC Boolean Sí Verificado por el técnico.
ID_PLANTIO_SAFRA_REFERENCIA String Sí Identificador en el ERP externo. Este campo o la combinación ID_TALHAO_REFERENCIA + ID_VARIEDADE_REFERENCIA + ID_CULTURA_REFERENCIA + ID_SAFRA_REFERENCIA es obligatoria.
ID_TALHAO_REFERENCIA String — Identificador en el ERP externo, mapeado en upCampo.
ID_VARIEDADE_REFERENCIA String — Identificador en el ERP externo, mapeado en upCampo.
ID_CULTURA_REFERENCIA String — Identificador en el ERP externo, mapeado en upCampo.
ID_SAFRA_REFERENCIA String — Identificador en el ERP externo, mapeado en upCampo.
ID_EQUIPAMENTO_REFERENCIA String — Identificador en el ERP externo, mapeado en upCampo.
Cuerpo (body)
[
  {
    "ID_PLANTIO_SAFRA_REFERENCIA": "12",
    "MODULEID": "MODULEID",
    "QRCODE": "QRCODE",
    "ID_REFERENCIA": "111",
    "LATITUDE": "1",
    "LONGITUDE": "2",
    "PESFAZ": 1100,
    "PESALG": 1500.6,
    "HECTARES": 0.5,
    "STATUS": "No campo",
    "DATA": "2023-7-03",
    "ID_EQUIPAMENTO_REFERENCIA": "1"
  }
]

Peso del fardo POST

URL BASE + /fardoPeso

Es la ruta que cierra el ciclo del algodón: la desmotadora pesa el fardo recogido y devuelve el PESALG a upCampo. Sin eso, el campo queda solo con el peso estimado de la cosechadora.

Devolver el peso es condición de acceso

Quien consume /fardo, /fardoEspecifico o /romcol para la entrada en la desmotadora debe actualizar el peso por aquí. Si se identifica el uso sin la devolución del peso, el acceso será bloqueado.

Campos

Campo Tipo Obligatorio Observación
ID_FARDO_UPCAMPO String Sí Identificador del fardo en upCampo.
ID_REFERENCIA String No Identificador en el sistema del socio.
PESALG Número Sí Peso de la desmotadora, después de recogido.
STATUS String Sí No campo o Recolhido.
DATA String Sí Formato AAAA-MM-DD; ej.: 2024-08-19.
ID_EQUIPAMENTO_REFERENCIA String No Identificador en el ERP externo, mapeado en upCampo.
ID_LOCEST_REFERENCIA String No Identificador en el ERP externo, mapeado en upCampo.
NUMCOL String No Número de la recolección en el ERP externo.

El cuerpo es un array: puede llevar más de un fardo por llamada.

Cuerpo (body)
[
  {
    "ID_FARDO_UPCAMPO": "D83E100A-DFDB-451A-B4BB-56ED09EA851C",
    "ID_REFERENCIA": "1",
    "PESALG": 1500.6,
    "STATUS": "Recolhido",
    "DATA": "2023-6-21",
    "ID_EQUIPAMENTO_REFERENCIA": "1",
    "PLACA": "JHW-5047",
    "ID_LOCEST_REFERENCIA": "1010101",
    "NUMCOL": "0059"
  }
]
Respuesta200
[
  {
    "TABELA": "FARDO",
    "ID_UPCAMPO": "D83E100A-DFDB-451A-B4BB-56ED09EA851C",
    "ID_REFERENCIA": "1",
    "STATUS": "ALTERADO",
    "MENSAGEM": ""
  }
]

Fardo específico GET

URL BASE + /fardoEspecifico?qrcode=… | moduleid=… | codigo=… | id=…

Busca un fardo por la identificación leída en la portería de la desmotadora. Es la ruta usada en el momento en que llega el camión y alguien escanea el código QR.

Un filtro a la vez

El filtro es uno de estos: qrcode, moduleid, codigo o id. Si completa más de uno, vale el último de esta lista; si no completa ninguno, no se devuelve nada.

Si es para la entrada en la desmotadora, devuelva el peso

La condición es actualizar el peso por /fardoPeso. Sin eso, el acceso será bloqueado.

Los campos devueltos son los mismos de la ruta Fardos.

Solicitud
curl 'https://api.upcampo.com.br/fardoEspecifico?qrcode=1234' \
  -H 'Authorization: Bearer $TOKEN'
Respuesta200
[
  {
    "ID_FILIAL": "F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F",
    "ID_FARDO_UPCAMPO": "D83E100A-DFDB-451A-B4BB-56ED09EA851C",
    "CODIGO": "1",
    "DATA": "2023-06-20",
    "DATASTRING": "20/06/2023",
    "HORA": 15,
    "MINUTO": 16,
    "QRCODE": "1234",
    "MODULEID": "456",
    "STATUS": "No campo",
    "PESFAZ": 800,
    "PESALG": null,
    "HECTARE": 0.5,
    "LATITUDE": 0,
    "LONGITUDE": 0,
    "OBSERVACAO": null,
    "ID_REFERENCIA": null,
    "TALHAO_DESCRICAO": "TH Teste 01",
    "TALHAO_SETOR": null,
    "ID_TALHAO_UPCAMPO": "7AB7EDAF-6560-4ABF-834D-7D53D2C4C8F2",
    "ID_TALHAO_REFERENCIA": "2",
    "CULTURA_DESCRICAO": "Soja",
    "ID_CULTURA_UPCAMPO": "EC8A50F5-0B77-45FC-9242-70002C8D10E5",
    "ID_CULTURA_REFERENCIA": "1",
    "SAFRA_DESCRICAO": "Safra 01",
    "ID_SAFRA_REFERENCIA": "6",
    "ID_PLANTIO_SAFRA_UPCAMPO": "EBA7428C-9ECA-415D-9335-6B3B40AEF482",
    "ID_PLANTIO_SAFRA_REFERENCIA": null,
    "createdat": "2023-06-20T19:16:32.001Z"
  }
]

Romaneo de cosecha GET

URL BASE + /romcol?data_inicial=…&data_final=…

El romaneo de cosecha es el documento que registra el pesaje y la clasificación de cada carga que llega de la parcela. Trae los tres pesos de la balanza —bruto, tara y neto—, los porcentajes de clasificación y el total neto final, que es el saldo que entra al stock y forma la productividad de la parcela.

Si es para la entrada en la desmotadora, devuelva el peso

Al usar esta ruta para la entrada en la desmotadora, la condición es actualizar el peso por la ruta /fardoPeso. Si se identifica el uso sin la devolución del peso, el acceso será bloqueado.

Pesos y clasificación

Campo Tipo Observación
PESBRU Número Peso bruto: primer peso, camión lleno, en kg. Obligatorio.
PESTAR Número Peso tara: segundo peso, camión vacío, en kg. Obligatorio.
PESLIQ Número Peso neto inicial, sin clasificación. Obligatorio.
Descuentos — el mismo trío para cada tipo
UMIPER / UMIDES / UMIDESKG Número Humedad: porcentaje medido, porcentaje de descuento aplicado (tabla de clasificación) y descuento en kg ya aplicado sobre el PESLIQ.
IMPPER / IMPDES / IMPDESKG Número Impureza.
AVAPER / AVADES / AVADESKG Número Dañado.
QUEPER / QUEDES / QUEDESKG Número Quebrado.
ARDPER / ARDDES / ARDDESKG Número Ardido.
ARMPER / ARMDES / ARMDESKG Número Almacenamiento.
TOTDES Número Total de descuento, en kg.
TOTLIQ Número Total neto final: el neto después de la clasificación, ya descontado. Obligatorio.
La clasificación se mide en la balanza

Humedad, impureza, dañado, ardido y quebrado los mide el clasificador del establecimiento, en la propia balanza. Cada establecimiento habilita solo los tipos que usa: un tipo no habilitado no aparece en el romaneo. Los porcentajes de descuento salen de las tablas configuradas en la campaña, no del romaneo.

Demás campos

Campo Tipo Observación
ID_ROMCOL_UPCAMPO String Identificador en upCampo.
NUMERO String Código o número en upCampo. Obligatorio.
NUMAUT String Número de la autorización (opcional).
DATASTRING / DATA String dd/mm/aaaa y AAAA-MM-DD.
HORA / MINUTO Número
OBSERVACAO String Observación adicional.
CULTURA_DESCRICAO
ID_CULTURA_UPCAMPO
ID_CULTURA_REFERENCIA
String Cultivo cosechado.
SAFRA_DESCRICAO
ID_SAFRA_UPCAMPO
ID_SAFRA_REFERENCIA
String Campaña.
ID_PLANTIO_SAFRA_UPCAMPO
ID_PLANTIO_SAFRA_REFERENCIA
String Siembra de la campaña de origen de la carga.
EQUIPAMENTO_DESCRICAO
ID_EQUIPAMENTO_UPCAMPO
ID_EQUIPAMENTO_REFERENCIA
String Camión.
PLACA String Patente del camión.
MOTORISTA String Conductor del camión.
LOCEST_DESCRICAO
ID_LOCEST_UPCAMPO
ID_LOCEST_REFERENCIA
String Ubicación de stock (depósito) de destino.
PRODUTO_DESCRICAO
ID_PRODUTO_UPCAMPO
ID_PRODUTO_REFERENCIA
String Producto que entra al stock; por ejemplo SOJA EM GRÃOS.
Solicitud
curl 'https://api.upcampo.com.br/romcol?data_inicial=2023-12-11&data_final=2023-12-17' \
  -H 'Authorization: Bearer $TOKEN'
Respuesta200
[
  {
    "ID_FILIAL": "F23FBAF7-AB27-4D28-8B32-74240FB0833D",
    "ID_ROMCOL_UPCAMPO": "9ryejRKRhClBLcKTXwvx",
    "NUMERO": "4819",
    "DATA": "2023-12-12",
    "DATASTRING": "12/12/2023",
    "HORA": 8,
    "MINUTO": 42,
    "NUMAUT": "701",
    "PESBRU": 85700,
    "PESTAR": 27560,
    "PESLIQ": 58140,
    "UMIPER": 13.2,
    "UMIDES": 0,
    "UMIDESKG": 0,
    "IMPPER": 1.6,
    "IMPDES": 0,
    "IMPDESKG": 349,
    "AVAPER": 2,
    "AVADES": 0,
    "AVADESKG": 0,
    "QUEPER": 10,
    "QUEDES": 0,
    "QUEDESKG": 1163,
    "ARDPER": null,
    "ARDDES": null,
    "ARDDESKG": null,
    "ARMPER": null,
    "ARMDES": null,
    "ARMDESKG": null,
    "TOTDES": 1512,
    "TOTLIQ": 56628,
    "OBSERVACAO": null,
    "ID_REFERENCIA": null,
    "TALHAO_DESCRICAO": "22",
    "SETOR": "SANTA CLARA",
    "ID_SETOR_REFERENCIA": "8",
    "ID_TALHAO_UPCAMPO": "6B93B381-5D0A-4552-903C-AF1D2051D248",
    "ID_TALHAO_REFERENCIA": "74",
    "VARIEDADE_DESCRICAO": "TMG 2379 IPRO",
    "ID_VARIEDADE_UPCAMPO": "23537C7D-5720-4D2E-84D7-84FFA488703D",
    "ID_VARIEDADE_REFERENCIA": null,
    "CULTURA_DESCRICAO": "SOJA",
    "ID_CULTURA_UPCAMPO": "4A47936F-60EC-4724-BAC8-16ABD48C9C92",
    "ID_CULTURA_REFERENCIA": null,
    "SAFRA_DESCRICAO": "SOJA E BRAQUIARIA 2023-2024",
    "ID_SAFRA_REFERENCIA": null,
    "ID_PLANTIO_SAFRA_UPCAMPO": "07DF860F-83BF-4069-9598-A11FC3E4DD6B",
    "ID_PLANTIO_SAFRA_REFERENCIA": null,
    "EQUIPAMENTO_DESCRICAO": "ABC-1D23 - CAMINHAO SCANIA R540 - 0091",
    "ID_EQUIPAMENTO_UPCAMPO": "4E0B4070-50C2-4592-AC7B-ADA806842311",
    "ID_EQUIPAMENTO_REFERENCIA": null,
    "PLACA": null,
    "MOTORISTA": "JOSE CARLOS PEREIRA",
    "LOCEST_DESCRICAO": "ARMAZEM CENTRAL LTDA",
    "ID_LOCEST_UPCAMPO": "460E0265-66BB-4892-A1C1-9E392B1DE9A0",
    "ID_LOCEST_REFERENCIA": null,
    "PRODUTO_DESCRICAO": "SOJA EM GRÃOS",
    "ID_PRODUTO_UPCAMPO": "2E0F8AAA-E005-4410-9C37-7492866448CB",
    "ID_PRODUTO_REFERENCIA": null,
    "createdat": "2023-12-12T12:55:15.532Z"
  }
]

Incluir romaneo de cosecha POST

URL BASE + /romcol

Para incluir el romaneo de cosecha con el registro completo. Para actualizar solo la clasificación, use /romcolClassificacao.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el sistema del socio.
NUMERO String Sí Código o número en upCampo.
NUMAUT String — Número de la autorización.
DATA String — Formato AAAA-MM-DD; ej.: 2024-08-19.
HORA / MINUTO Número —
PESBRU Número Sí Peso bruto: primer peso, camión lleno, en kg.
PESTAR Número Sí Peso tara: segundo peso, camión vacío, en kg.
PESLIQ Número Sí Peso neto inicial, sin clasificación.
OBSERVACAO String — Observación adicional.
ID_PLANTIO_SAFRA_REFERENCIA String Sí Identificador en el ERP externo. Este campo o la combinación ID_TALHAO_REFERENCIA + ID_VARIEDADE_REFERENCIA + ID_CULTURA_REFERENCIA + ID_SAFRA_REFERENCIA es obligatoria.
ID_TALHAO_REFERENCIA
ID_VARIEDADE_REFERENCIA
ID_CULTURA_REFERENCIA
ID_SAFRA_REFERENCIA
String — Identificadores en el ERP externo, mapeados en upCampo. Úselos cuando no exista la siembra de la campaña.
ID_EQUIPAMENTO_REFERENCIA String Si no hay patente Identificador del camión en el ERP externo, mapeado en upCampo.
PLACA String Si no hay equipo Patente del camión.
MOTORISTA String —
ID_LOCEST_REFERENCIA String Sí Identificador en el ERP externo de la ubicación de stock (depósito).
ID_PRODUTO_REFERENCIA String Sí Identificador en el ERP externo del producto que entra al stock (soja, maíz).
UMIPER … ARMDESKG Número — Porcentajes y descuentos de la clasificación: los mismos campos descritos en Romaneo de cosecha.
TOTLIQ Número Al final Total neto final. Obligatorio al final de la operación: todo romaneo debe tener clasificación y algún valor en TOTLIQ; es ese saldo final el que entra al stock y a los promedios de productividad.
Cuerpo (body)
[
  {
    "ID_REFERENCIA": "1",
    "NUMERO": "4826",
    "DATA": "2023-12-13",
    "HORA": 8,
    "MINUTO": 42,
    "PESBRU": 85700,
    "PESTAR": 27560,
    "PESLIQ": 58140,
    "UMIPER": 13.2,
    "UMIDES": 0,
    "UMIDESKG": 0,
    "IMPPER": 1.6,
    "IMPDES": 0,
    "IMPDESKG": 349,
    "AVAPER": 2,
    "AVADES": 0,
    "AVADESKG": 0,
    "QUEPER": 10,
    "QUEDES": 0,
    "QUEDESKG": 1163,
    "ARDPER": null,
    "ARDDES": null,
    "ARDDESKG": null,
    "ARMPER": null,
    "ARMDES": null,
    "ARMDESKG": null,
    "TOTDES": 1512,
    "TOTLIQ": 56628,
    "OBSERVACAO": null,
    "SETOR": "SANTA CLARA",
    "ID_SETOR_REFERENCIA": "8",
    "ID_TALHAO_REFERENCIA": "74",
    "ID_VARIEDADE_REFERENCIA": "1",
    "ID_CULTURA_REFERENCIA": "1",
    "ID_SAFRA_REFERENCIA": "1",
    "ID_PLANTIO_SAFRA_REFERENCIA": "1",
    "ID_EQUIPAMENTO_REFERENCIA": "1",
    "ID_LOCEST_REFERENCIA": "1",
    "ID_PRODUTO_REFERENCIA": "1",
    "PLACA": null,
    "MOTORISTA": "JOSE CARLOS PEREIRA"
  }
]
Respuesta200
[
  {
    "TABELA": "ROMCOL",
    "ID_UPCAMPO": "9ryejRKRhClBLcKTXwvx",
    "ID_REFERENCIA": "1",
    "STATUS": "INCLUIDO",
    "MENSAGEM": ""
  }
]

Clasificación del romaneo POST

URL BASE + /romcolClassificacao

Para incluir o actualizar solo la clasificación de un romaneo ya existente: el caso típico de cuando la carga se pesa primero y se clasifica después.

Campos

Campo Tipo Obligatorio Observación
ID_REFERENCIA String Sí Identificador en el sistema del socio.
ID_ROMCOL_UPCAMPO String — Identificador del romaneo en upCampo.
UMIPER / UMIDES / UMIDESKG Número — Humedad: porcentaje medido, porcentaje de descuento y descuento en kg.
IMPPER / IMPDES / IMPDESKG Número — Impureza.
AVAPER / AVADES / AVADESKG Número — Dañado.
QUEPER / QUEDES / QUEDESKG Número — Quebrado.
ARDPER / ARDDES / ARDDESKG Número — Ardido.
ARMPER / ARMDES / ARMDESKG Número — Almacenamiento.
TOTDES / TOTLIQ Número — Total de descuento y total neto final.
Cuerpo (body)
[
  {
    "ID_REFERENCIA": "1",
    "ID_ROMCOL_UPCAMPO": "9ryejRKRhClBLcKTXwvx",
    "NUMERO": "4826",
    "DATA": "2023-12-13",
    "HORA": 8,
    "MINUTO": 42,
    "UMIPER": 13.2,
    "UMIDES": 0,
    "UMIDESKG": 0,
    "IMPPER": 1.6,
    "IMPDES": 0,
    "IMPDESKG": 349,
    "AVAPER": 2,
    "AVADES": 0,
    "AVADESKG": 0,
    "QUEPER": 10,
    "QUEDES": 0,
    "QUEDESKG": 1163,
    "ARDPER": null,
    "ARDDES": null,
    "ARDDESKG": null,
    "ARMPER": null,
    "ARMDES": null,
    "ARMDESKG": null,
    "TOTDES": 1512,
    "TOTLIQ": 56628
  }
]
Respuesta200
[
  {
    "TABELA": "ROMCOL",
    "ID_UPCAMPO": "9ryejRKRhClBLcKTXwvx",
    "ID_REFERENCIA": "1",
    "STATUS": "ALTERADO",
    "MENSAGEM": ""
  }
]

❓ Preguntas frecuentes

¿Cómo me autentico en la API de upCampo?

Envíe un POST a https://api.upcampo.com.br/autenticar con un JSON que contenga client_id, client_secret, audience y grant_type. upCampo entrega ese archivo de credenciales listo al socio. La respuesta trae un bearer token válido por 24 horas, que debe ir en el encabezado Authorization de todas las llamadas siguientes.

¿Necesito generar un token nuevo en cada llamada?

No. Use el mismo token hasta que expire. Generar un token por solicitud sobrecarga la generación de tokens y el acceso se bloquea temporalmente. El plazo actual es de 24 horas, grabado dentro del propio token (en el campo exp del JWT): el cuerpo de la respuesta trae solo access_token y token_type.

Y el límite se aplica de verdad: son como máximo 10 intentos de autenticación cada 15 minutos por client_id; si se supera, la API responde 429 con el encabezado Retry-After, que indica en cuántos segundos vuelve el acceso.

¿Cómo sabe la API de qué empresa y de qué establecimiento son los datos?

El identificador de la empresa y el del establecimiento quedan fijados internamente en la API cuando se liberan el Client ID y el Client Secret. Cada endpoint devuelve solo datos de esa empresa y de ese establecimiento; no existe parámetro para cambiarlo en la llamada. Por eso cada establecimiento exige un par de credenciales propio.

¿Para qué sirve el campo ID_REFERENCIA?

Es la columna donde queda el identificador del registro en el sistema del socio, presente en todas las tablas de upCampo. Al recibir un POST, upCampo busca un registro con ese ID_REFERENCIA: si no lo encuentra, es una inserción; si lo encuentra, es una actualización. Y todo GET devuelve ese campo, lo que permite al ERP reconocer sus propios registros.

¿Cómo envío una eliminación por la API?

Envíe el registro con el atributo DELETADO igual a true. No existe el verbo DELETE: la eliminación es lógica y va en el mismo POST del registro.

¿Cómo traigo solo lo que cambió desde la última consulta?

Use el parámetro datmod_inicial con la fecha y la hora de la consulta anterior. Cada vez que un usuario crea o modifica un registro en upCampo, la fecha de modificación se actualiza. Guarde la fecha de cada consulta y úsela en la consulta siguiente para recibir solo los registros modificados después de ella.

¿Por qué la consulta por período solo acepta siete días?

En las rutas de movimiento (movimiento, transferencia y orden de servicio) la ventana entre data_inicial y data_final es de siete días como máximo, para mantener el tiempo de respuesta. Para una carga histórica, haga varias llamadas en ventanas consecutivas. Las rutas de lluvia y las de monitoreo (MIP) son la excepción: en ellas la ventana es de 366 días, porque se consultan por campaña.

¿Qué significa cada STATUS de la respuesta de un POST?

INCLUIDO quiere decir que el registro era nuevo y fue creado; ALTERADO, que ya existía y fue actualizado; ERRO, que fue rechazado, y en ese caso el motivo viene en el campo MENSAGEM. En documentos con encabezado e ítems, basta una línea con ERRO para que no se grabe el documento entero.

¿Qué endpoint devuelve los fardos de algodón cosechados?

GET /fardo, con data_inicial y data_final obligatorios, devuelve los fardos con código QR, module id, peso del establecimiento, hectáreas y parcela de origen. Para buscar un fardo específico en la portería de la desmotadora, use GET /fardoEspecifico con qrcode, moduleid, codigo o id. Quien usa esas rutas para la entrada en la desmotadora debe devolver el peso por POST /fardoPeso.

¿Existe una especificación de la API legible por máquina?

Sí. La especificación OpenAPI 3.1 está en suporte.upcampo.com.br/api/openapi.json y cubre todos los endpoints, parámetros, cuerpos y respuestas documentados. Se puede importar en Postman, Insomnia, Swagger UI o en generadores de clientes.

Cierre

Entendemos que la integración es esencial para que nuestro público objetivo —los clientes— aproveche mejor cualquier tecnología; al fin y al cabo, ellos son los dueños de los datos y la razón de todo nuestro trabajo.

Por eso estamos siempre a disposición para analizar y realizar cambios en la integración que beneficien a nuestros clientes y socios. Ante cualquier duda, contacte al equipo de upCampo.

Saludos del equipo upCampo.