curl --request GET \
--url https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "A1B2C3D4E5F6789012345678901234AB",
"channelId": "019E4C54B1B375A28970B605CA9B03C3",
"instanceId": "019E4C54B1B375A28970B605CA9B03C3",
"url": "https://app.suempresa.com/webhooks/omni-zapi",
"description": "Webhook principal de producción",
"events": [
"MESSAGE_RECEIVED",
"MESSAGE_STATUS"
],
"status": "ENABLED",
"signing": true,
"auth": {
"type": "BEARER",
"configured": true
},
"payloadFormat": "DEFAULT",
"customAttributes": {},
"createdAt": "2025-01-15T10:30:00.000+0000",
"updatedAt": "2025-01-15T10:30:00.000+0000"
}{
"error": 401,
"message": "Unauthorized"
}{
"error": 404,
"message": "Webhook not found"
}{
"error": 422,
"message": "This action requires ENTERPRISE role"
}Consultar webhook
Consulta los datos de un webhook concreto
curl --request GET \
--url https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "A1B2C3D4E5F6789012345678901234AB",
"channelId": "019E4C54B1B375A28970B605CA9B03C3",
"instanceId": "019E4C54B1B375A28970B605CA9B03C3",
"url": "https://app.suempresa.com/webhooks/omni-zapi",
"description": "Webhook principal de producción",
"events": [
"MESSAGE_RECEIVED",
"MESSAGE_STATUS"
],
"status": "ENABLED",
"signing": true,
"auth": {
"type": "BEARER",
"configured": true
},
"payloadFormat": "DEFAULT",
"customAttributes": {},
"createdAt": "2025-01-15T10:30:00.000+0000",
"updatedAt": "2025-01-15T10:30:00.000+0000"
}{
"error": 401,
"message": "Unauthorized"
}{
"error": 404,
"message": "Webhook not found"
}{
"error": 422,
"message": "This action requires ENTERPRISE role"
}Conceptos
Devuelve los datos de un webhook concreto. Igual que en el listado, las credenciales de autenticación y elsecret de firma no se devuelven por seguridad.
webhookId se obtiene en la respuesta del endpoint Crear webhook o Listar webhooks.Autorizaciones
Secret Key generada en el panel de Seguridad de Omni Z-API
Parámetros de ruta
ID del canal
"019E4C54B1B375A28970B605CA9B03C3"
ID del webhook
"A1B2C3D4E5F6789012345678901234AB"
Respuesta
Datos del webhook
ID único del webhook
"A1B2C3D4E5F6789012345678901234AB"
ID del canal al que pertenece el webhook
"019E4C54B1B375A28970B605CA9B03C3"
Obsoleto: usa channelId
"019E4C54B1B375A28970B605CA9B03C3"
URL de destino de los eventos
"https://app.suempresa.com/webhooks/omni-zapi"
Descripción del webhook
"Webhook principal de producción"
Tipos de evento configurados
["MESSAGE_RECEIVED", "MESSAGE_STATUS"]
Estado actual del webhook
ENABLED, DISABLED "ENABLED"
Indica si la firma HMAC está habilitada
true
Resumen de la autenticación configurada: las credenciales no se devuelven por seguridad
Show child attributes
Show child attributes
Formato del payload entregado
DEFAULT, Z_API, CHATWOOT "DEFAULT"
Atributos extra configurados
{}
Fecha de creación
"2025-01-15T10:30:00.000+0000"
Fecha de la última actualización
"2025-01-15T10:30:00.000+0000"