89 lines
5.6 KiB
Go
89 lines
5.6 KiB
Go
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"` // Дата и время отправки сообщения
|
||
}
|