get_messages
Para obtener mensajes del cargador de mensajes, utilice el método messages/get_messages. Antes, cargue los mensajes en la sesión con messages/load_interval.
Endpoint
svc=messages/get_messages¶ms={
"indexFrom": <uint>,
"indexTo": <uint>,
"timeFrom": <uint>,
"timeTo": <uint>,
"filter": "<text>",
"flags": <uint>,
"flagsMask": <uint>,
"loadCount": <uint>
}
Para ver un ejemplo de esta solicitud, consulte Ejemplos de solicitudes de mensajes.
Parámetros
Los parámetros son opcionales.
| Parámetro | Descripción |
|---|---|
indexFrom |
Índice del primer mensaje solicitado. El valor predeterminado es 0. |
indexTo |
Índice que sigue al último mensaje solicitado: el mensaje con este índice no se devuelve. Por ejemplo, "indexFrom":8,"indexTo":9 devuelve un mensaje con el índice 8. Si el valor es mayor que la cantidad de mensajes cargados, se devuelven los mensajes hasta el último. Si indexFrom es igual o mayor que indexTo o que la cantidad de mensajes cargados, se devuelve una matriz vacía. |
timeFrom |
Inicio del intervalo. |
timeTo |
Fin del intervalo. |
filter |
Filtro, búsqueda en los parámetros pos y p. Consulte Filtrado de parámetros de mensajes. |
flags |
Máscara que se aplica a los flags del mensaje para excluir mensajes de la respuesta. Consulte Exclusión de mensajes por flags. El valor predeterminado es 0. |
flagsMask |
Valor que se compara con el resultado de aplicar flags a los flags del mensaje. Consulte Exclusión de mensajes por flags. El valor predeterminado es 0. |
loadCount |
Cantidad de mensajes a devolver (0xffffffff significa todos los encontrados). |
La lógica del método está ampliada: puede usar tanto la lógica anterior de indexFrom/indexTo como la nueva:
| Lógica | Descripción |
|---|---|
timeFrom/timeTo |
Determinan la hora de inicio y fin de los mensajes. |
timeFrom/loadCount |
Determinan la hora de inicio de los mensajes. El método devuelve los primeros loadCount mensajes a partir de timeFrom. |
timeTo/loadCount |
Determinan la hora de fin de los mensajes. El método devuelve los últimos loadCount mensajes hasta timeTo inclusive. |
Importante. Para usar este método, la solicitud debe contener al menos uno de los pares de parámetros mencionados arriba.
Exclusión de mensajes por flags
En este método, los parámetros flags y flagsMask funcionan de forma distinta que en messages/load_interval: excluyen mensajes de la respuesta en lugar de seleccionarlos. Un mensaje no se devuelve si flags no es 0 y el resultado de la operación AND bit a bit entre los flags del mensaje (f) y flags es igual a flagsMask. Si flags es 0, no se excluye ningún mensaje.
flags |
flagsMask |
Mensajes excluidos |
|---|---|---|
| 0xFF00 | 0x0000 | Mensajes de datos. |
| 0xFF00 | 0x0600 | Eventos. |
| 0xFF00 | 0x4000 | Mensajes de activación de notificaciones. |
Para ver los flags de los mensajes, consulte Mensajes.
Filtrado de parámetros de mensajes
La opción filter se puede usar con cualquier lógica. La búsqueda está disponible en los parámetros pos y p. El filtro no afecta a los demás campos del mensaje (por ejemplo, t, f, tp, i, o): siempre se devuelven. Si ningún parámetro del objeto pos coincide con el filtro, pos se devuelve como un objeto vacío.
Ejemplo de respuesta (sin filtrado):
[
{
"t": 1426233861,
"f": 7,
"tp": "ud",
"pos": {
"y": 53.84541,
"x": 27.4470783333,
"z": 0,
"s": 25,
"c": 285,
"sc": 255
},
"i": 0,
"o": 0,
"p": {
"adc1": 0,
"pre2": 123,
"param": 24,
"param5": 43
}
}
]
Ejemplo de filtro:
"filter":"pos.x,p.pre*,p.param?"
Respuesta filtrada:
[
{
"t": 1426233861,
"f": 7,
"tp": "ud",
"pos": {
"x": 27.4470783333
},
"i": 0,
"o": 0,
"p": {
"pre2": 123,
"param5": 43
}
}
]
Después del filtrado vemos el valor de pos.x, los valores de los parámetros del objeto p que comienzan con pre y los valores de los parámetros del objeto p que comienzan con param y tienen un símbolo más al final (por ejemplo, param1 es válido, pero param no es válido para la búsqueda).
La cantidad de parámetros definidos, separados por coma, es ilimitada. El asterisco (*) se usa como comodín para 0 o más símbolos, y el signo de interrogación (?) como comodín para un símbolo.
Respuesta
[ /* matriz de mensajes */
{ ... }, /* mensaje */
{ ... } /* mensaje */
]
Para ver los formatos de mensajes, consulte Mensajes.
Códigos de error
| Código de error | Descripción |
|---|---|
| 4 | Parámetros de entrada no válidos (no se especificó ninguno de los pares de parámetros) o no hay mensajes cargados en la sesión. |