curl --request GET \
--url https://app.eltick.com/api/v1/messages/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.eltick.com/api/v1/messages/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.eltick.com/api/v1/messages/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.eltick.com/api/v1/messages/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"id": "01a0d471-6c7d-7e8f-9a0b-1c2d3e4f5a6b",
"wamid": "wamid.HBgNNTQ5MTEyMzQ1Njc4ORUCABEYEjQ2QkI1RkY3M0E1RDlDNzY0AA==",
"direction": "out",
"status": "read",
"type": "template",
"body": "¡Hola Sofía! Recibimos tu pedido #1042. Te avisamos cuando salga.",
"errorCode": null,
"errorTitle": null,
"createdAt": "2026-09-24T17:20:03.114Z",
"sentAt": "2026-09-24T17:20:04.000Z",
"deliveredAt": "2026-09-24T17:20:05.000Z",
"readAt": "2026-09-24T17:22:41.000Z"
}Consultar un mensaje
Devuelve el estado actual de un mensaje: enviado, entregado, leído o fallido, con la hora de cada paso. Sirve para mensajes enviados por la API, desde el chat o desde campañas, y también para mensajes recibidos.
curl --request GET \
--url https://app.eltick.com/api/v1/messages/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.eltick.com/api/v1/messages/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.eltick.com/api/v1/messages/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.eltick.com/api/v1/messages/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"id": "01a0d471-6c7d-7e8f-9a0b-1c2d3e4f5a6b",
"wamid": "wamid.HBgNNTQ5MTEyMzQ1Njc4ORUCABEYEjQ2QkI1RkY3M0E1RDlDNzY0AA==",
"direction": "out",
"status": "read",
"type": "template",
"body": "¡Hola Sofía! Recibimos tu pedido #1042. Te avisamos cuando salga.",
"errorCode": null,
"errorTitle": null,
"createdAt": "2026-09-24T17:20:03.114Z",
"sentAt": "2026-09-24T17:20:04.000Z",
"deliveredAt": "2026-09-24T17:20:05.000Z",
"readAt": "2026-09-24T17:22:41.000Z"
}Autorizaciones
Tu clave de API. La creas en Ajustes › API y webhooks de app.eltick.com. Mándala en el encabezado Authorization: Bearer etk_live_….
Parámetros de ruta
Id del mensaje (el id que devolvió POST /messages).
Respuesta
El mensaje.
out: lo mandaste tú. in: lo mandó el cliente.
in, out pending: Meta lo aceptó. sent: salió. delivered: llegó al teléfono. read: lo leyó. failed: no se pudo entregar (mira errorCode). received: es un mensaje que te mandó el cliente.
pending, sent, delivered, read, failed, received text, template, image, document, audio, video, interactive, etc.
Texto del mensaje (en plantillas, con las variables ya reemplazadas).
Código de error de Meta si falló (por ejemplo 131026: el número no tiene WhatsApp).

