Перейти до вмісту

Курси валют

Цей переклад зроблено автоматично і ще не вичитано. Читати англійську версію

Курси валют дають змогу працювати з валютами, відмінними від вашої базової валюти. Валюту можна вибрати для тарифів, вендорів, маршрутів термінації, клієнтів, акаунтів, платіжних процесорів і ваучерів, щойно для неї тут є курс. FlySIP перераховує кожну суму між валютами за цими курсами, наприклад коли акаунт у USD тарифікується за тарифом у EUR. Кожен клієнт має власні курси щодо своєї базової валюти, тож курси реселера не впливають на ваші.

Відкрийте Tariffs & Currencies → Exchange Rates (курси валют) у лівій бічній панелі. URL - /xrates.php. Логіни без тарифів бачать цю групу як Currencies. Пункт приховано для користувачів, обмежених рівнем доступу.

Screenshot "admin-panel/exchange-rates" has not been generated yet — see scripts/screenshots/screens.yml.

Список показує кожну валюту, що має курс, крім вашої базової валюти.

Колонка Значення
Status (статус) Трикутник-попередження Exchange Rate is outdated. (курс застарів), коли курс не оновлювався понад добу. В інших випадках порожньо
Currency Unit (грошова одиниця) Назва валюти та код ISO, посилання на форму
<base> per Unit Скільки вашої базової валюти коштує одна одиниця валюти, наприклад USD per Unit
Units per <base> Той самий курс у зворотному напрямку: одиниці валюти за одну одиницю вашої базової валюти
Source (джерело) Звідки береться курс: Manual Entry (ручне введення), Alpha Vantage, Currencylayer, Apilayer або Custom Script (власний скрипт)
Timestamp (час оновлення) Дата й час останнього оновлення у вашому часовому поясі

Значок кошика з’являється лише для валюти, яку ніхто не використовує. Фільтр зіставляє Currency Unit (is like або is not like) з назвою або кодом ISO без урахування регістру. Він порівнює все значення; використовуйте % як підстановний символ, наприклад %dollar%.

Додавання курсу валюти

Розділ «Додавання курсу валюти»
  1. Натисніть Add.
  2. Виберіть Currency Unit. Список пропонує валюти, які ще не мають курсу; усі вони наведені на сторінці Підтримувані валюти.
  3. Виберіть Source.
  4. Для Manual Entry введіть Exchange Rate (курс) і виберіть його напрямок: <base> per 1 Unit або Units per 1 <base>. Для онлайн-джерела введіть API Access Key (ключ доступу до API) своєї підписки в цього провайдера.
  5. Натисніть Save & Close.
Screenshot "admin-panel/exchange-rate-form" has not been generated yet — see scripts/screenshots/screens.yml.

Для онлайн-джерела панель одразу отримує курс і відмовляється зберігати, якщо не може його отримати. Cannot retrieve … communication with … has failed означає, що провайдер не відповів або відхилив ключ. The … does not support currency conversion означає, що провайдер не котирує цю валюту щодо вашої базової валюти; використовуйте для неї Manual Entry.

Джерело Що потрібно Оновлення
Manual Entry Сам курс Ніколи. Редагуйте курс, коли він змінюється
Alpha Vantage API Access Key від Alpha Vantage Кожні 15 хвилин
Currencylayer API Access Key від Currencylayer. Позначте Paid Subscription (платна підписка), коли ваш тариф дозволяє HTTPS; безкоштовні тарифи опитуються через звичайний HTTP Щогодини
Apilayer API Access Key для Currency Data API на Apilayer Щогодини
Custom Script Скрипт, установлений на комутаторі, див. нижче. Показується, лише коли скрипт існує Кожні 15 хвилин

Програма оновлення запускається кожні 15 хвилин і оновлює кожен курс, у джерела якого минув інтервал. Коли провайдер не відповідає, курс зберігає останнє значення, а Timestamp перестає змінюватися; через добу з’являється значок попередження. Безкоштовні тарифи обмежують кількість запитів на місяць, а кожна валюта - це окремий запит під час кожного оновлення; порахуйте їх, перш ніж додавати багато валют на безкоштовному тарифі.

Ці провайдери - сторонні сервіси. FlySIP не контролює їхню доступність, ціни чи умови, тож перевіряйте колонку Status після будь-яких змін на їхньому боці.

Використання власного скрипта

Розділ «Використання власного скрипта»

Власний скрипт дає змогу обчислювати курси самостійно, наприклад додавати націнку до курсу провайдера або брати їх у свого банку. Для цього потрібен доступ до оболонки комутатора.

  1. Створіть скрипт /var/env<N>/scripts/xrate_update_custom.sh, де <N> - номер середовища (1 для основного).
  2. Зробіть його виконуваним: chmod 755 /var/env1/scripts/xrate_update_custom.sh.
  3. Відкрийте Exchange Rates, додайте або відредагуйте валюту й виберіть Custom Script як Source.

Скрипт отримує три аргументи: базову валюту, валюту і рядок JSON з параметрами ({}). Він має вивести одне додатне число - кількість валюти за одну одиницю базової валюти - і завершитися з кодом 0. Усе інше вважається невдалим оновленням.

Цей приклад бере курс Alpha Vantage і додає 5%:

#!/bin/sh
# $1 = base currency, $2 = currency, $3 = options (JSON)
# Prints the amount of $2 per one unit of $1.
SCALE=1.05
KEY="your-alpha-vantage-key"
RATE=$(/home/ssp/scripts/python_exec.sh /home/ssp/scripts/xrate_update.py \
1 AlphaVantage "$1" "$2" "{\"api_access_key\": \"$KEY\"}")
echo "scale=12; ${RATE} * ${SCALE}" | /usr/bin/bc -q

Замініть 1 після xrate_update.py номером свого середовища.

Редагування курсу валюти

Розділ «Редагування курсу валюти»

Натисніть на валюту. Currency Unit незмінна; ви можете змінити Source, ключ або, для Manual Entry, курс. Збереження одразу отримує свіжий курс з онлайн-джерела. Новий курс застосовується до дзвінків і платежів з цього моменту; уже записані CDR і платежі зберігають свої суми.

Видалення курсу валюти

Розділ «Видалення курсу валюти»
  1. Натисніть значок кошика в рядку.
  2. Натисніть Delete у підтвердженні.

Значок показується, лише поки жоден ваш акаунт, клієнт, тариф, платіжний процесор чи ваучер не використовує валюту, а для кореневого клієнта - також жоден вендор чи маршрут термінації. Спочатку переведіть їх на іншу валюту.

Пов’язані сторінки

Розділ «Пов’язані сторінки»