NextID API Documentation

NextID xizmatini sizning loyihalaringizga integratsiya qilish uchun to'liq qo'llanma

📚 Interactive API Documentation

Barcha API endpointlarni ko'rish va test qilish uchun Swagger dokumentatsiyasiga o'ting

Swagger Docs →

🚀 Quick Start

1. Foydalanuvchi Ro'yxatdan O'tishi

POST https://api.nextid.uz/auth/register
Content-Type: application/json

{
  "phone": "+998901234567",
  "firstName": "Ali",
  "lastName": "Aliyev",
  "middleName": "Valiyevich",
  "password": "SecurePassword123"
}

2. Telefon Raqamni Tasdiqlash

POST https://api.nextid.uz/auth/verify
Content-Type: application/json

{
  "phone": "+998901234567",
  "code": "123456"
}

3. Login (Token Olish)

POST https://api.nextid.uz/auth/login
Content-Type: application/json

{
  "phone": "+998901234567",
  "password": "SecurePassword123"
}

Response:
{
  "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "user": { ... }
}

4. Foydalanuvchi Ma'lumotlarini Olish

GET https://api.nextid.uz/users/:userId
Authorization: Bearer YOUR_ACCESS_TOKEN

Response:
{
  "id": "uuid",
  "phone": "+998901234567",
  "profile": { ... },
  "passportData": { ... },
  "education": [ ... ],
  "criminal": { ... },
  "border": { ... }
}

📋 Mavjud Endpointlar

Authentication

  • POST/auth/register
  • POST/auth/login
  • POST/auth/verify
  • POST/auth/resend-code
  • GET/auth/me

Users

  • GET/users/:id
  • GET/users/phone/:phone

Profile

  • GET/profile
  • PUT/profile

Additional Endpoints

  • • /passport-data (GET, PUT)
  • • /education (GET, POST, PUT, DELETE)
  • • /criminal (GET, PUT)
  • • /border (GET, PUT)
  • • /file/passport-image (POST - multipart/form-data)

🔐 Authentication

Himoyalangan endpointlarga murojaat qilish uchun JWT tokendan foydalaning:

Authorization: Bearer YOUR_ACCESS_TOKEN

Token login yoki verify qilganda qaytariladi va 30 kun amal qiladi.

💡 Integratsiya Namunasi (JavaScript)

// Login va user ma'lumotlarini olish
async function loginAndGetUser(phone, password) {
  // Login
  const loginRes = await fetch('https://api.nextid.uz/auth/login', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ phone, password })
  });

  const { accessToken, user } = await loginRes.json();

  // User ma'lumotlarini olish
  const userRes = await fetch(`https://api.nextid.uz/users/${user.id}`, {
    headers: { 'Authorization': `Bearer ${accessToken}` }
  });

  const userData = await userRes.json();
  return userData;
}

// Foydalanish
const userData = await loginAndGetUser('+998901234567', 'password');
console.log(userData);