curl --request POST \
--url https://api.bevits.com/v1/flows/{flow_id}/activate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"revision": "rev_3f9a1c2b7d4e"
}
'import requests
url = "https://api.bevits.com/v1/flows/{flow_id}/activate"
payload = { "revision": "rev_3f9a1c2b7d4e" }
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({revision: 'rev_3f9a1c2b7d4e'})
};
fetch('https://api.bevits.com/v1/flows/{flow_id}/activate', 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.bevits.com/v1/flows/{flow_id}/activate",
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([
'revision' => 'rev_3f9a1c2b7d4e'
]),
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.bevits.com/v1/flows/{flow_id}/activate"
payload := strings.NewReader("{\n \"revision\": \"rev_3f9a1c2b7d4e\"\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.bevits.com/v1/flows/{flow_id}/activate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"revision\": \"rev_3f9a1c2b7d4e\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bevits.com/v1/flows/{flow_id}/activate")
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 \"revision\": \"rev_3f9a1c2b7d4e\"\n}"
response = http.request(request)
puts response.read_body{
"object": "flow",
"id": "<string>",
"status": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"html_url": "<string>",
"name": "<string>",
"description": "<string>",
"trigger_event_type": "<string>",
"origin": "<string>",
"run_count": 1,
"revision": "<string>"
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "authentication_error",
"message": "Invalid API key.",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "permission_denied",
"message": "This API key does not have the required \"write\" scope.",
"param": "scope",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "conflict",
"message": "The flow changed after revision rev_3f9a1c2b7d4e; its current revision is rev_9b2e7c1a5f30.",
"param": "revision",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
},
"retry_after": 2
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}Activar flow
Activa un flow revisado, que empieza a enviar mensajes reales. Requiere la revision que revisó la persona; si el flow cambió después, la llamada falla con 409 e informa la revisión actual. Hace las mismas verificaciones que el botón Activar del editor. Requiere una clave API con el permiso write.
curl --request POST \
--url https://api.bevits.com/v1/flows/{flow_id}/activate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"revision": "rev_3f9a1c2b7d4e"
}
'import requests
url = "https://api.bevits.com/v1/flows/{flow_id}/activate"
payload = { "revision": "rev_3f9a1c2b7d4e" }
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({revision: 'rev_3f9a1c2b7d4e'})
};
fetch('https://api.bevits.com/v1/flows/{flow_id}/activate', 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.bevits.com/v1/flows/{flow_id}/activate",
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([
'revision' => 'rev_3f9a1c2b7d4e'
]),
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.bevits.com/v1/flows/{flow_id}/activate"
payload := strings.NewReader("{\n \"revision\": \"rev_3f9a1c2b7d4e\"\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.bevits.com/v1/flows/{flow_id}/activate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"revision\": \"rev_3f9a1c2b7d4e\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bevits.com/v1/flows/{flow_id}/activate")
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 \"revision\": \"rev_3f9a1c2b7d4e\"\n}"
response = http.request(request)
puts response.read_body{
"object": "flow",
"id": "<string>",
"status": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"html_url": "<string>",
"name": "<string>",
"description": "<string>",
"trigger_event_type": "<string>",
"origin": "<string>",
"run_count": 1,
"revision": "<string>"
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "authentication_error",
"message": "Invalid API key.",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "permission_denied",
"message": "This API key does not have the required \"write\" scope.",
"param": "scope",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "conflict",
"message": "The flow changed after revision rev_3f9a1c2b7d4e; its current revision is rev_9b2e7c1a5f30.",
"param": "revision",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
},
"retry_after": 2
}{
"error": {
"type": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}Autorizaciones
Clave API creada en la configuración de la organización.
Encabezados
Clave única de la operación. Repetir la misma clave con el mismo cuerpo devuelve la respuesta original en lugar de ejecutarla de nuevo.
Parámetros de ruta
ID público del flow.
^flw_[A-Za-z0-9_-]+$Cuerpo
La revisión que revisó la persona, devuelta al crear el borrador o al consultar el flow.
^rev_[0-9a-f]+$Respuesta
Flow encontrado.
"flow"^flw_[A-Za-z0-9_-]+$Campo heredado obsoleto, conservado por compatibilidad. Cuando está presente, siempre devuelve 0; no representa el número real de ejecuciones.
x >= 0Identifica el contenido actual del flow (bloques y conexiones). Envíala al activar el flow para que solo el contenido revisado quede activo.