Enviar catálogo
curl --request POST \
--url https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "5511999999999",
"catalogPhone": "5511999999999",
"translation": "PT",
"message": "Entra en este enlace para ver nuestro catálogo en WhatsApp:",
"title": "Mira el catálogo de productos en WhatsApp",
"catalogDescription": "Descubre más sobre los productos y servicios de esta empresa."
}
'import requests
url = "https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog"
payload = {
"phone": "5511999999999",
"catalogPhone": "5511999999999",
"translation": "PT",
"message": "Entra en este enlace para ver nuestro catálogo en WhatsApp:",
"title": "Mira el catálogo de productos en WhatsApp",
"catalogDescription": "Descubre más sobre los productos y servicios de esta empresa."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
phone: '5511999999999',
catalogPhone: '5511999999999',
translation: 'PT',
message: 'Entra en este enlace para ver nuestro catálogo en WhatsApp:',
title: 'Mira el catálogo de productos en WhatsApp',
catalogDescription: 'Descubre más sobre los productos y servicios de esta empresa.'
})
};
fetch('https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog', 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/channels/{channel_id}/token/{channel_token}/send-catalog",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone' => '5511999999999',
'catalogPhone' => '5511999999999',
'translation' => 'PT',
'message' => 'Entra en este enlace para ver nuestro catálogo en WhatsApp:',
'title' => 'Mira el catálogo de productos en WhatsApp',
'catalogDescription' => 'Descubre más sobre los productos y servicios de esta empresa.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog"
payload := strings.NewReader("{\n \"phone\": \"5511999999999\",\n \"catalogPhone\": \"5511999999999\",\n \"translation\": \"PT\",\n \"message\": \"Entra en este enlace para ver nuestro catálogo en WhatsApp:\",\n \"title\": \"Mira el catálogo de productos en WhatsApp\",\n \"catalogDescription\": \"Descubre más sobre los productos y servicios de esta empresa.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"5511999999999\",\n \"catalogPhone\": \"5511999999999\",\n \"translation\": \"PT\",\n \"message\": \"Entra en este enlace para ver nuestro catálogo en WhatsApp:\",\n \"title\": \"Mira el catálogo de productos en WhatsApp\",\n \"catalogDescription\": \"Descubre más sobre los productos y servicios de esta empresa.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone\": \"5511999999999\",\n \"catalogPhone\": \"5511999999999\",\n \"translation\": \"PT\",\n \"message\": \"Entra en este enlace para ver nuestro catálogo en WhatsApp:\",\n \"title\": \"Mira el catálogo de productos en WhatsApp\",\n \"catalogDescription\": \"Descubre más sobre los productos y servicios de esta empresa.\"\n}"
response = http.request(request)
puts response.read_body{
"zaapId": "3999984263738042930CD6ECDE9VDWSA",
"messageId": "D241XXXX732339502B68",
"id": "D241XXXX732339502B68"
}{
"error": 405,
"message": "Method not allowed"
}{
"error": 415,
"message": "Unsupported media type"
}Mensajes
Enviar catálogo
Envía el catálogo de productos de WhatsApp Business
POST
/
send-catalog
Enviar catálogo
curl --request POST \
--url https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "5511999999999",
"catalogPhone": "5511999999999",
"translation": "PT",
"message": "Entra en este enlace para ver nuestro catálogo en WhatsApp:",
"title": "Mira el catálogo de productos en WhatsApp",
"catalogDescription": "Descubre más sobre los productos y servicios de esta empresa."
}
'import requests
url = "https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog"
payload = {
"phone": "5511999999999",
"catalogPhone": "5511999999999",
"translation": "PT",
"message": "Entra en este enlace para ver nuestro catálogo en WhatsApp:",
"title": "Mira el catálogo de productos en WhatsApp",
"catalogDescription": "Descubre más sobre los productos y servicios de esta empresa."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
phone: '5511999999999',
catalogPhone: '5511999999999',
translation: 'PT',
message: 'Entra en este enlace para ver nuestro catálogo en WhatsApp:',
title: 'Mira el catálogo de productos en WhatsApp',
catalogDescription: 'Descubre más sobre los productos y servicios de esta empresa.'
})
};
fetch('https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog', 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/channels/{channel_id}/token/{channel_token}/send-catalog",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone' => '5511999999999',
'catalogPhone' => '5511999999999',
'translation' => 'PT',
'message' => 'Entra en este enlace para ver nuestro catálogo en WhatsApp:',
'title' => 'Mira el catálogo de productos en WhatsApp',
'catalogDescription' => 'Descubre más sobre los productos y servicios de esta empresa.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog"
payload := strings.NewReader("{\n \"phone\": \"5511999999999\",\n \"catalogPhone\": \"5511999999999\",\n \"translation\": \"PT\",\n \"message\": \"Entra en este enlace para ver nuestro catálogo en WhatsApp:\",\n \"title\": \"Mira el catálogo de productos en WhatsApp\",\n \"catalogDescription\": \"Descubre más sobre los productos y servicios de esta empresa.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"5511999999999\",\n \"catalogPhone\": \"5511999999999\",\n \"translation\": \"PT\",\n \"message\": \"Entra en este enlace para ver nuestro catálogo en WhatsApp:\",\n \"title\": \"Mira el catálogo de productos en WhatsApp\",\n \"catalogDescription\": \"Descubre más sobre los productos y servicios de esta empresa.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omni.z-api.io/channels/{channel_id}/token/{channel_token}/send-catalog")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone\": \"5511999999999\",\n \"catalogPhone\": \"5511999999999\",\n \"translation\": \"PT\",\n \"message\": \"Entra en este enlace para ver nuestro catálogo en WhatsApp:\",\n \"title\": \"Mira el catálogo de productos en WhatsApp\",\n \"catalogDescription\": \"Descubre más sobre los productos y servicios de esta empresa.\"\n}"
response = http.request(request)
puts response.read_body{
"zaapId": "3999984263738042930CD6ECDE9VDWSA",
"messageId": "D241XXXX732339502B68",
"id": "D241XXXX732339502B68"
}{
"error": 405,
"message": "Method not allowed"
}{
"error": 415,
"message": "Unsupported media type"
}Conceptos
Método para enviar el catálogo de productos de WhatsApp Business. El destinatario recibe una tarjeta con un enlace para ver el catálogo completo.Esta función requiere una cuenta de WhatsApp Business con el catálogo y los productos configurados.
Autorizaciones
Secret Key generada en el panel de Seguridad de Omni Z-API
Cuerpo
application/json
Teléfono del destinatario (código de país + prefijo + número)
Ejemplo:
"5511999999999"
Teléfono de la cuenta business propietaria del catálogo
Idioma de la tarjeta del catálogo
Opciones disponibles:
EN, PT Mensaje que acompaña a la tarjeta del catálogo
Título de la tarjeta del catálogo
Descripción de la tarjeta del catálogo