Back to top

TEYCA API

API для интеграции TEYCA со сторонними системами.

Данное руководство предназначено для интеграции сторонней системы с программой лояльности TEYCA посредством простого API. TEYCA API позволяет полноценно работать с электронными картами лояльности, отправлять PUSH-уведомления и многое другое через Вашу систему.

Получение токена авторизации

Каждый сторонний сервер должен получить собственный токен авторизации, который выдается путем отправки специального запроса и используется во всех последующих запросах совместном с основным ключом авторизации. После первого запроса с ключом и токеном авторизации, сервер TEYCA запоминает параметры стороннего сервера (IP адрес, тип сервера и пр.). В случае использования одного токена на несколько экземпляров, сервер TEYCA блокирует токен и дальнейшая работа с ним невозможна.

Общая информация

Токены авторизации

При создании и использовании токенов авторизации необходимо учитывать основное правило. Для каждого экземпляра сторонней системы необходимо получить уникальный токен авторизации. В противном случае, сервер TEYCA заблокирует токен авторизации и ограничит возможность создания новых токенов авторизации. В случае отсутствия возможности получения нового токена, необходимо увеличить количество точек продаж в Личном кабинете TEYCA или обратиться в техническую поддержку.

В последующих запросах TEYCA API токен обязателен к использованию и передается как параметр token.

Запрос на получение токенов
GET/authorization

Example URI

