Skip to content

Работа с рассылками

Типы контактов contactType
Тип контакта id
Почта 1
Телеграм 4
Пуш уведомление 5
Типы инлайн кнопок
Тип кнопки Константа
Регистрация на запуск create_registration
Призыв выбрать город choose_city

Пример создания

{
  "inlineButton": {
    "URL": "create_registration",
    "text": "Занять место"
  }
}

Пример как выглядит

Для create_registration

create_reg.png

Для choose_city

choosre_city.png

Создание рассылки

Ручка#

POST /broadcast/v1/create_broadcast

Полный адрес в сети#

Среда URL
🧪 Dev http://gateway.devterra.ru/admin/broadcast/v1/create_broadcast
🚀 Prod http://mobile-api.terraprod.ru/admin/broadcast/v1/create_broadcast

Тело запроса#

Поле Тип Описание Обязательное Пример
title string Заголовок рассылки "Рассылка новостей"
message string Текст рассылки "Уважаемые пользователи, у нас новости!"
contactType int32 Тип контакта (целое число > 0) 1
sendTime string Время отправки (ISO8601) "2024-09-13T18:04:05+03:00"
needToSend bool Нужно ли отправлять рассылку true
roles []int32 Список ролей (от 1 до 15) [1, 3, 5]
usersUUID []string Список UUID пользователей для рассылки ["uuid-1234", "uuid-5678"]
imageURL string URL картинки-видео (mp4) "https://example.com/image.png"
tgMembers bool Включать ли участников из Telegram false
target object (map) Дополнительные параметры фильтрации {"city": "1", "utm_source": "ads"}
cities []int32 Список ID городов ( > 0) [10, 20]
mentorLevels []int32 Список уровней менторов (от 1 до 4 включительно) [1, 2, 4]
inlineButton object Кнопка под сообщением {"text": "Перейти", "url": "https://..."}

cities=[-1] отправит рассылку всем пользователям у которых отсутствует город

target={"city": "-1"} отправит рассылку всем подписчикам у которых отсутствует город

Пример JSON запроса#

{
  "cities": [
    0
  ],
  "contactType": 0,
  "imageURL": "string",
  "inlineButton": {
    "text": "string",
    "url": "string"
  },
  "mentorLevels": [
    0
  ],
  "message": "string",
  "needToSend": true,
  "roles": [
    0
  ],
  "sendTime": "2024-09-13T18:04:05+03:00",
  "target": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "tgMembers": true,
  "title": "string",
  "usersUUID": [
    "string"
  ]
}

Пример JSON ответа#

{
  "cities": [
    0
  ],
  "contactType": 0,
  "createdAt": "2024-09-13T18:04:05+03:00",
  "deletedAt": "2024-09-13T18:04:05+03:00",
  "id": 0,
  "imageURL": "string",
  "inlineButton": {
    "text": "string",
    "url": "string"
  },
  "isSend": true,
  "mentorLevels": [
    0
  ],
  "message": "string",
  "needToSend": true,
  "roles": [
    0
  ],
  "sendTime": "02.01.2006 15:04:05",
  "target": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "tgMembers": true,
  "title": "string",
  "updatedAt": "2024-09-13T18:04:05+03:00",
  "userUUID": "string",
  "usersUUID": [
    "string"
  ]
}
Удаление рассылки

Ручка#

DELETE /broadcast/v1/delete_broadcast

Полный адрес в сети#

Среда URL
🧪 Dev http://gateway.devterra.ru/admin/broadcast/v1/delete_broadcast
🚀 Prod http://mobile-api.terraprod.ru/admin/broadcast/v1/delete_broadcast

Тело запроса#

Поле Тип Описание Обязательное Пример
id int32 Идентификатор 123

Пример JSON запроса#

{
"id": 0
}

Пример JSON ответа#

200 OK "string"

Просмотр списка рассылок
POST /broadcast/v1/fetch_broadcast

Полный адрес в сети#

Среда URL
🧪 Dev http://gateway.devterra.ru/admin/broadcast/v1/fetch_broadcast
🚀 Prod http://mobile-api.terraprod.ru/admin/broadcast/v1/fetch_broadcast

Тело запроса#

