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"
}
]
}