GET https://api.teyca.ru/v1/authorization
Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "limit": 1,
  "tokens": [
    {
      "identifier": "ул. Ленина, 56",
      "token": "ce1302dc236f822321669b640b8641ac",
      "status": true
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Оставшееся доступное количество токенов для выдачи"
    },
    "tokens": {
      "type": "array",
      "description": "Массив всех доступных токенов"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Запрос на создание нового токена
POST/authorization

Example URI

POST https://api.teyca.ru/v1/authorization
Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "identifier": "ул. Ленина, 56"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "description": "Уникальный идентификатор экземпляра сторонней системы"
    }
  },
  "required": [
    "identifier"
  ]
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "identifier": "ул. Ленина, 56",
  "token": "ce1302dc236f822321669b640b8641ac",
  "status": true,
  "limit": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "description": "Уникальный идентификатор экземпляра сторонней системы"
    },
    "token": {
      "type": "string",
      "description": "Токен авторизации для экземпляра сторонней системы"
    },
    "status": {
      "type": "boolean",
      "description": "Статус активности токена"
    },
    "limit": {
      "type": "number",
      "description": "Оставшееся доступное количество токенов для выдачи"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Запрос на удаление токена
DELETE/authorization

Example URI

DELETE https://api.teyca.ru/v1/authorization
Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "identifier/token": "ул. Ленина, 56"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "identifier/token": {
      "type": "string",
      "description": "**Уникальный идентификатор** или **токен** экземпляра сторонней системы"
    }
  },
  "required": [
    "identifier/token"
  ]
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Токен успешно удален!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "number",
      "description": "Статус ответа сервера"
    },
    "message": {
      "type": "string",
      "description": "Сообщение ответа сервера"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Электронные карты

Средствами TEYCA API можно создавать, изменять и удалять электронные карты, запрашивать списки и сведения по отдельным электронным картам.

Электронная карта может содержать в себе два типа данных: динамические переменные пользователя и основные поля карты.

Все данные электронной карты доступны для редактирования и могут быть изменены посредством API: name

Переменная Тип Описание
user_id number Уникальный id карты
template string Наименование макета карты
fio string ФИО владельца карты
first_name string Фамилия владельца карты
last_name string Имя владельца карты
pat_name string Отчество владельца карты
phone string Номер телефона
sms_verify boolean Номер телефона подтвержден СМС
email string E-mail
birthday string Дата рождения
gender string Пол
car_number string Номер автомобиля
discount string Скидка
bonus string Бонусы
bonus_last string Последние начисленные бонусы
write_off_last string Последние списанные бонусы
loyalty_level string Уровень лояльности
summ string Сумма покупок за период
summ_all string Общая сумма покупок
summ_last string Последняя сумма покупок
visits string Количество визитов за период
visits_all string Общее количество визитов
date_last string Дата последнего посещения
barcode string Штрих-код электронной карты
key1 string Дополнительный ключ 1 (занят при интеграции с МойCклад)
key2 string Дополнительный ключ 2 (занят при интеграции с МойCклад)
key3 string Дополнительный ключ 3
key4 string Дополнительный ключ 4
key5 string Дополнительный ключ 5
key6 string Дополнительный ключ 6
trg_action_type string Тип триггера на событие. Возможные значения: discount-скидка (максимум), discountadd-дополнительная скидка, bonus - дополнительные бонусы
trg_action_value string Значение скидки или баллов триггера на событие
trg_action_type string Тип триггера на дату. Возможные значения: discount-скидка (максимум), discountadd-дополнительная скидка, bonus - дополнительные бонусы
trg_action_value string Значение скидки или баллов триггера на дату
delivery_form string Наименование формы выдачи (если выдана с формы выдачи)
o_s string Тип кошелька
link string Уникальный идентификатор ссылки на карту (Ссылку можно получить следующим образом: https://cards.teyca.ru/download/ + link)
referal string Уникальный идентификатор реферала
backgroundColor string Цвет фона электронной карты (Hex)
created_at timestamp Дата создания электронной карты
H1…H3 string Header поля электронной карты
S1…S3 string Secondary поля электронной карты
B1…B6 string Back поля электронной карты (поле B1 используется для отправки PUSH-уведомлений)

##Поиск электронных карт с помощью параметра search

Для поиска электронных карт по нескольким полям можно использовать url параметр search. Значение этого параметра - urlencoded строка с поисковыми условиями, перечисленными через ,. Для использования самого символа , в текстовых фильтрах необходимо указывать два символа ,. (Пример ниже указан без urlencoded для лучшей читаемости)

Параметры поиска, применённые к разным полям объединяются через логическое И, т.е. в запросе вида: search=first_name=Иван,last_name=Иванов - выборка будет отфильтрована и по имени и по фамилии.

##Лимиты выдачи

Сервер TEYCA возвращает максимум 1000 электронных карт в одном теле ответа. В объекте meta указывается общее количество карт size, лимит limit, а также отступ offset.

Для того, чтобы получить следующую группу электронных карт, необходимо прибавить значение limit к значению offset и отправить их как url параметры в следующем запросе.

Получение электронных карт
GET/{token}/passes?{search}&{limit}&{offset}

Example URI

GET https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/passes?search=first_name=Иван,last_name=Иванов&limit=1000&offset=0
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

search
string (optional) Example: search=first_name=Иван,last_name=Иванов

Параметр поиска

limit
string (optional) Example: limit=1000

Максимальное количество карт в выдаче

offset
string (optional) Example: offset=0

Отступ выборки

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "meta": {
    "size": 1,
    "limit": 1000,
    "offset": 0
  },
  "passes": {
    "user_id": 17895,
    "template": "Макет 1",
    "fio": "Иванов Иван Иванович",
    "first_name": "Иван",
    "last_name": "Иванов",
    "pat_name": "Иванович",
    "phone": "79876543211",
    "sms_verify": true,
    "email": "support@teyca.ru",
    "birthday": "01.03.1990",
    "gender": "м",
    "car_number": "А001АА 716",
    "discount": "10%",
    "bonus": "100",
    "bonus_last": "15",
    "write_off_last": "50",
    "loyalty_level": "Серебряный",
    "summ": "20300",
    "summ_all": "20300",
    "summ_last": "750",
    "visits": "10",
    "visits_all": "10",
    "date_last": "15.01.2020",
    "barcode": "0000001",
    "key1": "Дополнительная информация",
    "key2": "Дополнительная информация",
    "key3": "Дополнительная информация",
    "key4": "Дополнительная информация",
    "key5": "Дополнительная информация",
    "key6": "Дополнительная информация",
    "trg_action_type": "null",
    "trg_action_value": "null",
    "trg_date_type": "null",
    "trg_date_value": "null",
    "delivery_form": "Форма выдачи",
    "o_s": "IOS",
    "link": "1ed3z2dc236f822321669b640b8641ac",
    "referal": "17896",
    "backgroundColor": "#ffffff",
    "created_at": "2020-01-01 15:19:57.018363",
    "H1": "``",
    "H2": "``",
    "H3": "``",
    "S1": "``",
    "S2": "``",
    "S3": "``",
    "B1": "``",
    "B2": "Контактная информация",
    "B3": "``",
    "B4": "``",
    "B5": "``",
    "B6": "``"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "size": {
          "type": "number",
          "description": "Количество электронных карт в ответе"
        },
        "limit": {
          "type": "number",
          "description": "Максимальное количество электронных карт в ответе (стандартно 1000)"
        },
        "offset": {
          "type": "number",
          "description": "Отступ из выборки электронных карт"
        }
      },
      "description": "Атрибуты объекта **meta**"
    },
    "passes": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "number",
          "description": "Уникальный id карты"
        },
        "template": {
          "type": "string",
          "description": "Наименование макета карты"
        },
        "fio": {
          "type": "string",
          "description": "ФИО владельца карты"
        },
        "first_name": {
          "type": "string",
          "description": "Фамилия владельца карты"
        },
        "last_name": {
          "type": "string",
          "description": "Имя владельца карты"
        },
        "pat_name": {
          "type": "string",
          "description": "Отчество владельца карты"
        },
        "phone": {
          "type": "string",
          "description": "Номер телефона"
        },
        "sms_verify": {
          "type": "boolean",
          "description": "Номер телефона подтвержден СМС"
        },
        "email": {
          "type": "string",
          "description": "E-mail"
        },
        "birthday": {
          "type": "string",
          "description": "Дата рождения"
        },
        "gender": {
          "type": "string",
          "description": "Пол"
        },
        "car_number": {
          "type": "string",
          "description": "Номер автомобиля"
        },
        "discount": {
          "type": "string",
          "description": "Скидка"
        },
        "bonus": {
          "type": "string",
          "description": "Бонусы"
        },
        "bonus_last": {
          "type": "string",
          "description": "Последние начисленные бонусы"
        },
        "write_off_last": {
          "type": "string",
          "description": "Последние списанные бонусы"
        },
        "loyalty_level": {
          "type": "string",
          "description": "Уровень лояльности"
        },
        "summ": {
          "type": "string",
          "description": "Сумма покупок"
        },
        "summ_all": {
          "type": "string",
          "description": "Общая сумма покупок"
        },
        "summ_last": {
          "type": "string",
          "description": "Последняя сумма покупок"
        },
        "visits": {
          "type": "string",
          "description": "Количество визитов"
        },
        "visits_all": {
          "type": "string",
          "description": "Общее количество визитов"
        },
        "date_last": {
          "type": "string",
          "description": "Дата последнего посещения"
        },
        "barcode": {
          "type": "string",
          "description": "Штрих-код электронной карты"
        },
        "key1": {
          "type": "string",
          "description": "Дополнительный ключ 1 (занят при интеграции с МойCклад)"
        },
        "key2": {
          "type": "string",
          "description": "Дополнительный ключ 2 (занят при интеграции с МойCклад)"
        },
        "key3": {
          "type": "string",
          "description": "Дополнительный ключ 3"
        },
        "key4": {
          "type": "string",
          "description": "Дополнительный ключ 4"
        },
        "key5": {
          "type": "string",
          "description": "Дополнительный ключ 5"
        },
        "key6": {
          "type": "string",
          "description": "Дополнительный ключ 6"
        },
        "trg_action_type": {
          "type": "string",
          "description": "Тип триггера на событие. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
        },
        "trg_action_value": {
          "type": "string",
          "description": "Значение скидки или баллов триггера на событие"
        },
        "trg_date_type": {
          "type": "string",
          "description": "Тип триггера на дату. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
        },
        "trg_date_value": {
          "type": "string",
          "description": "Значение скидки или баллов триггера на дату"
        },
        "delivery_form": {
          "type": "string",
          "description": "Наименование формы выдачи (если выдана с формы выдачи)"
        },
        "o_s": {
          "type": "string",
          "description": "Тип кошелька"
        },
        "link": {
          "type": "string",
          "description": "Уникальный идентификатор ссылки на карту (Ссылку можно получить следующим образом: **https://cards.teyca.ru/download/** + **link**)"
        },
        "referal": {
          "type": "string",
          "description": "Уникальный идентификатор реферала"
        },
        "backgroundColor": {
          "type": "string",
          "description": "Цвет фона электронной карты (Hex)"
        },
        "created_at": {
          "type": "string",
          "description": "Дата создания электронной карты"
        },
        "H1": {
          "type": "string",
          "description": "Header поле 1"
        },
        "H2": {
          "type": "string",
          "description": "Header поле 2"
        },
        "H3": {
          "type": "string",
          "description": "Header поле 3"
        },
        "S1": {
          "type": "string",
          "description": "Secondary поле 1"
        },
        "S2": {
          "type": "string",
          "description": "Secondary поле 1"
        },
        "S3": {
          "type": "string",
          "description": "Secondary поле 1"
        },
        "B1": {
          "type": "string",
          "description": "Back поле 1"
        },
        "B2": {
          "type": "string",
          "description": "Back поле 2"
        },
        "B3": {
          "type": "string",
          "description": "Back поле 3"
        },
        "B4": {
          "type": "string",
          "description": "Back поле 4"
        },
        "B5": {
          "type": "string",
          "description": "Back поле 5"
        },
        "B6": {
          "type": "string",
          "description": "Back поле 6"
        }
      },
      "description": "Атрибуты объекта **meta**"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Получение электронной карты по user_id