Поле Тип Описание Обязательное Пример
id int32 Идентификатор рассылки 123
title string Заголовок рассылки "Обновлённый заголовок рассылки"
message string Текст сообщения "Текст обновлённого сообщения"
contactType int32 Тип контакта (целое число > 0) 1
sendTime string Время отправки (ISO8601) "2024-09-13T18:04:05+03:00"
needToSend bool Флаг необходимости отправки true
roles []int32 Список ролей (1 до 15) [1, 3, 7]
usersUUID []string Список UUID пользователей ["uuid-1234", "uuid-5678"]
imageURL string URL картинки-видео (mp4) "https://example.com/image.png"
tgMembers bool Включать ли участников из Telegram false
target object (map) Дополнительные параметры фильтрации {"city": "1", "utm_source": "ads"}
cities []int32 Список ID городов ( > 0) [10, 20]
mentorLevels []int32 Уровни менторов (от 1 до 4 включительно) [1, 2, 4]

Пример JSON запроса#

{
"filters": {
    "cities": [
    0
    ],
    "createdAt": "2024-09-13T18:04:05+03:00",
    "createdTo": "2024-09-13T18:04:05+03:00",
    "isSend": true,
    "mentorLevels": [
    0
    ],
    "needToSend": true,
    "orderByCreatedAt": true,
    "roles": [
    0
    ],
    "sendTimeAt": "2024-09-13T18:04:05+03:00",
    "sendTimeTo": "2024-09-13T18:04:05+03:00",
    "tgMembers": true,
    "userUUID": "string"
    },
    "pagination": {
    "limit": 0,
    "page": 0
    }
}

Пример JSON ответа#

{
  "pagination": {
    "currentPage": 0,
    "itemsPerPage": 0,
    "totalItems": 0,
    "totalPages": 0
  },
  "result": [
    {
      "cities": [
        0
      ],
      "contactType": 0,
      "createdAt": "2024-09-13T18:04:05+03:00",
      "deletedAt": "2024-09-13T18:04:05+03:00",
      "id": 0,
      "imageURL": "string",
      "inlineButton": {
        "text": "string",
        "url": "string"
      },
      "isSend": true,
      "mentorLevels": [
        0
      ],
      "message": "string",
      "needToSend": true,
      "roles": [
        0
      ],
      "sendTime": "02.01.2006 15:04:05",
      "target": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "tgMembers": true,
      "title": "string",
      "updatedAt": "2024-09-13T18:04:05+03:00",
      "userUUID": "string",
      "usersUUID": [
        "string"
      ]
    }
  ]
}
Обновление рассылки
PATCH /broadcast/v1/update_broadcast

Полный адрес в сети#

Среда URL
🧪 Dev http://gateway.devterra.ru/admin/broadcast/v1/update_broadcast
🚀 Prod http://mobile-api.terraprod.ru/admin/broadcast/v1/update_broadcast

Тело запроса#

Поле Тип Описание Обязательное Пример
id int32 Идентификатор рассылки 123
title string Заголовок рассылки "Новая рассылка"
message string Текст сообщения "Текст рассылки"
contactType int32 Тип контакта (целое число > 0) 1
sendTime string Время отправки (ISO8601) "2024-09-13T18:04:05+03:00"
needToSend bool Флаг необходимости отправки true
roles int32 Роли (от 1 до 15) [1, 3, 7]
usersUUID []string UUID пользователей ["uuid-1234", "uuid-5678"]
imageURL string URL картинки-видео (mp4) "https://example.com/image.png"
tgMembers bool Включать ли участников из Telegram false
target map[string]string Дополнительные параметры фильтрации {"city": "1", "utm_source": "ads"}
cities []int32 Список ID городов ( > 0) [10, 20]
mentorLevels []int32 Уровни менторов (от 1 до 4 включительно) [1, 3]
inlineButton object Кнопка под сообщением {"text": "Перейти", "url": "https://..."}

Пример JSON запроса#

{
  "cities": [
    0
  ],
  "contactType": 0,
  "id": 0,
  "imageURL": "string",
  "inlineButton": {
    "text": "string",
    "url": "string"
  },
  "mentorLevels": [
    0
  ],
  "message": "string",
  "needToSend": true,
  "roles": [
    0
  ],
  "sendTime": "2024-09-13T18:04:05+03:00",
  "target": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "tgMembers": true,
  "title": "string",
  "usersUUID": [
    "string"
  ]
}

Пример JSON ответа#

Пример JSON ответа#

200 OK "string"