Lista kampanii
curl --request GET \
--url https://api.example.com/api/v1/campaignsimport requests
url = "https://api.example.com/api/v1/campaigns"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/campaigns', 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.example.com/api/v1/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/api/v1/campaigns"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/api/v1/campaigns")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"campaigns": [
{
"id": 456,
"name": "Black Friday Sale 2024",
"subject": "50% OFF Everything - Limited Time!",
"status": "SENT",
"total_recipients": 10000,
"created_at": "2024-12-01T10:00:00",
"sent_at": "2024-12-01T14:30:00"
},
{
"id": 455,
"name": "December Newsletter",
"subject": "Year-end updates and special offers",
"status": "SENT",
"total_recipients": 5000,
"created_at": "2025-12-01T10:00:00",
"sent_at": "2025-12-15T14:00:00"
}
],
"page": 0,
"size": 20,
"totalElements": 45,
"totalPages": 3
}
}
{
"success": false,
"error": {
"code": "PERMISSION_DENIED",
"message": "Klucz API nie posiada uprawnienia 'campaigns.read'"
}
}
Kampanie
Lista kampanii
Pobierz stronicowaną listę kampanii email
GET
/
api
/
v1
/
campaigns
Lista kampanii
curl --request GET \
--url https://api.example.com/api/v1/campaignsimport requests
url = "https://api.example.com/api/v1/campaigns"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/campaigns', 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.example.com/api/v1/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/api/v1/campaigns"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/api/v1/campaigns")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"campaigns": [
{
"id": 456,
"name": "Black Friday Sale 2024",
"subject": "50% OFF Everything - Limited Time!",
"status": "SENT",
"total_recipients": 10000,
"created_at": "2024-12-01T10:00:00",
"sent_at": "2024-12-01T14:30:00"
},
{
"id": 455,
"name": "December Newsletter",
"subject": "Year-end updates and special offers",
"status": "SENT",
"total_recipients": 5000,
"created_at": "2025-12-01T10:00:00",
"sent_at": "2025-12-15T14:00:00"
}
],
"page": 0,
"size": 20,
"totalElements": 45,
"totalPages": 3
}
}
{
"success": false,
"error": {
"code": "PERMISSION_DENIED",
"message": "Klucz API nie posiada uprawnienia 'campaigns.read'"
}
}
Parametry zapytania
string
Filtruj po statusie kampanii:
DRAFT, SCHEDULED, SENDING, SENT, FAILEDinteger
default:"0"
Numer strony dla paginacji (indeksowany od 0)
integer
default:"20"
Liczba kampanii na stronę
Odpowiedź
boolean
Wskazuje czy żądanie zakończyło się sukcesem
object
Stronicowane dane kampanii
Show Struktura odpowiedzi
Show Struktura odpowiedzi
array
Tablica obiektów kampanii
Show Obiekt kampanii
Show Obiekt kampanii
integer
Unikalny identyfikator kampanii
string
Nazwa kampanii
string
Temat wiadomości email
string
Status kampanii: DRAFT, SCHEDULED, SENDING, SENT, FAILED
integer
Całkowita liczba odbiorców
string
Znacznik czasu utworzenia w formacie ISO 8601
string
Znacznik czasu wysłania kampanii w formacie ISO 8601 (null jeśli jeszcze nie wysłano)
integer
Bieżący numer strony (indeksowany od 0)
integer
Rozmiar strony
integer
Całkowita liczba kampanii spełniających kryteria filtrowania
integer
Całkowita liczba stron
Przykład
curl https://api.mailist.com/api/v1/campaigns?status=SENT&page=0&size=20 \
-H "X-API-Key: YOUR_API_KEY"
const params = new URLSearchParams({
status: 'SENT',
page: 0,
size: 20
});
const response = await fetch(`https://api.mailist.com/api/v1/campaigns?${params}`, {
headers: {
'X-API-Key': 'YOUR_API_KEY'
}
});
const data = await response.json();
import requests
response = requests.get(
'https://api.mailist.com/api/v1/campaigns',
headers={'X-API-Key': 'YOUR_API_KEY'},
params={
'status': 'SENT',
'page': 0,
'size': 20
}
)
data = response.json()
Odpowiedź
{
"success": true,
"data": {
"campaigns": [
{
"id": 456,
"name": "Black Friday Sale 2024",
"subject": "50% OFF Everything - Limited Time!",
"status": "SENT",
"total_recipients": 10000,
"created_at": "2024-12-01T10:00:00",
"sent_at": "2024-12-01T14:30:00"
},
{
"id": 455,
"name": "December Newsletter",
"subject": "Year-end updates and special offers",
"status": "SENT",
"total_recipients": 5000,
"created_at": "2025-12-01T10:00:00",
"sent_at": "2025-12-15T14:00:00"
}
],
"page": 0,
"size": 20,
"totalElements": 45,
"totalPages": 3
}
}
{
"success": false,
"error": {
"code": "PERMISSION_DENIED",
"message": "Klucz API nie posiada uprawnienia 'campaigns.read'"
}
}
Statusy kampanii
- DRAFT: Kampania jest tworzona
- SCHEDULED: Kampania jest zaplanowana do wysłania w przyszłości
- SENDING: Kampania jest obecnie wysyłana
- SENT: Kampania została pomyślnie wysłana
- FAILED: Wysyłanie kampanii nie powiodło się
Uwagi
- Kampanie są sortowane według daty utworzenia (najnowsze pierwsze)
- Ten endpoint wymaga uprawnienia
campaigns.readdla klucza API - Użyj parametrów paginacji aby nawigować przez duże zestawy wyników