GET/{token}/passes/userid/{user_id}

Example URI

GET https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/passes/userid/17895
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

user_id
string (required) Example: 17895

Уникальный идентификатор пользователя

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "user_id": 17895,
  "template": "Макет 1",
  "fio": "Иванов Иван Иванович",
  "first_name": "Иван",
  "last_name": "Иванов",
  "pat_name": "Иванович",
  "phone": "79876543211",
  "sms_verify": true,
  "email": "support@teyca.ru",
  "birthday": "01.03.1990",
  "gender": "м",
  "car_number": "А001АА 716",
  "discount": "10%",
  "bonus": "100",
  "bonus_last": "15",
  "write_off_last": "50",
  "loyalty_level": "Серебряный",
  "summ": "20300",
  "summ_all": "20300",
  "summ_last": "750",
  "visits": "10",
  "visits_all": "10",
  "date_last": "15.01.2020",
  "barcode": "0000001",
  "key1": "Дополнительная информация",
  "key2": "Дополнительная информация",
  "key3": "Дополнительная информация",
  "key4": "Дополнительная информация",
  "key5": "Дополнительная информация",
  "key6": "Дополнительная информация",
  "trg_action_type": "null",
  "trg_action_value": "null",
  "trg_date_type": "null",
  "trg_date_value": "null",
  "delivery_form": "Форма выдачи",
  "o_s": "IOS",
  "link": "1ed3z2dc236f822321669b640b8641ac",
  "referal": "17896",
  "backgroundColor": "#ffffff",
  "created_at": "2020-01-01 15:19:57.018363",
  "H1": "``",
  "H2": "``",
  "H3": "``",
  "S1": "``",
  "S2": "``",
  "S3": "``",
  "B1": "``",
  "B2": "Контактная информация",
  "B3": "``",
  "B4": "``",
  "B5": "``",
  "B6": "``"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "number",
      "description": "Уникальный id карты"
    },
    "template": {
      "type": "string",
      "description": "Наименование макета карты"
    },
    "fio": {
      "type": "string",
      "description": "ФИО владельца карты"
    },
    "first_name": {
      "type": "string",
      "description": "Фамилия владельца карты"
    },
    "last_name": {
      "type": "string",
      "description": "Имя владельца карты"
    },
    "pat_name": {
      "type": "string",
      "description": "Отчество владельца карты"
    },
    "phone": {
      "type": "string",
      "description": "Номер телефона"
    },
    "sms_verify": {
      "type": "boolean",
      "description": "Номер телефона подтвержден СМС"
    },
    "email": {
      "type": "string",
      "description": "E-mail"
    },
    "birthday": {
      "type": "string",
      "description": "Дата рождения"
    },
    "gender": {
      "type": "string",
      "description": "Пол"
    },
    "car_number": {
      "type": "string",
      "description": "Номер автомобиля"
    },
    "discount": {
      "type": "string",
      "description": "Скидка"
    },
    "bonus": {
      "type": "string",
      "description": "Бонусы"
    },
    "bonus_last": {
      "type": "string",
      "description": "Последние начисленные бонусы"
    },
    "write_off_last": {
      "type": "string",
      "description": "Последние списанные бонусы"
    },
    "loyalty_level": {
      "type": "string",
      "description": "Уровень лояльности"
    },
    "summ": {
      "type": "string",
      "description": "Сумма покупок"
    },
    "summ_all": {
      "type": "string",
      "description": "Общая сумма покупок"
    },
    "summ_last": {
      "type": "string",
      "description": "Последняя сумма покупок"
    },
    "visits": {
      "type": "string",
      "description": "Количество визитов"
    },
    "visits_all": {
      "type": "string",
      "description": "Общее количество визитов"
    },
    "date_last": {
      "type": "string",
      "description": "Дата последнего посещения"
    },
    "barcode": {
      "type": "string",
      "description": "Штрих-код электронной карты"
    },
    "key1": {
      "type": "string",
      "description": "Дополнительный ключ 1 (занят при интеграции с МойCклад)"
    },
    "key2": {
      "type": "string",
      "description": "Дополнительный ключ 2 (занят при интеграции с МойCклад)"
    },
    "key3": {
      "type": "string",
      "description": "Дополнительный ключ 3"
    },
    "key4": {
      "type": "string",
      "description": "Дополнительный ключ 4"
    },
    "key5": {
      "type": "string",
      "description": "Дополнительный ключ 5"
    },
    "key6": {
      "type": "string",
      "description": "Дополнительный ключ 6"
    },
    "trg_action_type": {
      "type": "string",
      "description": "Тип триггера на событие. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
    },
    "trg_action_value": {
      "type": "string",
      "description": "Значение скидки или баллов триггера на событие"
    },
    "trg_date_type": {
      "type": "string",
      "description": "Тип триггера на дату. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
    },
    "trg_date_value": {
      "type": "string",
      "description": "Значение скидки или баллов триггера на дату"
    },
    "delivery_form": {
      "type": "string",
      "description": "Наименование формы выдачи (если выдана с формы выдачи)"
    },
    "o_s": {
      "type": "string",
      "description": "Тип кошелька"
    },
    "link": {
      "type": "string",
      "description": "Уникальный идентификатор ссылки на карту (Ссылку можно получить следующим образом: **https://cards.teyca.ru/download/** + **link**)"
    },
    "referal": {
      "type": "string",
      "description": "Уникальный идентификатор реферала"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Цвет фона электронной карты (Hex)"
    },
    "created_at": {
      "type": "string",
      "description": "Дата создания электронной карты"
    },
    "H1": {
      "type": "string",
      "description": "Header поле 1"
    },
    "H2": {
      "type": "string",
      "description": "Header поле 2"
    },
    "H3": {
      "type": "string",
      "description": "Header поле 3"
    },
    "S1": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "S2": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "S3": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "B1": {
      "type": "string",
      "description": "Back поле 1"
    },
    "B2": {
      "type": "string",
      "description": "Back поле 2"
    },
    "B3": {
      "type": "string",
      "description": "Back поле 3"
    },
    "B4": {
      "type": "string",
      "description": "Back поле 4"
    },
    "B5": {
      "type": "string",
      "description": "Back поле 5"
    },
    "B6": {
      "type": "string",
      "description": "Back поле 6"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Получение электронной карты по barcode
GET/{token}/passes/barcode/{barcode}

Example URI

GET https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/passes/barcode/0000001
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

barcode
string (required) Example: 0000001

Уникальный штрих-код электронной карты

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "user_id": 17895,
  "template": "Макет 1",
  "fio": "Иванов Иван Иванович",
  "first_name": "Иван",
  "last_name": "Иванов",
  "pat_name": "Иванович",
  "phone": "79876543211",
  "sms_verify": true,
  "email": "support@teyca.ru",
  "birthday": "01.03.1990",
  "gender": "м",
  "car_number": "А001АА 716",
  "discount": "10%",
  "bonus": "100",
  "bonus_last": "15",
  "write_off_last": "50",
  "loyalty_level": "Серебряный",
  "summ": "20300",
  "summ_all": "20300",
  "summ_last": "750",
  "visits": "10",
  "visits_all": "10",
  "date_last": "15.01.2020",
  "barcode": "0000001",
  "key1": "Дополнительная информация",
  "key2": "Дополнительная информация",
  "key3": "Дополнительная информация",
  "key4": "Дополнительная информация",
  "key5": "Дополнительная информация",
  "key6": "Дополнительная информация",
  "trg_action_type": "null",
  "trg_action_value": "null",
  "trg_date_type": "null",
  "trg_date_value": "null",
  "delivery_form": "Форма выдачи",
  "o_s": "IOS",
  "link": "1ed3z2dc236f822321669b640b8641ac",
  "referal": "17896",
  "backgroundColor": "#ffffff",
  "created_at": "2020-01-01 15:19:57.018363",
  "H1": "``",
  "H2": "``",
  "H3": "``",
  "S1": "``",
  "S2": "``",
  "S3": "``",
  "B1": "``",
  "B2": "Контактная информация",
  "B3": "``",
  "B4": "``",
  "B5": "``",
  "B6": "``"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "number",
      "description": "Уникальный id карты"
    },
    "template": {
      "type": "string",
      "description": "Наименование макета карты"
    },
    "fio": {
      "type": "string",
      "description": "ФИО владельца карты"
    },
    "first_name": {
      "type": "string",
      "description": "Фамилия владельца карты"
    },
    "last_name": {
      "type": "string",
      "description": "Имя владельца карты"
    },
    "pat_name": {
      "type": "string",
      "description": "Отчество владельца карты"
    },
    "phone": {
      "type": "string",
      "description": "Номер телефона"
    },
    "sms_verify": {
      "type": "boolean",
      "description": "Номер телефона подтвержден СМС"
    },
    "email": {
      "type": "string",
      "description": "E-mail"
    },
    "birthday": {
      "type": "string",
      "description": "Дата рождения"
    },
    "gender": {
      "type": "string",
      "description": "Пол"
    },
    "car_number": {
      "type": "string",
      "description": "Номер автомобиля"
    },
    "discount": {
      "type": "string",
      "description": "Скидка"
    },
    "bonus": {
      "type": "string",
      "description": "Бонусы"
    },
    "bonus_last": {
      "type": "string",
      "description": "Последние начисленные бонусы"
    },
    "write_off_last": {
      "type": "string",
      "description": "Последние списанные бонусы"
    },
    "loyalty_level": {
      "type": "string",
      "description": "Уровень лояльности"
    },
    "summ": {
      "type": "string",
      "description": "Сумма покупок"
    },
    "summ_all": {
      "type": "string",
      "description": "Общая сумма покупок"
    },
    "summ_last": {
      "type": "string",
      "description": "Последняя сумма покупок"
    },
    "visits": {
      "type": "string",
      "description": "Количество визитов"
    },
    "visits_all": {
      "type": "string",
      "description": "Общее количество визитов"
    },
    "date_last": {
      "type": "string",
      "description": "Дата последнего посещения"
    },
    "barcode": {
      "type": "string",
      "description": "Штрих-код электронной карты"
    },
    "key1": {
      "type": "string",
      "description": "Дополнительный ключ 1 (занят при интеграции с МойCклад)"
    },
    "key2": {
      "type": "string",
      "description": "Дополнительный ключ 2 (занят при интеграции с МойCклад)"
    },
    "key3": {
      "type": "string",
      "description": "Дополнительный ключ 3"
    },
    "key4": {
      "type": "string",
      "description": "Дополнительный ключ 4"
    },
    "key5": {
      "type": "string",
      "description": "Дополнительный ключ 5"
    },
    "key6": {
      "type": "string",
      "description": "Дополнительный ключ 6"
    },
    "trg_action_type": {
      "type": "string",
      "description": "Тип триггера на событие. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
    },
    "trg_action_value": {
      "type": "string",
      "description": "Значение скидки или баллов триггера на событие"
    },
    "trg_date_type": {
      "type": "string",
      "description": "Тип триггера на дату. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
    },
    "trg_date_value": {
      "type": "string",
      "description": "Значение скидки или баллов триггера на дату"
    },
    "delivery_form": {
      "type": "string",
      "description": "Наименование формы выдачи (если выдана с формы выдачи)"
    },
    "o_s": {
      "type": "string",
      "description": "Тип кошелька"
    },
    "link": {
      "type": "string",
      "description": "Уникальный идентификатор ссылки на карту (Ссылку можно получить следующим образом: **https://cards.teyca.ru/download/** + **link**)"
    },
    "referal": {
      "type": "string",
      "description": "Уникальный идентификатор реферала"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Цвет фона электронной карты (Hex)"
    },
    "created_at": {
      "type": "string",
      "description": "Дата создания электронной карты"
    },
    "H1": {
      "type": "string",
      "description": "Header поле 1"
    },
    "H2": {
      "type": "string",
      "description": "Header поле 2"
    },
    "H3": {
      "type": "string",
      "description": "Header поле 3"
    },
    "S1": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "S2": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "S3": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "B1": {
      "type": "string",
      "description": "Back поле 1"
    },
    "B2": {
      "type": "string",
      "description": "Back поле 2"
    },
    "B3": {
      "type": "string",
      "description": "Back поле 3"
    },
    "B4": {
      "type": "string",
      "description": "Back поле 4"
    },
    "B5": {
      "type": "string",
      "description": "Back поле 5"
    },
    "B6": {
      "type": "string",
      "description": "Back поле 6"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Создание электронной карты
POST/{token}/passes

Example URI

POST https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/passes
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "template": "Макет 1",
  "first_name": "Иван",
  "last_name": "Иванов",
  "pat_name": "Иванович",
  "phone": "79876543211",
  "email": "support@teyca.ru",
  "birthday": "01.03.1990",
  "gender": "м",
  "barcode": "0000001",
  "discount": "10%",
  "bonus": 200,
  "loyalty_level": "Серебряный"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "template": {
      "type": "string",
      "description": "Шаблон макета карты"
    },
    "first_name": {
      "type": "string",
      "description": "Имя клиента"
    },
    "last_name": {
      "type": "string",
      "description": "Фамилия клиента"
    },
    "pat_name": {
      "type": "string",
      "description": "Отчество клиента"
    },
    "phone": {
      "type": "string",
      "description": "Номер телефона клиента"
    },
    "email": {
      "type": "string",
      "description": "E-mail адрес клиента"
    },
    "birthday": {
      "type": "string",
      "description": "Дата рождения"
    },
    "gender": {
      "type": "string",
      "description": "Пол клиента (м/ж)"
    },
    "barcode": {
      "type": "string",
      "description": "Баркод карты (штрих-код)"
    },
    "discount": {
      "type": "string",
      "description": "Стартовый процент скидки"
    },
    "bonus": {
      "type": "number",
      "description": "Стартовое количество бонусов"
    },
    "loyalty_level": {
      "type": "string",
      "description": "Уровень лояльности"
    }
  }
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "user_id": 17895,
  "template": "Макет 1",
  "fio": "Иванов Иван Иванович",
  "first_name": "Иван",
  "last_name": "Иванов",
  "pat_name": "Иванович",
  "phone": "79876543211",
  "sms_verify": true,
  "email": "support@teyca.ru",
  "birthday": "01.03.1990",
  "gender": "м",
  "car_number": "А001АА 716",
  "discount": "10%",
  "bonus": "100",
  "bonus_last": "15",
  "write_off_last": "50",
  "loyalty_level": "Серебряный",
  "summ": "20300",
  "summ_all": "20300",
  "summ_last": "750",
  "visits": "10",
  "visits_all": "10",
  "date_last": "15.01.2020",
  "barcode": "0000001",
  "key1": "Дополнительная информация",
  "key2": "Дополнительная информация",
  "key3": "Дополнительная информация",
  "key4": "Дополнительная информация",
  "key5": "Дополнительная информация",
  "key6": "Дополнительная информация",
  "trg_action_type": "null",
  "trg_action_value": "null",
  "trg_date_type": "null",
  "trg_date_value": "null",
  "delivery_form": "Форма выдачи",
  "o_s": "IOS",
  "link": "1ed3z2dc236f822321669b640b8641ac",
  "referal": "17896",
  "backgroundColor": "#ffffff",
  "created_at": "2020-01-01 15:19:57.018363",
  "H1": "``",
  "H2": "``",
  "H3": "``",
  "S1": "``",
  "S2": "``",
  "S3": "``",
  "B1": "``",
  "B2": "Контактная информация",
  "B3": "``",
  "B4": "``",
  "B5": "``",
  "B6": "``"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "number",
      "description": "Уникальный id карты"
    },
    "template": {
      "type": "string",
      "description": "Наименование макета карты"
    },
    "fio": {
      "type": "string",
      "description": "ФИО владельца карты"
    },
    "first_name": {
      "type": "string",
      "description": "Фамилия владельца карты"
    },
    "last_name": {
      "type": "string",
      "description": "Имя владельца карты"
    },
    "pat_name": {
      "type": "string",
      "description": "Отчество владельца карты"
    },
    "phone": {
      "type": "string",
      "description": "Номер телефона"
    },
    "sms_verify": {
      "type": "boolean",
      "description": "Номер телефона подтвержден СМС"
    },
    "email": {
      "type": "string",
      "description": "E-mail"
    },
    "birthday": {
      "type": "string",
      "description": "Дата рождения"
    },
    "gender": {
      "type": "string",
      "description": "Пол"
    },
    "car_number": {
      "type": "string",
      "description": "Номер автомобиля"
    },
    "discount": {
      "type": "string",
      "description": "Скидка"
    },
    "bonus": {
      "type": "string",
      "description": "Бонусы"
    },
    "bonus_last": {
      "type": "string",
      "description": "Последние начисленные бонусы"
    },
    "write_off_last": {
      "type": "string",
      "description": "Последние списанные бонусы"
    },
    "loyalty_level": {
      "type": "string",
      "description": "Уровень лояльности"
    },
    "summ": {
      "type": "string",
      "description": "Сумма покупок"
    },
    "summ_all": {
      "type": "string",
      "description": "Общая сумма покупок"
    },
    "summ_last": {
      "type": "string",
      "description": "Последняя сумма покупок"
    },
    "visits": {
      "type": "string",
      "description": "Количество визитов"
    },
    "visits_all": {
      "type": "string",
      "description": "Общее количество визитов"
    },
    "date_last": {
      "type": "string",
      "description": "Дата последнего посещения"
    },
    "barcode": {
      "type": "string",
      "description": "Штрих-код электронной карты"
    },
    "key1": {
      "type": "string",
      "description": "Дополнительный ключ 1 (занят при интеграции с МойCклад)"
    },
    "key2": {
      "type": "string",
      "description": "Дополнительный ключ 2 (занят при интеграции с МойCклад)"
    },
    "key3": {
      "type": "string",
      "description": "Дополнительный ключ 3"
    },
    "key4": {
      "type": "string",
      "description": "Дополнительный ключ 4"
    },
    "key5": {
      "type": "string",
      "description": "Дополнительный ключ 5"
    },
    "key6": {
      "type": "string",
      "description": "Дополнительный ключ 6"
    },
    "trg_action_type": {
      "type": "string",
      "description": "Тип триггера на событие. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
    },
    "trg_action_value": {
      "type": "string",
      "description": "Значение скидки или баллов триггера на событие"
    },
    "trg_date_type": {
      "type": "string",
      "description": "Тип триггера на дату. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
    },
    "trg_date_value": {
      "type": "string",
      "description": "Значение скидки или баллов триггера на дату"
    },
    "delivery_form": {
      "type": "string",
      "description": "Наименование формы выдачи (если выдана с формы выдачи)"
    },
    "o_s": {
      "type": "string",
      "description": "Тип кошелька"
    },
    "link": {
      "type": "string",
      "description": "Уникальный идентификатор ссылки на карту (Ссылку можно получить следующим образом: **https://cards.teyca.ru/download/** + **link**)"
    },
    "referal": {
      "type": "string",
      "description": "Уникальный идентификатор реферала"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Цвет фона электронной карты (Hex)"
    },
    "created_at": {
      "type": "string",
      "description": "Дата создания электронной карты"
    },
    "H1": {
      "type": "string",
      "description": "Header поле 1"
    },
    "H2": {
      "type": "string",
      "description": "Header поле 2"
    },
    "H3": {
      "type": "string",
      "description": "Header поле 3"
    },
    "S1": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "S2": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "S3": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "B1": {
      "type": "string",
      "description": "Back поле 1"
    },
    "B2": {
      "type": "string",
      "description": "Back поле 2"
    },
    "B3": {
      "type": "string",
      "description": "Back поле 3"
    },
    "B4": {
      "type": "string",
      "description": "Back поле 4"
    },
    "B5": {
      "type": "string",
      "description": "Back поле 5"
    },
    "B6": {
      "type": "string",
      "description": "Back поле 6"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Изменение электронной карты
PUT/{token}/passes/{user_id}

Example URI

PUT https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/passes/17895
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

user_id
string (required) Example: 17895

Уникальный идентификатор пользователя

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "bonus": 300,
  "loyalty_level": "Золотой"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "bonus": {
      "type": "number",
      "description": "Количество бонусов"
    },
    "loyalty_level": {
      "type": "string",
      "description": "Уровень лояльности"
    }
  }
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "user_id": 17895,
  "template": "Макет 1",
  "fio": "Иванов Иван Иванович",
  "first_name": "Иван",
  "last_name": "Иванов",
  "pat_name": "Иванович",
  "phone": "79876543211",
  "sms_verify": true,
  "email": "support@teyca.ru",
  "birthday": "01.03.1990",
  "gender": "м",
  "car_number": "А001АА 716",
  "discount": "10%",
  "bonus": "300",
  "bonus_last": "15",
  "write_off_last": "50",
  "loyalty_level": "Золотой",
  "summ": "20300",
  "summ_all": "20300",
  "summ_last": "750",
  "visits": "10",
  "visits_all": "10",
  "date_last": "15.01.2020",
  "barcode": "0000001",
  "key1": "Дополнительная информация",
  "key2": "Дополнительная информация",
  "key3": "Дополнительная информация",
  "key4": "Дополнительная информация",
  "key5": "Дополнительная информация",
  "key6": "Дополнительная информация",
  "trg_action_type": "null",
  "trg_action_value": "null",
  "trg_date_type": "null",
  "trg_date_value": "null",
  "delivery_form": "Форма выдачи",
  "o_s": "IOS",
  "link": "1ed3z2dc236f822321669b640b8641ac",
  "referal": "17896",
  "backgroundColor": "#ffffff",
  "created_at": "2020-01-01 15:19:57.018363",
  "H1": "``",
  "H2": "``",
  "H3": "``",
  "S1": "``",
  "S2": "``",
  "S3": "``",
  "B1": "``",
  "B2": "Контактная информация",
  "B3": "``",
  "B4": "``",
  "B5": "``",
  "B6": "``"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "number",
      "description": "Уникальный id карты"
    },
    "template": {
      "type": "string",
      "description": "Наименование макета карты"
    },
    "fio": {
      "type": "string",
      "description": "ФИО владельца карты"
    },
    "first_name": {
      "type": "string",
      "description": "Фамилия владельца карты"
    },
    "last_name": {
      "type": "string",
      "description": "Имя владельца карты"
    },
    "pat_name": {
      "type": "string",
      "description": "Отчество владельца карты"
    },
    "phone": {
      "type": "string",
      "description": "Номер телефона"
    },
    "sms_verify": {
      "type": "boolean",
      "description": "Номер телефона подтвержден СМС"
    },
    "email": {
      "type": "string",
      "description": "E-mail"
    },
    "birthday": {
      "type": "string",
      "description": "Дата рождения"
    },
    "gender": {
      "type": "string",
      "description": "Пол"
    },
    "car_number": {
      "type": "string",
      "description": "Номер автомобиля"
    },
    "discount": {
      "type": "string",
      "description": "Скидка"
    },
    "bonus": {
      "type": "string",
      "description": "Бонусы"
    },
    "bonus_last": {
      "type": "string",
      "description": "Последние начисленные бонусы"
    },
    "write_off_last": {
      "type": "string",
      "description": "Последние списанные бонусы"
    },
    "loyalty_level": {
      "type": "string",
      "description": "Уровень лояльности"
    },
    "summ": {
      "type": "string",
      "description": "Сумма покупок"
    },
    "summ_all": {
      "type": "string",
      "description": "Общая сумма покупок"
    },
    "summ_last": {
      "type": "string",
      "description": "Последняя сумма покупок"
    },
    "visits": {
      "type": "string",
      "description": "Количество визитов"
    },
    "visits_all": {
      "type": "string",
      "description": "Общее количество визитов"
    },
    "date_last": {
      "type": "string",
      "description": "Дата последнего посещения"
    },
    "barcode": {
      "type": "string",
      "description": "Штрих-код электронной карты"
    },
    "key1": {
      "type": "string",
      "description": "Дополнительный ключ 1 (занят при интеграции с МойCклад)"
    },
    "key2": {
      "type": "string",
      "description": "Дополнительный ключ 2 (занят при интеграции с МойCклад)"
    },
    "key3": {
      "type": "string",
      "description": "Дополнительный ключ 3"
    },
    "key4": {
      "type": "string",
      "description": "Дополнительный ключ 4"
    },
    "key5": {
      "type": "string",
      "description": "Дополнительный ключ 5"
    },
    "key6": {
      "type": "string",
      "description": "Дополнительный ключ 6"
    },
    "trg_action_type": {
      "type": "string",
      "description": "Тип триггера на событие. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
    },
    "trg_action_value": {
      "type": "string",
      "description": "Значение скидки или баллов триггера на событие"
    },
    "trg_date_type": {
      "type": "string",
      "description": "Тип триггера на дату. Возможные значения: *discount*-скидка (максимум), *discountadd*-дополнительная скидка, *bonus* - дополнительные бонусы"
    },
    "trg_date_value": {
      "type": "string",
      "description": "Значение скидки или баллов триггера на дату"
    },
    "delivery_form": {
      "type": "string",
      "description": "Наименование формы выдачи (если выдана с формы выдачи)"
    },
    "o_s": {
      "type": "string",
      "description": "Тип кошелька"
    },
    "link": {
      "type": "string",
      "description": "Уникальный идентификатор ссылки на карту (Ссылку можно получить следующим образом: **https://cards.teyca.ru/download/** + **link**)"
    },
    "referal": {
      "type": "string",
      "description": "Уникальный идентификатор реферала"
    },
    "backgroundColor": {
      "type": "string",
      "description": "Цвет фона электронной карты (Hex)"
    },
    "created_at": {
      "type": "string",
      "description": "Дата создания электронной карты"
    },
    "H1": {
      "type": "string",
      "description": "Header поле 1"
    },
    "H2": {
      "type": "string",
      "description": "Header поле 2"
    },
    "H3": {
      "type": "string",
      "description": "Header поле 3"
    },
    "S1": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "S2": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "S3": {
      "type": "string",
      "description": "Secondary поле 1"
    },
    "B1": {
      "type": "string",
      "description": "Back поле 1"
    },
    "B2": {
      "type": "string",
      "description": "Back поле 2"
    },
    "B3": {
      "type": "string",
      "description": "Back поле 3"
    },
    "B4": {
      "type": "string",
      "description": "Back поле 4"
    },
    "B5": {
      "type": "string",
      "description": "Back поле 5"
    },
    "B6": {
      "type": "string",
      "description": "Back поле 6"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Удаление электронной карты
DELETE/{token}/passes/{user_id}

Example URI

DELETE https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/passes/17895
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

user_id
string (required) Example: 17895

Уникальный идентификатор пользователя

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Карта успешно удалена!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "number",
      "description": "Статус ответа"
    },
    "message": {
      "type": "string",
      "description": "Текстовое сообщение"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Выдача карт

С помощью TEYCA API существует возможность отправлять ссылку на установку электронной карты по SMS и E-mail. Отправка SMS-сообщений тарифицируется согласно тарифами в личном кабинете TEYCA. В случае отсутствия денежных средств на балансе, сервер вернет соответствующую ошибку.

Запрос на отправку карты по СМС
POST/{token}/send/sms

Example URI

POST https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/send/sms
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "user_id/barcode": "17234",
  "phone": "89872831234"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user_id/barcode": {
      "type": "string",
      "description": "Уникальный идентификатор карты или штрих-код"
    },
    "phone": {
      "type": "string",
      "description": "Номер телефона получателя"
    }
  }
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Сообщение с сылкой на установку успешно отправлено!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "number",
      "description": "Статус ответа"
    },
    "message": {
      "type": "string",
      "description": "Текстовое сообщение"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Запрос на отправку карты по Email
POST/{token}/send/email

Example URI

POST https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/send/email
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "user_id/barcode": "17234",
  "email": "support@teyca.ru"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user_id/barcode": {
      "type": "string",
      "description": "Уникальный идентификатор карты или штрих-код"
    },
    "email": {
      "type": "string",
      "description": "E-mail адрес получателя"
    }
  }
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Сообщение с сылкой на установку успешно отправлено!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "number",
      "description": "Статус ответа"
    },
    "message": {
      "type": "string",
      "description": "Текстовое сообщение"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Рассылки

С помощью рассылок можно отправлять владельцам карт важную информацию об акциях, статусах и пр. PUSH-уведомления доставляются только на электронные кошельки Apple Wallet, Android PassWallet и Android WalletPasses. На карты, установленные в кошелек Google Pay PUSH-уведомление не приходит, однако текст сообщения будет отображен на карте сразу после отправки.

Существует возможность отложенной отправки рассылок при помощи параметра:

  • date_start - дата отправки PUSH-уведомления по UTC±00:00

Если переменная date_start не указана, то рассылка начнется моментально.

Если в указанное время уже запланировано событие, то следующая рассылка не будет запущена.

Отправить PUSH-сообщение
POST/{token}/message/push

Example URI

POST https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/message/push
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "user_id": "17145,15897,15970",
  "date_start": "2022-12-31T10:00:00.000Z",
  "push_message": "Только сегодня скидка 10% на все товары!"
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "users_count": 3,
  "message_id": 999
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "users_count": {
      "type": "number",
      "description": "Количество получателей"
    },
    "message_id": {
      "type": "number",
      "description": "ID рассылки"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Отправить SMS-сообщение
POST/{token}/message/sms

Example URI

POST https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/message/sms
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "user_ids": "17145,15897,15970",
  "sms_message": "Только сегодня скидка 10% на все товары!",
  "date_start": "2022-12-31T10:00:00.000Z"
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "users_count": 3,
  "message_id": 999
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "users_count": {
      "type": "number",
      "description": "Количество получателей"
    },
    "message_id": {
      "type": "number",
      "description": "ID рассылки"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Отправить EMAIL-сообщение
POST/{token}/message/email

Example URI

POST https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/message/email
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: multipart/form-data
Authorization: "Основной ключ авторизации API"
Body
{
        "user_ids": "17145,15897,15970",
        "html": your_letter.html,
        "email_subject": "Тема письма",
        "date_start": "2022-12-31T10:00:00.000Z"

}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "users_count": 3,
  "message_id": 999
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "users_count": {
      "type": "number",
      "description": "Количество получателей"
    },
    "message_id": {
      "type": "number",
      "description": "ID рассылки"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Получить информацию о рассылке
POST/{token}/message_sending_info

Example URI

POST https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/message_sending_info
URI Parameters
скрытьпоказать
token
number (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "id": 999
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "sending_type": "PUSH",
  "date_start": "2020-01-01T15:19:57.018363",
  "date_end": "2020-01-02T15:19:57.018363",
  "push_message": "Только сегодня скидка 10% на все товары!",
  "cost": "0.0",
  "push": {
    "count": 1,
    "count_done": 1,
    "count_failed": 0,
    "message": "Hi there!",
    "count_done_percent": 100,
    "count_failed_percentnt": 0
  },
  "email": {
    "count": 1,
    "count_done": 1,
    "count_failed": 0,
    "message": "Hi there!",
    "count_done_percent": 100,
    "count_failed_percentnt": 0
  },
  "sms": {
    "count": 1,
    "count_done": 1,
    "count_failed": 0,
    "message": "Hi there!",
    "count_done_percent": 100,
    "count_failed_percentnt": 0
  },
  "users": {
    "id": 123456,
    "cdf_phone": "89999999999",
    "cdf_fio": "Без имени",
    "cdf_first_name": "Без имени",
    "cdf_last_name": "``",
    "cdf_pat_name": "``",
    "barcode": "1234567890",
    "type": "PUSH",
    "status": "Доставлено",
    "cost": 0
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "sending_type": {
      "type": "string",
      "description": "Тип рассылки"
    },
    "date_start": {
      "type": "string",
      "description": "Дата и время начала отправки"
    },
    "date_end": {
      "type": "string",
      "description": "Дата и время окончания отправки"
    },
    "push_message": {
      "type": "string",
      "description": "Текст PUSH-сообщения"
    },
    "cost": {
      "type": "string",
      "description": "Цена рассылки"
    },
    "push": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "description": "Кол-во отправленных"
        },
        "count_done": {
          "type": "number",
          "description": "Кол-во доставленных"
        },
        "count_failed": {
          "type": "number",
          "description": "Кол-во не доставленных"
        },
        "message": {
          "type": "string",
          "description": "Сообщение"
        },
        "count_done_percent": {
          "type": "number",
          "description": "Процент доставленных"
        },
        "count_failed_percentnt": {
          "type": "number",
          "description": "Процент не доставленных"
        }
      },
      "description": "Информация о PUSH-рассылке"
    },
    "email": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "description": "Кол-во отправленных"
        },
        "count_done": {
          "type": "number",
          "description": "Кол-во доставленных"
        },
        "count_failed": {
          "type": "number",
          "description": "Кол-во не доставленных"
        },
        "message": {
          "type": "string",
          "description": "Сообщение"
        },
        "count_done_percent": {
          "type": "number",
          "description": "Процент доставленных"
        },
        "count_failed_percentnt": {
          "type": "number",
          "description": "Процент не доставленных"
        }
      },
      "description": "Информация об EMAIL-рассылке"
    },
    "sms": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "description": "Кол-во отправленных"
        },
        "count_done": {
          "type": "number",
          "description": "Кол-во доставленных"
        },
        "count_failed": {
          "type": "number",
          "description": "Кол-во не доставленных"
        },
        "message": {
          "type": "string",
          "description": "Сообщение"
        },
        "count_done_percent": {
          "type": "number",
          "description": "Процент доставленных"
        },
        "count_failed_percentnt": {
          "type": "number",
          "description": "Процент не доставленных"
        }
      },
      "description": "Информация о SMS-рассылке"
    },
    "users": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "ID клиента"
        },
        "cdf_phone": {
          "type": "string",
          "description": "Номер телефона"
        },
        "cdf_fio": {
          "type": "string",
          "description": "ФИО клиента"
        },
        "cdf_first_name": {
          "type": "string",
          "description": "Имя клиента"
        },
        "cdf_last_name": {
          "type": "string",
          "description": "Фамилия клиента"
        },
        "cdf_pat_name": {
          "type": "string",
          "description": "Отчество клиента"
        },
        "barcode": {
          "type": "string",
          "description": "Баркод"
        },
        "type": {
          "type": "string",
          "description": "Тип отправленного уведомления"
        },
        "status": {
          "type": "string",
          "description": "Статус отправки уведомления"
        },
        "cost": {
          "type": "number",
          "description": "Цена отправки"
        }
      },
      "description": "Информация о получателях рассылки"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Веб-хуки

