Enviar un formulario por correo o WhatsApp
curl --request POST \
--url https://clientapi.woku.app/v1/forms/{id}/invitations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel": "whatsapp",
"recipients": [
"56912345678"
],
"language": "es"
}
'import requests
url = "https://clientapi.woku.app/v1/forms/{id}/invitations"
payload = {
"channel": "whatsapp",
"recipients": ["56912345678"],
"language": "es"
}
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({channel: 'whatsapp', recipients: ['56912345678'], language: 'es'})
};
fetch('https://clientapi.woku.app/v1/forms/{id}/invitations', 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://clientapi.woku.app/v1/forms/{id}/invitations",
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([
'channel' => 'whatsapp',
'recipients' => [
'56912345678'
],
'language' => 'es'
]),
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://clientapi.woku.app/v1/forms/{id}/invitations"
payload := strings.NewReader("{\n \"channel\": \"whatsapp\",\n \"recipients\": [\n \"56912345678\"\n ],\n \"language\": \"es\"\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://clientapi.woku.app/v1/forms/{id}/invitations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel\": \"whatsapp\",\n \"recipients\": [\n \"56912345678\"\n ],\n \"language\": \"es\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://clientapi.woku.app/v1/forms/{id}/invitations")
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 \"channel\": \"whatsapp\",\n \"recipients\": [\n \"56912345678\"\n ],\n \"language\": \"es\"\n}"
response = http.request(request)
puts response.read_body{
"channel": "email",
"accepted": [
"<string>"
],
"rejected": [
{
"recipient": "<string>",
"reason": "invalid_recipient"
}
]
}{
"statusCode": 400,
"message": [
"email must be a valid email",
"password must be at least 8 characters"
],
"error": "Bad Request"
}v1 - invitations
Enviar un formulario por correo o WhatsApp
Despacha la invitación del formulario a una lista de destinatarios. El formulario debe pertenecer a la empresa del llamador y estar abierto y activo.
POST
/
v1
/
forms
/
{id}
/
invitations
Enviar un formulario por correo o WhatsApp
curl --request POST \
--url https://clientapi.woku.app/v1/forms/{id}/invitations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel": "whatsapp",
"recipients": [
"56912345678"
],
"language": "es"
}
'import requests
url = "https://clientapi.woku.app/v1/forms/{id}/invitations"
payload = {
"channel": "whatsapp",
"recipients": ["56912345678"],
"language": "es"
}
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({channel: 'whatsapp', recipients: ['56912345678'], language: 'es'})
};
fetch('https://clientapi.woku.app/v1/forms/{id}/invitations', 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://clientapi.woku.app/v1/forms/{id}/invitations",
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([
'channel' => 'whatsapp',
'recipients' => [
'56912345678'
],
'language' => 'es'
]),
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://clientapi.woku.app/v1/forms/{id}/invitations"
payload := strings.NewReader("{\n \"channel\": \"whatsapp\",\n \"recipients\": [\n \"56912345678\"\n ],\n \"language\": \"es\"\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://clientapi.woku.app/v1/forms/{id}/invitations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel\": \"whatsapp\",\n \"recipients\": [\n \"56912345678\"\n ],\n \"language\": \"es\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://clientapi.woku.app/v1/forms/{id}/invitations")
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 \"channel\": \"whatsapp\",\n \"recipients\": [\n \"56912345678\"\n ],\n \"language\": \"es\"\n}"
response = http.request(request)
puts response.read_body{
"channel": "email",
"accepted": [
"<string>"
],
"rejected": [
{
"recipient": "<string>",
"reason": "invalid_recipient"
}
]
}{
"statusCode": 400,
"message": [
"email must be a valid email",
"password must be at least 8 characters"
],
"error": "Bad Request"
}Autorizaciones
Clave API secreta de la empresa.
Encabezados
Clave generada por el cliente para hacer que un envío sea seguro para reintentar. Un reintento con la misma clave devuelve el resultado original en lugar de despachar de nuevo.
Parámetros de ruta
Id del formulario
Cuerpo
application/json
Canal de entrega para las invitaciones
Opciones disponibles:
email, whatsapp Ejemplo:
"whatsapp"
Destinatarios: direcciones de correo electrónico para el canal email, números de teléfono (dígitos, código de país incluido, p. ej. 56912345678) para whatsapp
Maximum array length:
100Ejemplo:
["56912345678"]
Idioma de la plantilla de invitación
Opciones disponibles:
es, en Ejemplo:
"es"
Respuesta
Resumen de despacho por destinatario