Skip to main content

Livestock

Index

Introduction

This documentation describes the API related to livestock and field paddock management. The API provides endpoints for operations such as herd management, livestock transactions, transaction types, and field paddock management.

Activating the livestock module in the extension's claimset is required.

API

Paddock

The paddock entity is the spatial unit that contains livestock. This entity is necessary to indicate the division of the field.

Endpoint: /livestock/paddock

GET

Description

Retrieves all paddocks or a specific paddock.

Input Parameters

The paddock_uuid parameter can be sent in the PATH (/livestock/paddock/<paddock_uuid>). If not sent, all Paddock are retrieved.

Filtering by field_id is possible to obtain Paddock from a specific field.

Response

{
"data": [
{
"paddock_id": 5,
"paddock_uuid": "1125a934-71b6-4d17-9a1a-a5d9369805a2",
"name": "Parcela 1 test",
"creation_ts": "2023-05-22",
"shape": "POLYGON((-59.6969175338745 -34.1914642334418,-59.6950721740723 -34.1924581727268,-59.6953725814819 -34.193487597494,-59.6972608566284 -34.1941620413899,-59.6992778778076 -34.1938070715907,-59.698805809021 -34.1923871774521,-59.6976470947266 -34.1918547109865,-59.6969175338745 -34.1914642334418))",
"area": 7.57465980374813
},
{
"paddock_id": 3,
"paddock_uuid": "26ce6e4c-d3f0-4c67-89e7-f4ec2b3bdc54",
"name": "Parcela 1 test (patch 2)",
"creation_ts": "2023-05-22",
"shape": "POLYGON((-59.6969175338745 -34.1914642334418,-59.6950721740723 -34.1924581727268,-59.6953725814819 -34.193487597494,-59.6972608566284 -34.1941620413899,-59.6992778778076 -34.1938070715907,-59.698805809021 -34.1923871774521,-59.6976470947266 -34.1918547109865,-59.6969175338745 -34.1914642334418))",
"area": 3.77398852224927
}
]
}

POST

Description

Creates a new paddock in the field.

Input Parameters

Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Crear Parcela",
"type": "object",
"properties": {
"field_id": {
"type": "number"
},
"shape": {
"type": "string",
"description": "WKT format"
},
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string"
}
},
"required": [
"field_id",
"shape",
"date",
"name"
]
}

Example:

{
"field_id": 123456,
"shape":"POLYGON((-59.69691753387451 -34.19146423344178,-59.695072174072266 -34.19245817272681,-59.69537258148192 -34.19348759749397,-59.69726085662841 -34.19416204138989,-59.69927787780762 -34.19380707159075,-59.698805809020996 -34.19238717745208,-59.69764709472656 -34.19185471098653,-59.69691753387451 -34.19146423344178))",
"date": "2023-05-22T15:27:09.147Z",
"name":"Parcela 1 test"
}

PATCH

Description

Modifies a created paddock.

Input Parameters

The paddock_uuid must be sent in the path (/livestock/paddock/<paddock_uuid>).

Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Modificar Parcela",
"type": "object",
"anyOf": [
{
"required": ["name"]
},
{
"required": ["shape"]
}
],
"properties": {
"name": {
"type": "string"
},
"shape": {
"type": "string",
"description": "WKT format"
}
}
}

Example:

{
"name":"Parcela 1 test (patch 2)",
"shape":"POLYGON((-59.69691753387451 -34.19146423344178,-59.695072174072266 -34.19245817272681,-59.69537258148192 -34.19348759749397,-59.69726085662841 -34.19416204138989,-59.69927787780762 -34.19380707159075,-59.698805809020996 -34.19238717745208,-59.69764709472656 -34.19185471098653,-59.69691753387451 -34.19146423344178))"
}

DELETE

Description

Deletes a paddock.

Input Parameters

The paddock_uuid must be sent in the path (/livestock/paddock/<paddock_uuid>).

Herd

The herd entity corresponds to the unit of livestock being worked with.

Endpoint: /livestock/herd

GET

Description

Fetches information of all herds.

Response

Example:

{
"data": [
{
"herd_name": "test",
"farm_uuid": "ce33ffaf-ddb0-411b-ab1a-2f2f7c79c2e9",
"weight": 1500.0,
"type_id": 2,
"paddock_id": 1,
"farm_id": 72560,
"field_id": 258388,
"herd_uuid": "805802f5-84c1-4ed0-a3e3-1a9afad18cfd",
"field_uuid": "bf74402d-4721-49f9-8328-7313b02b4dfc",
"date_of_last_transaction": null,
"animal_count": 3,
"herd_id": 1,
"weight_unit": "Kg"
},
{
"herd_name": "otro test",
"farm_uuid": "ce33ffaf-ddb0-411b-ab1a-2f2f7c79c2e9",
"weight": 9000.0,
"type_id": 3,
"paddock_id": 2,
"farm_id": 72560,
"field_id": 258388,
"herd_uuid": "22184736-dc13-4636-8d33-4eaba40af812",
"field_uuid": "bf74402d-4721-49f9-8328-7313b02b4dfc",
"date_of_last_transaction": null,
"animal_count": 8,
"herd_id": 3,
"weight_unit": "Kg"
}
]
}

