Configurar webhook del cliente

Configura la URL del webhook donde se recibiran los eventos del cliente (mensajes recibidos, estados).

POST /api/webhook_configurar.php API Key

Parametros

Nombre Tipo Requerido Descripcion
key string Si API key del cliente
url string Si URL publica HTTPS donde se enviaran los eventos
secret string No Secret para verificar firma HMAC
eventos string No CSV: messages.received,message.status

Ejemplos de codigo

Listos para copiar y pegar. Cubre los 8 lenguajes mas usados.

<?php
// PHP + cURL
$ch = curl_init('https://api.multimensajes.com/api/webhook-configurar.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
    'key' => 'WA_8_a1b2c3d4e5f6g7h8',
    'url' => 'https://ejemplo.com/imagen.jpg',
    'secret' => 'mi-secret-123',
    'eventos' => 'messages.received,message.status',
]);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
import requests

response = requests.post(
    'https://api.multimensajes.com/api/webhook-configurar.php',
    data={
    'key': 'key': 'WA_8_a1b2c3d4e5f6g7h8',
    'url': 'url': 'https://ejemplo.com/imagen.jpg',
    'secret': 'secret': 'mi-secret-123',
    'eventos': 'eventos': 'messages.received,message.status'
    },
    timeout=30
)
data = response.json()
print(data)
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));

const params = new URLSearchParams();
params.append('key', 'WA_8_a1b2c3d4e5f6g7h8');
params.append('url', 'https://ejemplo.com/imagen.jpg');
params.append('secret', 'mi-secret-123');
params.append('eventos', 'messages.received,message.status');

const response = await fetch('https://api.multimensajes.com/api/webhook-configurar.php', {
    method: 'POST',
    body: params
});
const data = await response.json();
console.log(data);
curl -X POST 'https://api.multimensajes.com/api/webhook-configurar.php' \
  -d 'key=WA_8_a1b2c3d4e5f6g7h8' \
  -d 'url=https%3A%2F%2Fejemplo.com%2Fimagen.jpg' \
  -d 'secret=mi-secret-123' \
  -d 'eventos=messages.received%2Cmessage.status'
package main

import (
    "fmt"
    "net/url"
    "net/http"
    "io/ioutil"
)

func main() {
    form := url.Values{}
    form.Add("key", "WA_8_a1b2c3d4e5f6g7h8")
    form.Add("url", "https://ejemplo.com/imagen.jpg")
    form.Add("secret", "mi-secret-123")
    form.Add("eventos", "messages.received,message.status")

    resp, _ := http.PostForm("https://api.multimensajes.com/api/webhook-configurar.php", form)
    defer resp.Body.Close()
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class WhatsAppAPI {
    public static void main(String[] args) throws Exception {
        URL url = new URL("https://api.multimensajes.com/api/webhook-configurar.php");
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setRequestMethod("POST");
        con.setDoOutput(true);
        StringBuilder params = new StringBuilder();
        params.append("key=WA_8_a1b2c3d4e5f6g7h8\&");
        params.append("
        params.append("url=https%3A%2F%2Fejemplo.com%2Fimagen.jpg\&");
        params.append("
        params.append("secret=mi-secret-123\&");
        params.append("
        params.append("eventos=messages.received%2Cmessage.status\&");
        params.append("
        con.getOutputStream().write(params.toString().getBytes());
        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String line;
        while ((line = in.readLine()) != null) System.out.println(line);
    }
}
require 'net/http'
require 'uri'
require 'json'

uri = URI('https://api.multimensajes.com/api/webhook-configurar.php')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

req = Net::HTTP::Post.new(uri.path)
req.set_form_data(
  'key' => 'WA_8_a1b2c3d4e5f6g7h8',
  'url' => 'https://ejemplo.com/imagen.jpg',
  'secret' => 'mi-secret-123',
  'eventos' => 'messages.received,message.status'
)

response = http.request(req)
puts JSON.parse(response.body)
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Collections.Generic;

class Program {
    static async Task Main() {
        var client = new HttpClient();
        var form = new FormUrlEncodedContent(new[]
        {
            new KeyValuePair<string, string>("key", "WA_8_a1b2c3d4e5f6g7h8"),
            new KeyValuePair<string, string>("url", "https://ejemplo.com/imagen.jpg"),
            new KeyValuePair<string, string>("secret", "mi-secret-123"),
            new KeyValuePair<string, string>("eventos", "messages.received,message.status")
        });
        var response = await client.PostAsync("https://api.multimensajes.com/api/webhook-configurar.php", form);
        var content = await response.Content.ReadAsStringAsync();
        Console.WriteLine(content);
    }
}

Pruebalo tu mismo

Copia este comando y pegalo en tu terminal (necesitas curl):

curl -X POST 'https://api.multimensajes.com/api/webhook-configurar.php' \
  -d 'key=WA_8_a1b2c3d4e5f6g7h8' \
  -d 'url=https%3A%2F%2Fejemplo.com%2Fimagen.jpg' \
  -d 'secret=mi-secret-123' \
  -d 'eventos=messages.received%2Cmessage.status'

Endpoints relacionados