Рассылки
Получить рассылку по ID
Возвращает рассылку пользователя по ID. Для составных рассылок дополнительно возвращает их структуру: разбивку A/B-теста с вариантами и победителем (abTest), досыл (followUp), ссылку на основную рассылку у части (parent) и агрегированную статистику частей (totalStats). Статистика опционально — по флагу withStats=true.
get/v1/public/campaigns/{campaignId}
Request
- Base URL: https://api.rusender.ru/api
- URL: https://api.rusender.ru/api/v1/public/campaigns/{campaignId}
- Auth: HTTP bearer
Path parameters
campaignIdinteger required
ID рассылки.
Query parameters
withStatsboolean
Если true — включает статистику в ответ.
Response
Рассылка.
Example response
{
"ok": true,
"data": {
"id": 1,
"name": "March newsletter",
"subject": "Our March update",
"previewTitle": "Here is what we shipped this month",
"type": "regular",
"status": "completed",
"statusModerate": "approved",
"attachments": [
{
"id": 42,
"fileName": "price-list.pdf",
"size": 153204
}
],
"templateId": 100,
"senderId": 10,
"senderEmail": "noreply@example.com",
"senderName": "Example Team",
"lists": [
{
"id": 1,
"name": "Newsletter subscribers"
}
],
"utm": {
"utm_source": "newsletter",
"utm_medium": "email",
"utm_campaign": "march_promo"
},
"stats": {
"total": 1000,
"sending": {
"count": 900,
"rate": 90
},
"delivered": {
"count": 900,
"rate": 90
},
"open": {
"count": 900,
"rate": 90
},
"click": {
"count": 900,
"rate": 90
},
"error": {
"count": 900,
"rate": 90
},
"unsubscribe": {
"count": 900,
"rate": 90
},
"complaint": {
"count": 900,
"rate": 90
}
},
"abTest": {
"basicId": 107460,
"testPercent": 20,
"experimentType": "subject",
"isWinnerSelected": true,
"winnerId": 107461,
"variants": [
{
"id": 107461,
"name": "June updates — variant A",
"subject": "June updates inside",
"previewTitle": "Here is what we shipped this month",
"status": "completed",
"splitPercent": 10,
"isWinner": true,
"stats": {
"total": 1000,
"sending": {
"count": 900,
"rate": 90
},
"delivered": {
"count": 900,
"rate": 90
},
"open": {
"count": 900,
"rate": 90
},
"click": {
"count": 900,
"rate": 90
},
"error": {
"count": 900,
"rate": 90
},
"unsubscribe": {
"count": 900,
"rate": 90
},
"complaint": {
"count": 900,
"rate": 90
}
}
}
]
},
"followUp": {
"id": 105589,
"name": "June updates — follow-up",
"subject": "In case you missed it: June updates",
"previewTitle": "Here is what we shipped this month",
"status": "completed",
"offsetHours": 24,
"stats": {
"total": 1000,
"sending": {
"count": 900,
"rate": 90
},
"delivered": {
"count": 900,
"rate": 90
},
"open": {
"count": 900,
"rate": 90
},
"click": {
"count": 900,
"rate": 90
},
"error": {
"count": 900,
"rate": 90
},
"unsubscribe": {
"count": 900,
"rate": 90
},
"complaint": {
"count": 900,
"rate": 90
}
}
},
"parent": {
"id": 107460,
"type": "ab_basic",
"name": "June updates",
"subject": "June updates inside",
"previewTitle": "Here is what we shipped this month",
"status": "completed",
"stats": {
"total": 1000,
"sending": {
"count": 900,
"rate": 90
},
"delivered": {
"count": 900,
"rate": 90
},
"open": {
"count": 900,
"rate": 90
},
"click": {
"count": 900,
"rate": 90
},
"error": {
"count": 900,
"rate": 90
},
"unsubscribe": {
"count": 900,
"rate": 90
},
"complaint": {
"count": 900,
"rate": 90
}
}
},
"totalStats": {
"total": 1000,
"sending": {
"count": 900,
"rate": 90
},
"delivered": {
"count": 900,
"rate": 90
},
"open": {
"count": 900,
"rate": 90
},
"click": {
"count": 900,
"rate": 90
},
"error": {
"count": 900,
"rate": 90
},
"unsubscribe": {
"count": 900,
"rate": 90
},
"complaint": {
"count": 900,
"rate": 90
}
}
},
"meta": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-03-05T12:00:00.000Z",
"pagination": {
"page": 1,
"limit": 20,
"totalItems": 150,
"totalPages": 8
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.