API upCampo
Referencia de integración — actualizada el . Escrita por Jonas Rotilli.
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.
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
$TOKENen 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:
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:
# 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.brA 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 |
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.
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.
https://api.upcampo.com.br/talhao?setor=BOA VISTA
https://api.upcampo.com.br/plantio_safra?id_safra=xyz&id_cultura=zyx
Autenticación POST
/autenticarLa 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.
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.
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.
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"
}'
{
"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"
}
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…",
"token_type": "Bearer"
}
{
"status": "Invalid token"
}
{
"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
/testeHaga 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" |
curl https://api.upcampo.com.br/teste \ -H 'Authorization: Bearer $TOKEN'
{
"status": "Sucesso",
"mensagem": "Hello world, você está na API da upCampo!",
"nome": "Nome do token, nome da fazenda + PROD ou HOMOLOCACAO"
}
{
"status": "Erro",
"error": "Token não inválido"
}
{
"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).
{
"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
DELETADOcon valortrue. - El cuerpo de un
POSTes 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. |
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.
[
{
"TABELA": "PRODUTO",
"ID_UPCAMPO": "7B6E1387-E3BC-4DE9-B8F2-63703B4F9495",
"ID_REFERENCIA": "30",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
[
{
"TABELA": "CABECALHO",
"ID_UPCAMPO": "B674DF03-052C-427D-9CCD-FFA553F88D18",
"ID_REFERENCIA": "21",
"STATUS": "ERRO",
"MENSAGEM": "Documento finalizado não pode ser alterado"
}
]
[
{
"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"
}
]
[
{
"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.
- El registro en upCampo tiene su propio identificador; en la columna
ID_REFERENCIAel 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.
- En cualquier
GETde una tabla que contenga, por ejemplo, un producto, vendrá un atributoID_REFERENCIA. - En un
POST—de movimiento, por ejemplo—, basta con poner en el JSON el atributo con elID_REFERENCIAy upCampo localiza el registro correspondiente en su tabla.
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.
curl -X POST 'https://api.upcampo.com.br/produtoReferencia?id_upcampo=F8E34B7E-2054-4A97-9EE4-9D8BFC8C917F&id_referencia=25' \ -H 'Authorization: Bearer $TOKEN'
{
"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:
- Cada vez que un usuario crea o modifica un registro en upCampo, la fecha de modificación se actualiza.
- El socio hace un
GETusando 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. - 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. - El socio hace un
POSTen la ruta de referencia de ese grupo (por ejemploabastecimentoReferencia) con el identificador generado de su lado.
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.
# 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).
/<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. |
curl -X POST 'https://api.upcampo.com.br/culturaReferencia?id_upcampo=135CFB89-1DAC-4A04-B7CA-4D2A0ADDAB29&id_referencia=1234' \ -H 'Authorization: Bearer $TOKEN'
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
/culturaEl 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. |
curl -X POST https://api.upcampo.com.br/cultura \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d @cultura.json
[
{
"ID_REFERENCIA": "1",
"CODIGO": "0001",
"DESCRICAO": "Cultura- TESTE INTEGRACAO 2",
"ATIVO": true,
"DELETADO": false
}
]
[
{
"TABELA": "CULTURA",
"ID_UPCAMPO": "1D64C046-B166-4E66-8A2F-02E1E75102CA",
"ID_REFERENCIA": "1",
"STATUS": "ALTERADO",
"MENSAGEM": ""
}
]
Variedad GETPOST
/variedadeLa 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. |
[
{
"ID_REFERENCIA": "1",
"CODIGO": "0001",
"DESCRICAO": "Variedade integracao",
"ATIVO": true,
"DELETADO": false,
"ID_CULTURA_REFERENCIA": "1"
}
]
[
{
"TABELA": "VARIEDADE",
"ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
"ID_REFERENCIA": "1",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
[
{
"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
/talhaoLa 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. |
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.
curl -G https://api.upcampo.com.br/talhao \ -H 'Authorization: Bearer $TOKEN' \ --data-urlencode 'setor=BOA VISTA'
[
{
"ID_REFERENCIA": "1",
"CODIGO": "0001",
"DESCRICAO": "TH 01",
"AREA": 250.6,
"SETOR": "BOA VISTA",
"ATIVO": true,
"DELETADO": false
}
]
[
{
"TABELA": "TALHAO",
"ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
"ID_REFERENCIA": "1",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
Campaña GET
/safraLa 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. |
Use /safraReferencia.
curl https://api.upcampo.com.br/safra \ -H 'Authorization: Bearer $TOKEN'
[
{
"ID_REFERENCIA": "1",
"CODIGO": "0001",
"DESCRICAO": "Safra 2025/2026",
"ATIVO": true,
"DELETADO": false
}
]
[
{
"TABELA": "SAFRA",
"ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
"ID_REFERENCIA": "1",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
Siembra de la campaña GET
/plantio_safraLa 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. |
curl 'https://api.upcampo.com.br/plantio_safra?id_safra=xyz&id_cultura=zyx' \ -H 'Authorization: Bearer $TOKEN'
[
{
"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"
}
]
[
{
"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
/pluviometroRegistro 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. |
curl -G https://api.upcampo.com.br/pluviometro \ -H 'Authorization: Bearer $TOKEN' \ --data-urlencode 'setor=BOA VISTA'
[
{
"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
/pluviometro_coletaCada 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.
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. |
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'
[
{
"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
/pluviometroCompletoEl 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.
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. |
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'
[
{
"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.
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.
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ó.
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
/levantamentoEncabezado 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. |
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'
[
{
"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
/levantamento_pontoLos 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. |
curl -G https://api.upcampo.com.br/levantamento_ponto \ -H 'Authorization: Bearer $TOKEN' \ --data-urlencode 'id_levantamento=3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03'
[
{
"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
/levantamento_fenologiaLos 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. |
curl -G https://api.upcampo.com.br/levantamento_fenologia \ -H 'Authorization: Bearer $TOKEN' \ --data-urlencode 'id_levantamento=3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03'
[
{
"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
/levantamento_praga_resumoPlagas, 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. |
curl -G https://api.upcampo.com.br/levantamento_praga_resumo \ -H 'Authorization: Bearer $TOKEN' \ --data-urlencode 'id_levantamento=3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03'
[
{
"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
/levantamento_praga_pontoLa 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.
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. |
curl -G https://api.upcampo.com.br/levantamento_praga_ponto \ -H 'Authorization: Bearer $TOKEN' \ --data-urlencode 'id_levantamento=3A9C7D51-8E24-4B6F-A017-2C5D8E9F1B03'
[
{
"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
/levantamentoCompletoEl 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.
La plaga desglosada punto por punto multiplica punto × plaga y engorda la respuesta. Pase
incluir_praga_ponto=true para traerla anidada también.
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. |
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'
[
{
"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
/classe_produtoLa 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. |
curl -X POST https://api.upcampo.com.br/classe_produto \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d @classe.json
[
{
"ID_REFERENCIA": "1",
"CODIGO": "0001",
"DESCRICAO": "Classe integracao",
"ATIVO": true,
"DELETADO": false
}
]
[
{
"TABELA": "CLASSE",
"ID_UPCAMPO": "58637420-AF58-4BF5-9E6C-28E79078D263",
"ID_REFERENCIA": "1",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
Producto GETPOST
/produtoEl 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. |
curl -X POST https://api.upcampo.com.br/produto \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d @produto.json
[
{
"ID_REFERENCIA": "30",
"CODIGO": "0001",
"DESCRICAO": "TV 40 POLEGADA - TESTE INTEGRACAO 1",
"MARCA": "LG",
"CODUNI": "UN",
"ATIVO": true,
"DELETADO": false,
"ID_CLASSE_REFERENCIA": "25"
}
]
[
{
"TABELA": "PRODUTO",
"ID_UPCAMPO": "7E28F9F0-62BF-4C89-8D7F-84345CA5B183",
"ID_REFERENCIA": "30",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
Ubicación de stock GET
/local_estoqueLa 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. |
curl https://api.upcampo.com.br/local_estoque \ -H 'Authorization: Bearer $TOKEN'
[
{
"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
/equipamentoUna 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. |
[
{
"ID_REFERENCIA": "1",
"TIPO": "Frota",
"CODIGO": "0001",
"DESCRICAO": "Trator 001",
"PLACA": "JHD-1234",
"CHASSI": "12345687",
"MODELO": "T20",
"MARCA": "JONH DEERE",
"ATIVO": true,
"DELETADO": false
}
]
[
{
"TABELA": "EQUIPAMENTO",
"ID_UPCAMPO": "659EAF57-7C02-4CEE-B063-17F05AB54624",
"ID_REFERENCIA": "1",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
Tipo de actividad GET
/tipo_atividadeEl 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.
[
{
"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
/identificacao_resumidaIde. 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. |
[
{
"ID_REFERENCIA": "1",
"ID": "1asd-1023-s344-1233-1233",
"CODIGO": "0001",
"DESCRICAO": "1 FUNGICIDA",
"ATIVO": true
}
]
Movimiento (NF) GETPOST
/movimentacaoEl 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. |
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'
[
{
"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
}
]
}
]
[
{
"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
/transferenciaLa 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. |
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.
[
{
"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
}
]
}
]
[
{
"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": ""
}
]
[
{
"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
/inventarioEl 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.
[
{
"ID_REFERENCIA": "1",
"ID_PRODUTO_REFERENCIA": "1",
"ID_LOCEST_REFERENCIA": "1010101",
"DATA": "2023-02-01",
"SALDO": 20.00,
"VALUNI": "30.00",
"VALTOT": "600.00"
}
]
[
{
"TABELA": "INVENTARIO",
"ID_UPCAMPO": "7E28F9F0-62BF-4C89-8D7F-84345CA5B183",
"ID_REFERENCIA": "1",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
Saldo de stock GET
/estoqueDevuelve 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. |
curl 'https://api.upcampo.com.br/estoque?id_locest_referencia=38' \ -H 'Authorization: Bearer $TOKEN'
[
{
"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
/ordem_agricola_completaLa 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.
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
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. |
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'
[
{
"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
/ordem_agricola_insumoDevuelve 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. |
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.
[
{
"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
/ordem_agricola_devolucaoCuando 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. |
QUANTIDADE_DIFERENCA viene siempre positiva; quien indica la dirección es
TIPO_DIFERENCA. Cargar todo como entrada duplica el saldo.
[
{
"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
/ordem_agricola_execucaoUna 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.
curl -G https://api.upcampo.com.br/ordem_agricola_execucao \ -H 'Authorization: Bearer $TOKEN' \ --data-urlencode 'datmod_inicial=2023-06-01 09:00:00'
[
{
"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
/abastecimentoCada 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. |
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'
[
{
"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
/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.
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_finalizadose 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ámetrosetor.
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. |
/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
[
{
"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
/fardoPara 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. |
[
{
"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
/fardoPesoEs 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.
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.
[
{
"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"
}
]
[
{
"TABELA": "FARDO",
"ID_UPCAMPO": "D83E100A-DFDB-451A-B4BB-56ED09EA851C",
"ID_REFERENCIA": "1",
"STATUS": "ALTERADO",
"MENSAGEM": ""
}
]
Fardo específico GET
/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.
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.
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.
curl 'https://api.upcampo.com.br/fardoEspecifico?qrcode=1234' \ -H 'Authorization: Bearer $TOKEN'
[
{
"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
/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.
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. |
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. |
curl 'https://api.upcampo.com.br/romcol?data_inicial=2023-12-11&data_final=2023-12-17' \ -H 'Authorization: Bearer $TOKEN'
[
{
"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
/romcolPara 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. |
[
{
"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"
}
]
[
{
"TABELA": "ROMCOL",
"ID_UPCAMPO": "9ryejRKRhClBLcKTXwvx",
"ID_REFERENCIA": "1",
"STATUS": "INCLUIDO",
"MENSAGEM": ""
}
]
Clasificación del romaneo POST
/romcolClassificacaoPara 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. |
[
{
"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
}
]
[
{
"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.