feat(G1/SP3b): api-обёртка реквизитов (get/update/lookup-inn)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
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<Requisites | null> {
|
||||
const { data } = await apiClient.get('/api/tenant/requisites');
|
||||
return data.data ?? null;
|
||||
}
|
||||
|
||||
/** PUT /api/tenant/requisites — upsert, возвращает сохранённое. */
|
||||
export async function updateRequisites(payload: Partial<Requisites>): Promise<Requisites> {
|
||||
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<InnLookupResult> {
|
||||
await ensureCsrfCookie();
|
||||
const { data } = await apiClient.post('/api/tenant/requisites/lookup-inn', { inn });
|
||||
return data;
|
||||
}
|
||||
Reference in New Issue
Block a user