Resumen
SIMA’s Third-Party API is designed for incremental synchronization. Every list endpoint supports audit filters (updated_at_from, deleted_at_from, active) that let you pull only what changed since your last sync, rather than downloading the full dataset on every run.
The audit filter pattern
All v3 list endpoints (and most v2 endpoints) share the same set of audit parameters:| Parameter | Type | Description |
|---|---|---|
updated_at_from | datetime (ISO8601) | Records modified on or after this timestamp |
updated_at_to | datetime (ISO8601) | Records modified before this timestamp |
created_at_from | datetime (ISO8601) | Records created on or after this timestamp |
created_at_to | datetime (ISO8601) | Records created before this timestamp |
deleted_at_from | datetime (ISO8601) | Soft-deleted records deleted on or after this timestamp |
deleted_at_to | datetime (ISO8601) | Soft-deleted records deleted before this timestamp |
active | bool | Filter by active flag (true / false) |
2024-01-01T00:00:00-03:00 (ISO8601 with timezone offset)
Default soft-delete behavior
By default, when you don’t pass anydeleted_at_* parameter, the API automatically excludes soft-deleted records. You get only active (non-deleted) rows.
deleted_at_from range:
Recommended sync flow
Initial sync (first time)
Pull the full dataset for each entity. Paginate through all pages.Incremental sync (subsequent runs)
Useupdated_at_from set to your last sync timestamp. Only records that changed come back.
Detecting deletions
Run a separate query withdeleted_at_from to find soft-deleted records and mark them inactive in your system:
Frecuencia por entidad
Not all entities change at the same rate. Adapt your sync cadence accordingly:| Entity | Change frequency | Recommended sync |
|---|---|---|
| Work Orders | High — created/updated constantly | Every 15–30 min or on demand |
| Establishments / Plots | Medium — change when client modifies structure | Daily |
| Campaigns / Cultivations | Medium — change at season start/end | Daily |
| Applicators / Machines | Low — added when new contractors onboard | Daily or weekly |
| Formulateds | Very low — global catalog | Weekly |
| Units / Labour Types | Rarely change | Weekly or on startup |
Paginación
All list endpoints are paginated. Usepage and size parameters:
next_page is null, you’ve reached the last page.
Default
size is 10 for most endpoints. For bulk initial syncs, increase to 100 to reduce the number of requests.Mapeo de IDs
Every entity in SIMA has alocal_id (SIMA’s internal ID) and an optional external_code or external_id (your system’s ID). Maintain a mapping table in your database:
external_code when creating or updating records in SIMA to store your ID:
Errores comunes
| Mistake | Correct approach |
|---|---|
Passing deleted_at_from=null to get active records | Omit deleted_at_* entirely — active records are the default |
Using active=true to filter soft-deletes | active and deleted_at are separate flags — use both if needed |
| Re-fetching the full catalog on every run | Store a last_sync timestamp and use updated_at_from |
| Using v3 param names on v2 endpoints | Check each endpoint — v2 may use updated_from instead of updated_at_from |
Próximos pasos
Work Orders
Apply sync strategy to Work Orders
Scouting
Sync field observations and adversities