ExecuteMove
Registra un movimiento de un contenedor que está en un patio de contenedores, como realizado en ese
momento: a una zona y una posición de pila, a un camión o fuera del patio. Un sistema de patio, como
un sistema de terminal o de puerta, lo usa para que el
inventario del patio de TrakIT siga a los contenedores a medida que se
mueven. Para comprobar antes dónde está un
contenedor, use GetContainerPosition.
El nuevo movimiento continúa a partir del último movimiento del contenedor en el patio: toma la orden de trabajo, el vehículo, el precinto y los demás datos de ese movimiento, con el tipo de movimiento, la zona, la posición, las observaciones y la ubicación que envíe. Después aparece en Movimientos de patio como cualquier otro movimiento, con System como usuario.
Cómo enviar la clave y leer la respuesta: Claves de API, Respuestas.
POST /api/public/ExecuteMoveAuthorization: Bearer your-api-keyContent-Type: application/json{ "WHKey": "your-yard-key", "Cont": "ABCU1234560", "MoveType": 2, "Zone": "BLKA", "Bay": 4, "Row": 2, "Tier": 1, "Remarks": "Reach stacker RS-03", "Latitude": 5.6312, "Longitude": -0.0174}Envíe la clave en un encabezado Authorization con el esquema Bearer. La clave debe tener permiso
para realizar movimientos de patio (yard.execute); el soporte de TrakIT lo configura. Sin el
encabezado, o con otro esquema, TrakIT responde HTTP 401 sin cuerpo.
Los nombres de los campos distinguen entre mayúsculas y minúsculas: escríbalos exactamente como se indica a continuación.
| Campo | Obligatorio | Significado |
|---|---|---|
WHKey |
Sí | La clave del patio, que el soporte de TrakIT le facilita con la clave de API. |
Cont |
Sí | El número de contenedor. Las mayúsculas no importan. |
MoveType |
Sí | El movimiento, como número entero: consulte Tipos de movimiento. |
Zone |
Para un movimiento In-Stack | La zona en la que se coloca el contenedor: su código, su nombre, o ambos como CODE - Name. Solo se lee en los movimientos In-Stack. |
Bay, Row, Tier |
Para un movimiento In-Stack a una zona con posiciones de pila | La posición de pila, como números enteros a partir de 1. Envíe los tres; omítalos para una zona con No Positioning. Consulte Posiciones. |
Remarks |
No | Observaciones sobre el movimiento, hasta 500 caracteres: las observaciones más largas se recortan. |
Latitude, Longitude |
No | Dónde se hizo el movimiento, en grados decimales: una latitud de -80 a 80 y una longitud de -180 a 180. Envíe ambas o ninguna. TrakIT muestra el lugar en un mapa: consulte Ubicación del movimiento. |
Tipos de movimiento
Sección titulada «Tipos de movimiento»MoveType |
Movimiento | Qué registra |
|---|---|---|
2 |
In-Stack | El contenedor se coloca en Zone, en la posición de pila Bay, Row, Tier, o en la zona sin posición si esta tiene No Positioning. |
3 |
On-Truck | El contenedor se saca de su posición de pila y se pone en un camión. Permanece en su zona. |
1 |
Gate-Out | El contenedor sale del patio. El movimiento toma la matrícula del último movimiento del contenedor. |
Este punto de conexión registra movimientos de contenedores que ya están en el patio: úselo para estos tres tipos de movimiento. Las entradas al patio y los demás movimientos se registran en TrakIT o con la aplicación para dispositivos móviles.
Posiciones
Sección titulada «Posiciones»Cómo se coloca un contenedor en una zona depende de cómo estén configurados el patio y la zona: consulte Almacenes y patios para Validate Position y Default Zone, y zonas para No Positioning.
- Si la zona no tiene esa posición, o la posición está deshabilitada, TrakIT registra igualmente el
movimiento, en la zona sin posición, y añade
No such position in zone ...con la posición a las observaciones del movimiento y aInfo. - Si la posición contiene otro contenedor y el patio tiene una Default Zone, TrakIT saca el otro
contenedor de la posición, dejándolo en su zona sin posición, coloca el suyo y lo indica en
Info. Si el otro contenedor no se puede sacar, por ejemplo porque tiene otro encima, el suyo va a la zona sin posición. En un patio sin zona predeterminada, el movimiento se rechaza conPosition already occupied. - Si el contenedor ya está en esa posición, no se registra nada, y la respuesta es un éxito con
InfoContainer is already in position. - Si el patio tiene Validate Position en Yes, se aplican las reglas de apilamiento; por ejemplo, un contenedor de 20 pies por encima del suelo necesita un contenedor de 20 pies debajo. Consulte las Reglas para ver los mensajes.
| Regla | Info si no se cumple |
|---|---|
| El cuerpo es JSON. | Incorrect Json syntax or move missing |
La solicitud tiene un encabezado Authorization: Bearer. |
Sin Info: HTTP 401 sin cuerpo. |
| La clave está activa y tiene permiso para realizar movimientos de patio. | Key is disabled, not recognized or permission denied |
WHKey es la clave de un patio. |
WHKey is missing or invalid |
Se indica Cont. |
Cont is required |
| TrakIT conoce el contenedor: está en la Lista de contenedores. | Container not found |
| El contenedor está en un patio. | Container not in yard |
| El contenedor está en este patio. | Container is in another yard: ..., con el nombre del patio |
| El contenedor tiene un movimiento realizado en este patio. | Could not retrieve last executed move |
In-Stack: se indica Zone. |
Zone is required |
In-Stack: Zone es una zona de este patio, y solo una. |
Invalid Zone: ..., More than one records found for Zone: ... |
In-Stack sin Bay, Row ni Tier: la zona tiene No Positioning. |
Zone ... requires a position. |
Latitude y Longitude se envían juntas. |
Both Latitude and Longitude must be provided together |
| Están dentro del intervalo. | Latitude must be between -80.0 and +80.0, Longitude must be between -180.0 and +180.0 |
| Las validaciones propias de su empresa para los movimientos de patio realizados, si las tiene. | Sus propios mensajes |
| Gate-Out: el último movimiento del contenedor tiene una matrícula. | Vehicle Number is required |
| El último movimiento del contenedor no es una salida del patio, o el contenedor tiene una posición de pila. | Container not found in yard |
| Gate-Out: el contenedor no está bloqueado. | Container is blocked: ..., con el motivo |
| En algunas instalaciones, In-Stack y On-Truck: la zona admite el estado lleno o vacío del contenedor. | Zone ... accepts empty containers only. A full container cannot be placed in it., Zone ... accepts full containers only. An empty container cannot be placed in it. |
| Con Validate Position en Yes: no hay ningún contenedor apilado sobre el que saca de su posición. | Cannot remove container under another |
| In-Stack: la posición está libre, o el patio tiene una Default Zone. | Position already occupied |
| In-Stack con Validate Position en Yes: el contenedor se puede apilar en la posición. | Position blocked by 40', Position blocked by 40' under, Requires 20' container under, Require 2x20' under, Position under empty or disabled, Cannot stack on unknown container size, Adjacent Position is occupied, Adjacent Position is disabled, Cannot place 40' here |
Respuesta
Sección titulada «Respuesta»Si tiene éxito, Code es 1. Info está vacío o contiene una nota:
Move executed successfully.seguido de lo que TrakIT ha cambiado: la posición no existía (No such position in zone ...), o se ha sacado otro contenedor de ella (... was occupied by ..., which was moved to zone ... without a position.);Container is already in position: no se ha registrado ningún movimiento.
La respuesta no da el identificador del nuevo movimiento: Identity es 0.
{ "Code": 1, "Info": "", "RetInfo": null, "RowsAffected": 1, "Scalar": null, "Identity": 0}- El movimiento se registra como realizado en el momento en que TrakIT recibe la solicitud.
- La solicitud que envió se conserva en la pestaña Action Log del nuevo movimiento, como API Payload - ExecuteMove.
- El movimiento se trata como uno registrado en TrakIT: se ejecutan las acciones de su empresa para los movimientos de patio realizados y, cuando el movimiento está vinculado a una orden de trabajo, los disparadores de movimiento de patio del flujo de trabajo rellenan sus eventos.
- Cada llamada correcta registra un nuevo movimiento, salvo un movimiento In-Stack a la posición en
la que ya está el contenedor. Si una llamada agotó el tiempo de espera, compruebe el contenedor con
GetContainerPositionantes de volver a enviarla.

