Logo
  • Support
  • Youtube
  • Facebook
  • Telegram
Logo
  • SePay OAuth2
  • Tổng quan
  • Đăng ký ứng dụng
  • Luồng xác thực
  • Access Token
  • API
  • Tài khoản ngân hàng
  • Giao dịch
  • Webhook
  • Người dùng
  • Công ty

API Người dùng

Tài liệu về cách sử dụng API người dùng thông qua OAuth2 trong SePay.

Giới thiệu

API người dùng của SePay cho phép bạn truy cập thông tin về người dùng hiện tại và công ty của họ. Bạn có thể lấy thông tin cá nhân của người dùng và thông tin chi tiết về công ty mà họ thuộc về.

Để sử dụng API này, bạn cần có quyền profile (đối với thông tin người dùng) hoặc company (đối với thông tin công ty) trong phạm vi (scope) của Access Token.

Các Endpoints

API người dùng cung cấp các endpoints sau:

Method Endpoint Mô tả
GET /api/v1/me Lấy thông tin của người dùng hiện tại

Lấy thông tin người dùng

GET /api/v1/me

Endpoint này trả về thông tin của người dùng hiện tại đã được xác thực qua OAuth2.

Quyền yêu cầu

  • Scope: profile

Yêu cầu

GET /api/v1/me
Authorization: Bearer {YOUR_ACCESS_TOKEN}

Phản hồi

{
    "status": "success",
    "data": {
        "id": 1234,
        "first_name": "Nguyễn",
        "last_name": "Văn A",
        "email": "nguyen.van.a@example.com",
        "phone": "0901234567",
        "avatar": "https://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346"
    }
}

Giải thích các trường dữ liệu

Trường Kiểu Mô tả
id integer ID của người dùng
first_name string Tên của người dùng
last_name string Họ của người dùng
email string Địa chỉ email của người dùng
phone string Số điện thoại của người dùng
avatar string URL của avatar được lấy từ Gravatar

Ví dụ sử dụng

Dưới đây là ví dụ cách lấy thông tin người dùng hiện tại thông qua API:

# Lấy thông tin người dùng hiện tại
curl -X GET "https://my.sepay.vn/api/v1/me" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
<?php

$accessToken = 'YOUR_ACCESS_TOKEN';
$apiUrl = 'https://my.sepay.vn/api/v1/me';

// Hàm lấy thông tin người dùng hiện tại
function getCurrentUser($apiUrl, $accessToken) {
    $ch = curl_init($apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Authorization: Bearer ' . $accessToken
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($httpCode === 200) {
        return json_decode($response, true);
    } else {
        return ['error' => $httpCode, 'response' => $response];
    }
}

// Sử dụng
$user = getCurrentUser($apiUrl, $accessToken);

// Hiển thị thông tin người dùng
if (isset($user['data'])) {
    $userData = $user['data'];
    echo "ID: " . $userData['id'] . "\n";
    echo "Họ tên: " . $userData['last_name'] . " " . $userData['first_name'] . "\n";
    echo "Email: " . $userData['email'] . "\n";
    echo "Điện thoại: " . $userData['phone'] . "\n";
    echo "Avatar: " . $userData['avatar'] . "\n";
} else {
    echo "Lỗi: " . json_encode($user) . "\n";
}
const accessToken = 'YOUR_ACCESS_TOKEN';

// Hàm lấy thông tin người dùng hiện tại
async function getCurrentUser() {
  try {
    const response = await fetch('https://my.sepay.vn/api/v1/me', {
      method: 'GET',
      headers: {
        'Authorization': `Bearer ${accessToken}`
      }
    });
    
    if (!response.ok) {
      throw new Error(`HTTP error! Status: ${response.status}`);
    }
    
    const data = await response.json();
    return data;
  } catch (error) {
    console.error('Error fetching user data:', error.message);
    throw error;
  }
}

// Sử dụng
async function displayUserInfo() {
  try {
    const userData = await getCurrentUser();
    
    if (userData.status === 'success' && userData.data) {
      const user = userData.data;
      console.log('Thông tin người dùng:');
      console.log('--------------------------');
      console.log(`ID: ${user.id}`);
      console.log(`Họ tên: ${user.last_name} ${user.first_name}`);
      console.log(`Email: ${user.email}`);
      console.log(`Điện thoại: ${user.phone}`);
      console.log(`Avatar URL: ${user.avatar}`);
    } else {
      console.error('Không thể lấy thông tin người dùng:', userData);
    }
  } catch (error) {
    console.error('Lỗi:', error);
  }
}

displayUserInfo();

Mã lỗi

Dưới đây là các mã lỗi có thể gặp khi sử dụng API người dùng:

Mã HTTP Mã lỗi Mô tả
401 unauthorized Token không hợp lệ hoặc hết hạn
403 forbidden Không có quyền truy cập vào tài nguyên này
API Webhooks

Tìm hiểu về API Webhooks

API Công ty

Tìm hiểu về API Công ty

Facebook Messenger

Hỗ trợ live chat 24/7

Hotline

Điện thoại hỗ trợ

Youtube

Theo dõi video mới nhất của SePay

Telegram

Nhận thông tin mới nhất từ SePay
Liên hệ chúng tôi