Get flow metrics
curl --request GET \
--url https://api.bevits.com/v1/flows/{flow_id}/metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bevits.com/v1/flows/{flow_id}/metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bevits.com/v1/flows/{flow_id}/metrics', 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}/metrics",
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.bevits.com/v1/flows/{flow_id}/metrics"
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.bevits.com/v1/flows/{flow_id}/metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bevits.com/v1/flows/{flow_id}/metrics")
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{
"object": "flow_metrics",
"flow_id": "<string>",
"eligibility": "recovery",
"since": "2023-11-07T05:31:56Z",
"until": "2023-11-07T05:31:56Z",
"attribution": {
"model": "last_touch",
"window_days": 2,
"scope": "abandoned_checkout"
},
"entries": 1,
"sent": 1,
"delivered": 1,
"failed": 1,
"conversions": 1,
"conversion_rate": 123,
"revenue_in_cents": 123,
"average_ticket_in_cents": 123,
"nodes": [
{
"node_id": "<string>",
"channel": "email",
"sent": 1,
"delivered": 1,
"opened": 1,
"clicked": 1,
"failed": 1,
"conversions": 1,
"revenue_in_cents": 123
}
]
}{
"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": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "Invalid query parameters.",
"param": "limit",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"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>"
}
}Reference
Get flow metrics
Returns sends, conversions, conversion rate, and recovered revenue for the flow in the period, broken down by message node.
GET
/
v1
/
flows
/
{flow_id}
/
metrics
Get flow metrics
curl --request GET \
--url https://api.bevits.com/v1/flows/{flow_id}/metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bevits.com/v1/flows/{flow_id}/metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bevits.com/v1/flows/{flow_id}/metrics', 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}/metrics",
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.bevits.com/v1/flows/{flow_id}/metrics"
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.bevits.com/v1/flows/{flow_id}/metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bevits.com/v1/flows/{flow_id}/metrics")
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{
"object": "flow_metrics",
"flow_id": "<string>",
"eligibility": "recovery",
"since": "2023-11-07T05:31:56Z",
"until": "2023-11-07T05:31:56Z",
"attribution": {
"model": "last_touch",
"window_days": 2,
"scope": "abandoned_checkout"
},
"entries": 1,
"sent": 1,
"delivered": 1,
"failed": 1,
"conversions": 1,
"conversion_rate": 123,
"revenue_in_cents": 123,
"average_ticket_in_cents": 123,
"nodes": [
{
"node_id": "<string>",
"channel": "email",
"sent": 1,
"delivered": 1,
"opened": 1,
"clicked": 1,
"failed": 1,
"conversions": 1,
"revenue_in_cents": 123
}
]
}{
"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": "authentication_error",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "validation_error",
"message": "Invalid query parameters.",
"param": "limit",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}{
"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>"
}
}Authorizations
API key created in the organization settings.
Path Parameters
Public flow ID.
Pattern:
^flw_[A-Za-z0-9_-]+$Query Parameters
Start of the analyzed window. Defaults to 30 days ago.
End of the analyzed window. Defaults to the moment of the request.
Response
Flow metrics for the period.
Allowed value:
"flow_metrics"Pattern:
^flw_[A-Za-z0-9_-]+$Available options:
recovery, engagement_only Show child attributes
Show child attributes
Required range:
x >= 0Required range:
x >= 0Required range:
x >= 0Required range:
x >= 0Required range:
x >= 0Show child attributes
Show child attributes