import { apiClient, ensureCsrfCookie } from './client'; /** Реквизиты тенанта. Совпадает с RequisitesResource (бэкенд SP2). */ export interface Requisites { subject_type: 'individual' | 'sole_proprietor' | 'legal_entity' | null; contact_name: string | null; contact_phone: string | null; inn: string | null; legal_name: string | null; kpp: string | null; ogrn: string | null; legal_address: string | null; bank_name: string | null; bank_bik: string | null; bank_account: string | null; corr_account: string | null; requisites_completed_at: string | null; } /** Ответ POST /lookup-inn (мягкая подтяжка по DaData). */ export interface InnLookupResult { found: boolean; legal_name?: string; kpp?: string; ogrn?: string; legal_address?: string; subject_type_hint?: 'sole_proprietor' | 'legal_entity'; } /** GET /api/tenant/requisites — null если ещё не заполнялись. */ export async function getRequisites(): Promise { const { data } = await apiClient.get('/api/tenant/requisites'); return data.data ?? null; } /** PUT /api/tenant/requisites — upsert, возвращает сохранённое. */ export async function updateRequisites(payload: Partial): Promise { await ensureCsrfCookie(); const { data } = await apiClient.put('/api/tenant/requisites', payload); return data.data; } /** POST /api/tenant/requisites/lookup-inn — ничего не сохраняет. */ export async function lookupInn(inn: string): Promise { await ensureCsrfCookie(); const { data } = await apiClient.post('/api/tenant/requisites/lookup-inn', { inn }); return data; }