Чтобы всегда получать актуальную информацию по изменениям с электронными картами существует возможность использовать веб-хуки.

Предусмотрены следующие типы веб-хуков в системе TEYCA:

  • CREATE - Создание электронной карты

  • UPDATE - Изменение данных электронной карты

  • DELETE - Удаление электронной карты

В ответ на полученный хук необходимо отправить успешный статус 200. В случае, если успешный статус получен не будет, сервер TEYCA будет отправлять хук в течение суток или до тех пор, пока не получит успешный ответ.

Получить список веб-хуков
GET/{token}/webhook

Example URI

GET https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/webhook
URI Parameters
скрытьпоказать
token
string (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "webhooks": [
    {
      "hook_id": "5edxz2dc236f822321669b640b8641ac",
      "type": "CREATE",
      "enabled": true,
      "url": "https://example.com/webhook/create"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhooks": {
      "type": "array",
      "description": "Массив всех веб-хуков"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Получить отдельный веб-хук
GET/{token}/webhook/{hook_id}

Example URI

GET https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/webhook/5edxz2dc236f822321669b640b8641ac
URI Parameters
скрытьпоказать
token
string (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

hook_id
string (required) Example: 5edxz2dc236f822321669b640b8641ac

Уникальный идентификатор веб-хука

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "hook_id": "5edxz2dc236f822321669b640b8641ac",
  "type": "CREATE",
  "enabled": true,
  "url": "https://example.com/webhook/create"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "hook_id": {
      "type": "string",
      "description": "Уникальный идентификатор веб-хука"
    },
    "type": {
      "type": "string",
      "description": "Тип веб-хука"
    },
    "enabled": {
      "type": "boolean",
      "description": "Статус веб-хука"
    },
    "url": {
      "type": "string",
      "description": "URL, по которому будет пиходить запрос"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Создать веб-хук
POST/{token}/webhook

Example URI

POST https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/webhook
URI Parameters
скрытьпоказать
token
string (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "type": "CREATE",
  "url": "https://example.com/webhook/create"
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "hook_id": "5edxz2dc236f822321669b640b8641ac",
  "type": "CREATE",
  "enabled": true,
  "url": "https://example.com/webhook/create"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "hook_id": {
      "type": "string",
      "description": "Уникальный идентификатор веб-хука"
    },
    "type": {
      "type": "string",
      "description": "Тип веб-хука"
    },
    "enabled": {
      "type": "boolean",
      "description": "Статус веб-хука"
    },
    "url": {
      "type": "string",
      "description": "URL, по которому будет пиходить запрос"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Изменить веб-хук
PUT/{token}/webhook/{hook_id}

Example URI

PUT https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/webhook/5edxz2dc236f822321669b640b8641ac
URI Parameters
скрытьпоказать
token
string (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

hook_id
string (required) Example: 5edxz2dc236f822321669b640b8641ac

Уникальный идентификатор веб-хука

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Body
{
  "hook_id": "5edxz2dc236f822321669b640b8641ac",
  "enabled": false
}
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "hook_id": "5edxz2dc236f822321669b640b8641ac",
  "type": "CREATE",
  "enabled": false,
  "url": "https://example.com/webhook/create"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "hook_id": {
      "type": "string",
      "description": "Уникальный идентификатор веб-хука"
    },
    "type": {
      "type": "string",
      "description": "Тип веб-хука"
    },
    "enabled": {
      "type": "boolean",
      "description": "Статус веб-хука"
    },
    "url": {
      "type": "string",
      "description": "URL, по которому будет пиходить запрос"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized

Удалить веб-хук
DELETE/{token}/webhook/{hook_id}

Example URI

DELETE https://api.teyca.ru/v1/ce1302dc236f822321669b640b8641ac/webhook/5edxz2dc236f822321669b640b8641ac
URI Parameters
скрытьпоказать
token
string (required) Example: ce1302dc236f822321669b640b8641ac

Токен авторизации

hook_id
string (required) Example: 5edxz2dc236f822321669b640b8641ac

Уникальный идентификатор веб-хука

Запрос
скрытьпоказать
Headers
Content-Type: application/json
Authorization: "Основной ключ авторизации API"
Ответ  200
скрытьпоказать
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Веб-хук успешно удален!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "number",
      "description": "Статус ответа"
    },
    "message": {
      "type": "string",
      "description": "Текстовое сообщение"
    }
  }
}
Ответ  400
скрытьпоказать
Headers
Content-Type: application/json
Body
Сообщение об ошибке
Ответ  401
скрытьпоказать
Headers
Content-Type: application/json
Body
[ fail ] Not authorized