cURL
curl --request GET \
--url https://api.altur.io/api/v1.0/campaigns/{id}/contacts \
--header 'Authorization: <api-key>'import requests
url = "https://api.altur.io/api/v1.0/campaigns/{id}/contacts"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.altur.io/api/v1.0/campaigns/{id}/contacts', 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.altur.io/api/v1.0/campaigns/{id}/contacts",
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: <api-key>"
],
]);
$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.altur.io/api/v1.0/campaigns/{id}/contacts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.altur.io/api/v1.0/campaigns/{id}/contacts")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.altur.io/api/v1.0/campaigns/{id}/contacts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"total_count": 123,
"contacts": [
{
"f_id": "<string>",
"id": 123,
"name": "<string>",
"contact": "<string>",
"status": "<string>",
"context": "<string>",
"retries": 123,
"has_follow_up": true,
"call_count": 123,
"billed_duration": 270,
"last_call_at": "2025-10-03 19:11:39",
"extracted_data": {
"monto_prometido": "1000",
"fecha_limite": "01-01-2025"
},
"tags": [
"tag1",
"tag2"
]
}
],
"pagination": {
"has_next": true,
"has_previous": true,
"next_page": 123,
"previous_page": 123
}
}{
"field1": [
"This field is required."
],
"field2": [
"Incorrect format."
],
"non_field_errors": [
"The date range is not valid."
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Campañas
Listar Contactos de Campaña
Returns the Campaign Contacts corresponding to the given identifier
GET
/
campaigns
/
{id}
/
contacts
cURL
curl --request GET \
--url https://api.altur.io/api/v1.0/campaigns/{id}/contacts \
--header 'Authorization: <api-key>'import requests
url = "https://api.altur.io/api/v1.0/campaigns/{id}/contacts"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.altur.io/api/v1.0/campaigns/{id}/contacts', 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.altur.io/api/v1.0/campaigns/{id}/contacts",
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: <api-key>"
],
]);
$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.altur.io/api/v1.0/campaigns/{id}/contacts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.altur.io/api/v1.0/campaigns/{id}/contacts")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.altur.io/api/v1.0/campaigns/{id}/contacts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"total_count": 123,
"contacts": [
{
"f_id": "<string>",
"id": 123,
"name": "<string>",
"contact": "<string>",
"status": "<string>",
"context": "<string>",
"retries": 123,
"has_follow_up": true,
"call_count": 123,
"billed_duration": 270,
"last_call_at": "2025-10-03 19:11:39",
"extracted_data": {
"monto_prometido": "1000",
"fecha_limite": "01-01-2025"
},
"tags": [
"tag1",
"tag2"
]
}
],
"pagination": {
"has_next": true,
"has_previous": true,
"next_page": 123,
"previous_page": 123
}
}{
"field1": [
"This field is required."
],
"field2": [
"Incorrect format."
],
"non_field_errors": [
"The date range is not valid."
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Límite de Tasa: 12 solicitudes por segundo
Valores de Estado por Tipo de Campaña
- Campañas de Llamadas
- Campañas de WhatsApp
queue— Contacto esperando en colasending— Llamada siendo iniciadafailed— Llamada falló al conectarretrying— Programado para reintentoconverted— Contacto fue convertidovoicemail— Llegó a buzón de vozanswered— Llamada fue contestada
queue— Mensaje en colasending— Mensaje siendo enviadosent— Mensaje fue enviadodelivered— Mensaje fue entregadoread— Mensaje fue leídoaccepted— Contacto aceptórejected— Contacto rechazófailed— Mensaje fallóretrying— Programado para reintentoconverted— Contacto fue convertido
Autorizaciones
Add api-key YOUR_API_SECRET_KEY as the value of the Authorization header.
Parámetros de ruta
The identifier of the Campaign to return the Contacts
Parámetros de consulta
Filters the Campaign Contacts by the Status of the Campaign Contact
Opciones disponibles:
queue, sending, sent, delivered, voicemail, read, failed, retrying, converted, answered, accepted, rejected Number of items per page to return.
Rango requerido:
1 <= x <= 100Page number to the next page to return.
Rango requerido:
0 <= x <= 25000Respuesta
Campaign Contacts response
Total number of Campaign Contacts for the given query. NOTE: Only calculated in the first page.
Show child attributes
Show child attributes
Filters are applied to each request independently. Changing filters while paginating may result in gaps or overlaps in the result set. For consistent results, maintain the same filters throughout pagination.
Show child attributes
Show child attributes