POST

Description

Creates a new herd.

Input Parameters:

Below is the schema required to create a herd. If the herd_uuid parameter of the herd is not defined, one will be created and returned in the POST response.

The parameters paddock_uuid and field_id must be sent.

Refer to Herd Categories to understand the type_id parameter.

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Crear Rodeo",
"type": "object",
"properties": {
"type_id": {
"type": "number"
},
"animal_count": {
"type": "number"
},
"paddock_uuid": {
"type": [ "string", "null" ]
},
"weight": {
"type": "number"
},
"weight_unit": {
"type": "string"
},
"herd_name": {
"type": "string"
},
"field_id": {
"type": "number"
}
},
"required": [
"type_id",
"animal_count",
"weight",
"weight_unit",
"herd_name",
"field_id",
"paddock_uuid"
]
}

PATCH

Description

Modifies a herd.

Input Parameters

The herd_uuid parameter must be sent in the path (/livestock/herd/<herd_uuid>).

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Modificar Rodeo",
"type": "object",
"properties": {
"type_id": {
"type": "number"
},
"herd_name": {
"type": "string"
},
"new_animals": {
"type": "object",
"properties": {
"new_animals_count": {
"type": "number"
},
"new_animals_weight": {
"type": "number"
},
"new_animals_weight_unit": {
"type": "string"
}
},
"required": [
"new_animals_count",
"new_animals_weight",
"new_animals_weight_unit"
]
}
},
"required": [
"type_id",
"herd_name",
"new_animals"
]
}

DELETE

Description

Deletes a herd.

Input Parameters

The herd_uuid parameter must be sent in the path (/livestock/herd/<herd_uuid>).

Paddock Change

Used to indicate the change of paddock for a Herd.

Endpoint: /livestock/transaction/paddock

POST

Description

Changes the paddock for a Herd.

Input Parameters

In case the Herd is also changed to a paddock in another field, the destination field must be sent, which corresponds to the id of the destination field.

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Paddock change",
"type": "object",
"properties": {
"herd_name": {
"type": "string"
},
"herd_category": {
"type": "integer"
},
"max_count": {
"type": "integer"
},
"animal_count": {
"type": "integer"
},
"transaction_date": {
"type": "string",
"format": "date-time"
},
"weight": {
"type": "number"
},
"weight_unit": {
"type": "string"
},
"origin_herd_uuid": {
"type": "string"
},
"origin_paddock_uuid": {
"type": "string"
},
"destination_field": {
"type": "string"
},
"destination_paddock_uuid": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": ["origin_herd_uuid", "origin_paddock_uuid", "destination_paddock_uuid", "transaction_date"]
}

Herd Categories

Endpoint: /livestock/herd/categories

GET

Description

Fetches all livestock categories.

Response

{
"data": [
{
"id": 1,
"name": "Terneros"
},
{
"id": 2,
"name": "Terneras"
},
{
"id": 3,
"name": "Novillito"
},
{
"id": 4,
"name": "Novillos"
},
{
"id": 5,
"name": "Vaquillonas"
},
{
"id": 6,
"name": "Vacas Invernada"
},
{
"id": 7,
"name": "Vacas Cría"
},
{
"id": 8,
"name": "Toros"
}
]
}

Exits

Exits record a movement of livestock. This movement can be of different types.

Endpoint: /livestock/transaction/exit

POST

Description

Enters an exit for livestock.

Input Parameters

If the destination_type parameter is sent as Exit to another herd, the destination_herd_uuid parameter must be sent as the UUID of the destination herd.

See Exit Types to understand the destination_type parameter.

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Ingresar Salida de Ganado",
"type": "object",
"required": [
"destination_type",
"animal_count",
"weight",
"weight_unit",
"origin_herd_uuid",
"destination_herd_uuid",
"transaction_uuid",
"transaction_date"
],
"properties": {
"destination_type": {
"type": "integer"
},
"animal_count": {
"type": "integer"
},
"weight": {
"type": "integer"
},
"weight_unit": {
"type": "string"
},
"origin_herd_uuid": {
"type": "string",
"format": "uuid"
},
"destination_herd_uuid": {
"type": "string",
"format": "uuid"
},
"transaction_uuid": {
"type": "string",
"format": "uuid"
},
"transaction_date": {
"type": "string",
"format": "date-time"
}
}
}

Exit Types

Livestock can have different types of exits from a herd. For this, the types to be used to indicate an exit are defined.

Endpoint: /livestock/transaction/exit/types

GET

Description

Fetches the existing exit types.

Response Example

{
"data": [
{
"id": 3,
"type": "Faena"
},
{
"id": 2,
"type": "Salida hacia otro rodeo"
},
{
"id": 4,
"type": "Venta"
},
{
"id": 5,
"type": "Cambio de campo"
},
{
"id": 6,
"type": "Robo"
},
{
"id": 7,
"type": "Otro"
},
{
"id": 1,
"type": "Muertes"
}
]
}