2024-12-03 12:42:15 +00:00
|
|
|
|
package models
|
|
|
|
|
|
|
|
|
|
type UserDataResponse struct {
|
|
|
|
|
HSent int64 `json:"hsent"` // Количество писем, отправленных за последний час
|
|
|
|
|
HLimit int64 `json:"hlimit"` // Лимит на количество писем, которые можно отправить за час
|
|
|
|
|
DSent int64 `json:"dsent"` // Количество писем, отправленных за текущий день
|
|
|
|
|
DLimit int64 `json:"dlimit"` // Лимит на количество писем, которые можно отправить за день
|
|
|
|
|
Quota int64 `json:"quota"` // Оставшееся количество писем, которые можно отправить в рамках текущего тарифа
|
|
|
|
|
Validate int64 `json:"validate"` // Лимит на количество проверок наверное емейл адресов
|
|
|
|
|
Tariff string `json:"tarif"` // Название текущего тарифа
|
|
|
|
|
ExpiresQuota string `json:"expires_quota"` // Дата окончания квоты
|
|
|
|
|
TariffQuota int64 `json:"tarif_quota"` // Общая квота на отправку писем, предоставляемая по тарифу
|
|
|
|
|
Balance float64 `json:"balance"` // Баланс bucks
|
|
|
|
|
TariffPrice float64 `json:"tarif_price"` // Тарифный план, в месяц
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type UserStatsResponse struct {
|
|
|
|
|
Sent int64 `json:"sent"` // Общее количество отправленных писем
|
|
|
|
|
Open int64 `json:"open"` // Количество открытых писем
|
|
|
|
|
Spam int64 `json:"spam"` // Количество писем, попавших в спам
|
|
|
|
|
Bounce int64 `json:"bounce"` // Количество писем, которые вернулись как недоставленные
|
|
|
|
|
Unsub int64 `json:"unsub"` // Количество отписавшихся пользователей
|
|
|
|
|
Tracking TrackingStats `json:"tracking"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type TrackingStats struct {
|
|
|
|
|
Device DeviceStats `json:"device"` // Статистика по устройствам
|
|
|
|
|
Activity ActivityStats `json:"activity"` // Активность пользователей в разное время суток
|
|
|
|
|
Country map[string]int64 `json:"country"` // Статистика по странам (код страны и количество взаимодействий)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type DeviceStats struct {
|
|
|
|
|
Computer int64 `json:"computer"` // Количество взаимодействий с компьютеров
|
|
|
|
|
Tablet int64 `json:"tablet"` // Количество взаимодействий с планшетов
|
|
|
|
|
Mobile int64 `json:"mobile"` // Количество взаимодействий с мобильных устройств
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ActivityStats struct {
|
|
|
|
|
Morning int64 `json:"morning"` // Взаимодействия утром
|
|
|
|
|
Day int64 `json:"day"` // Взаимодействия днем
|
|
|
|
|
Evening int64 `json:"evening"` // Взаимодействия вечером
|
|
|
|
|
Night int64 `json:"night"` // Взаимодействия ночью
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type DomainsResponse []DomainInfo
|
|
|
|
|
|
|
|
|
|
type DomainInfo struct {
|
|
|
|
|
Domain string `json:"domain"` // Имя домена
|
|
|
|
|
SPF bool `json:"spf"` // SPF запись
|
|
|
|
|
DKIM bool `json:"dkim"` // DKIM запись
|
|
|
|
|
CNAME bool `json:"cname"` // CNAME запись
|
|
|
|
|
IsModeration bool `json:"isModeration"` // Статус модерации
|
|
|
|
|
IsActive bool `json:"isActive"` // Статус активности домена
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// один из возможных ответов - {"result":false}
|
|
|
|
|
// стоит чекать на длину массив
|
|
|
|
|
type IpsResponse []IPInfo
|
|
|
|
|
|
|
|
|
|
type IPInfo struct {
|
|
|
|
|
Sent int64 `json:"sent"` // Количество отправленных писем
|
|
|
|
|
Bounce int64 `json:"bounce"` // Количество возвратов
|
|
|
|
|
IP string `json:"ip"` // IP адрес
|
|
|
|
|
IsInstall bool `json:"isInstall"` // Установлен ли IP
|
|
|
|
|
IsActive bool `json:"isActive"` // Активен ли IP
|
|
|
|
|
ExpiresDate string `json:"expiresDate"` // Дата окончания
|
|
|
|
|
CreateDate string `json:"createDate"` // Дата создания
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type LogMsgResponse struct {
|
|
|
|
|
Data []LogMsgData `json:"data"`
|
|
|
|
|
TotalPages int64 `json:"totalPages"` // Всего страниц
|
|
|
|
|
TotalCount int64 `json:"totalCount"` // Всего записей
|
|
|
|
|
PerPagesCount int64 `json:"perPagesCount"` // Количество записей на странице
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type LogMsgData struct {
|
|
|
|
|
MailFrom string `json:"mailfrom"` // От кого отправлено письмо
|
|
|
|
|
MailTo string `json:"mailto"` // Кому отправлено письмо
|
|
|
|
|
Status string `json:"status"` // Статус письма
|
|
|
|
|
IsOpen bool `json:"is_open"` // Было ли письмо открыто
|
|
|
|
|
Subject string `json:"subject"` // Тема письма
|
|
|
|
|
IsUnsubscribe bool `json:"is_unsubscribe"` // Является ли письмо отпиской
|
|
|
|
|
Tag string `json:"tag"` // Тег сообщения
|
|
|
|
|
Response string `json:"response"` // Ответ от сервера
|
|
|
|
|
MessageID string `json:"messageid"` // Уникальный идентификатор сообщения
|
|
|
|
|
Date string `json:"date"` // Дата и время отправки сообщения
|
|
|
|
|
}
|
2024-12-03 14:42:57 +00:00
|
|
|
|
|
|
|
|
|
type UnsubscribeResponse struct {
|
|
|
|
|
Data []UnsubscribeData `json:"data"` // Список данных отписки
|
|
|
|
|
TotalPages int64 `json:"totalPages"` // Всего страниц
|
|
|
|
|
TotalCount int64 `json:"totalCount"` // Всего записей
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type UnsubscribeData struct {
|
|
|
|
|
MailTo string `json:"mailto"` // Адрес электронной почты
|
|
|
|
|
Reason string `json:"reason"` // Причина отписки
|
|
|
|
|
Date string `json:"date"` // Дата события
|
|
|
|
|
}
|