Перейти к содержимому

Генерация аккаунтов и ваучеров по шаблонам

Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию

Когда вы продаёте предоплаченные карты или ваучеры, вам нужны сотни записей с уникальными случайными номерами и PIN-кодами. Вместо того чтобы готовить их в таблице, вы вписываете в поле шаблон, и коммутатор заполняет его новым случайным значением для каждой записи. В этом руководстве вы генерируете партию ваучеров пополнения в панели и видите те же шаблоны для аккаунтов, создаваемых через API. Рассчитывайте примерно на 10 минут.

  • У вас есть доступ Administrator (администратор) к панели с правом добавлять ваучеры пополнения.
  • Вы знаете номинал, валюту и дату окончания действия партии.

Поле содержит либо фиксированное значение, либо ровно один шаблон. Шаблон нельзя сочетать с фиксированным текстом в одном поле.

Шаблон Что генерирует Пример Результат
${N:n} n случайных цифр; первая цифра никогда не 0 ${N:10} 4093817265
${N:[…][…]…} Одну цифру на каждую пару скобок: диапазон [0-6], список [0,4,9] или фиксированную цифру [5] ${N:[2,3,4][0-8][0-9][0-9]} 2000–2899, 3000–3899 или 4000–4899
${P:n} Случайный пароль из n букв и цифр, содержащий хотя бы одну цифру ${P:12} k3XbQ9pLm2Ra
${C:Field} Копию значения, сгенерированного для другого поля той же записи ${C:Account Name} То же значение, что и Account Name (имя аккаунта)

Чтобы каждый номер начинался с фиксированного префикса, дайте каждой цифре префикса отдельную пару скобок: ${N:[7][7][0-9][0-9][0-9][0-9][0-9][0-9]} даёт восьмизначные номера, начинающиеся с 77.

  1. Откройте Payments → Top-Up Vouchers (ваучеры пополнения).
  2. Нажмите Generate (сгенерировать).
  3. Оставьте или измените Voucher ID (ID ваучера). Значение по умолчанию ${N:[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]} даёт десять случайных цифр.
  4. Введите Book Value (номинал), выберите Currency (валюта) и задайте Expiration Date (дата окончания действия) и Credit Lifetime, days (срок действия кредита, дней).
  5. Введите Batch Tag (тег партии), например promo-2026-11, чтобы позже найти партию.
  6. Отметьте Use Secret PIN (использовать секретный PIN), если клиент должен также вводить PIN, и оставьте или измените шаблон Secret PIN (секретный PIN). Значение по умолчанию даёт четыре случайные цифры.
  7. Введите Number of Top-up Vouchers (количество ваучеров пополнения), от 1 до 10000.
  8. Нажмите Generate.
Screenshot "tutorials/vouchers-generate" has not been generated yet — see scripts/screenshots/screens.yml.

Результат: браузер скачивает файл Top-up Vouchers с одной строкой на ваучер, в том числе со сгенерированными Voucher ID и Secret PIN. Ваучеры появляются в списке с тегом партии.

Метод createAccount XML-RPC API принимает те же шаблоны в своих параметрах и возвращает сгенерированные учётные данные. Вызывайте его один раз на каждую карту, например из скрипта:

request
call("createAccount", {
"username": "${N:[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]}",
"authname": "${C:username}",
"voip_password": "${N:[0-9][0-9][0-9][0-9]}",
"web_password": "${P:12}",
# … the other required parameters of createAccount
})

В API ${C:…} принимает имя другого параметра, а не подпись поля в панели. Остальные параметры описаны на странице Создание аккаунтов. Чтобы вместо этого загрузить аккаунты из файла, используйте Upload… (загрузить) на экране Accounts (аккаунты); файл принимает только фиксированные значения. См. Аккаунты.

  1. Откройте Payments → Top-Up Vouchers и отфильтруйте список по Batch Tag партии.
  2. Убедитесь, что количество ваучеров, Book Value и статус Active (активен) соответствуют ожидаемым.
  3. Активируйте один ваучер на тестовом аккаунте и убедитесь, что его баланс вырос на номинал.