Developers
Портал розробників — YaLogin

Інтегруйте авторизацію та платежі Yachudo у ваш застосунок. OAuth 2.0 + API.

Швидкий старт

Щоб отримати доступ до наших API, потрібно зареєструвати застосунок за допомогою Панелі управління застосунками. Після реєстрації буде створено App ID та App Secret.

01
Реєстрація
Створіть застосунок у панелі розробника
02
OAuth redirect
Перенаправте користувача на сторінку авторизації YaLogin
03
Auth Code
Отримайте одноразовий auth_key на redirect URL
04
Access Token
Обміняйте код на токен і виконуйте API-запити
Крок 1 — Авторизаційна URL

Щоб розпочати OAuth, перенаправте користувача за посиланням:

https://yachudo.uno/oauth/authorize?app_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT
PHP
JavaScript
$url = 'https://yachudo.uno/oauth/authorize?' . http_build_query([ 'app_id' => $app_id, 'redirect_uri' => 'https://yoursite.com/callback', ]); header('Location: ' . $url); exit;
const params = new URLSearchParams({ app_id: 'YOUR_APP_ID', redirect_uri: 'https://yoursite.com/callback', }); window.location.href = `https://yachudo.uno/oauth/authorize?${params}`;
Крок 2 — Обмін auth_key на Access Token
Безпека: Цей запит виконується server-to-server. Ніколи не передавайте app_secret у фронтенд-код або URL.
PHP
Python
Go
// На вашому callback.php $auth_key = $_GET['auth_key']; $ch = curl_init('https://yachudo.uno/oauth/token'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, [ 'app_id' => $app_id, 'app_secret' => $app_secret, 'auth_key' => $auth_key, ]); $json = json_decode(curl_exec($ch), true); $access_token = $json['access_token']; // зберігаємо в сесії
import requests auth_key = request.args.get('auth_key') r = requests.post('https://yachudo.uno/oauth/token', data={ 'app_id': APP_ID, 'app_secret': APP_SECRET, 'auth_key': auth_key, }) access_token = r.json()['access_token']
import "net/http" authKey := r.URL.Query().Get("auth_key") resp, _ := http.PostForm("https://yachudo.uno/oauth/token", url.Values{ "app_id": {appID}, "app_secret": {appSecret}, "auth_key": {authKey}, })

Відповідь (JSON):

{ "error": false, "access_token": "eyJhbGciOiJIUzI1NiIsIn...", "token_type": "Bearer", "expires_in": 60, "scope": "profile,balance" }
Увага: токен дійсний лише 60 секунд. Після закінчення потрібно знову ініціювати OAuth.
Scopes — права доступу

При перенаправленні ви можете запитати лише необхідні права через параметр scope (через кому).

ScopeОписAPI методи
profile Ім'я, email, аватар, базові дані api/get_user_info
balance Поточний баланс та номер гаманця action=balance
history Список транзакцій (до 10 записів) action=history
transfer Переказ коштів від імені користувача action=transfer
https://yachudo.uno/oauth/authorize?app_id=ID&redirect_uri=URL&scope=profile,balance
Схема OAuth 2.0 Flow
#КрокДеталі
1Redirect до YaLoginВаш сайт → /oauth/authorize?app_id=…
2Consent screenКористувач бачить назву застосунку та список прав
3ПідтвердженняНатискає "Продовжити" → YaLogin видає auth_key
4Redirect назадredirect_uri?auth_key=XXXX (одноразовий, 5 хв)
5Обмін токенаСервер → POST /oauth/tokenaccess_token (60 с)
6API запитиPOST /api/money/ з access_token=…
Базовий URL
https://yachudo.uno/api/money/

Всі запити — метод POST. Авторизація через access_token (OAuth) або api_key (прямий доступ). HTTPS обов'язковий.

GET Інформація про користувача
https://yachudo.uno/api/get_user_info?access_token=TOKEN

Потрібен scope: profile

{ "error": false, "user_info": { "user_id": "42", "user_name": "johndoe", "user_email": "john@example.com", "user_firstname": "Іван", "user_lastname": "Петренко", "user_picture": "", "user_website": "" } }
POST Баланс
https://yachudo.uno/api/money/

Потрібен scope: balance

ПараметрЗначення
actionbalance
access_tokenВаш OAuth токен
POST Переказ коштів
https://yachudo.uno/api/money/

Потрібен scope: transfer

Підпис: sign = md5(wallet + amount + api_key) — обов'язковий для безпеки операції.
ПараметрТипОпис
actionstringtransfer
access_tokenstringOAuth токен
walletstringГаманець отримувача
amountfloatСума (напр. 1.00)
signstringmd5(wallet+amount+api_key)
commentstringКоментар (max 255 символів)
Коди помилок
КодОпис
invalid_tokenТокен не знайдено або прострочено
insufficient_scopeТокен не має потрібного scope
invalid_appapp_id не знайдено або заблоковано
invalid_auth_keyauth_key не знайдено, використано або прострочено
invalid_signПідпис MD5 не збігається

Для керування застосунками необхідно авторизуватися.