Files
HoruxDespachos/apps/web/lib/api/constancias.ts
2026-04-27 22:09:36 -06:00

79 lines
1.9 KiB
TypeScript

import { apiClient } from './client';
export interface DomicilioCsf {
codigoPostal?: string;
tipoVialidad?: string;
nombreVialidad?: string;
numeroExterior?: string;
numeroInterior?: string;
colonia?: string;
localidad?: string;
municipio?: string;
entidadFederativa?: string;
entreCalle?: string;
yCalle?: string;
}
export interface RegimenCsf {
nombre: string;
fechaInicio: string;
fechaFin?: string;
}
export interface ObligacionCsf {
descripcion: string;
descripcionVencimiento: string;
fechaInicio: string;
fechaFin?: string;
}
export interface ActividadEconomicaCsf {
orden: number;
descripcion: string;
porcentaje: number;
fechaInicio: string;
fechaFin?: string;
}
export interface ConstanciaDatos {
rfc: string;
curp?: string;
idCIF: string;
nombre?: string;
primerApellido?: string;
segundoApellido?: string;
razonSocial?: string;
nombreComercial?: string;
fechaInicioOperaciones: string;
estatusPadron: string;
fechaUltimoCambioEstado?: string;
lugarFechaEmision: string;
domicilio: DomicilioCsf;
actividadesEconomicas: ActividadEconomicaCsf[];
regimenes: RegimenCsf[];
obligaciones: ObligacionCsf[];
}
export interface Constancia {
id: number;
rfc: string;
idCif: string | null;
razonSocial: string | null;
estatusPadron: string | null;
fechaEmision: string | null;
datos: ConstanciaDatos;
fechaConsulta: string;
createdAt: string;
}
export const listConstancias = (contribuyenteId?: string) => {
const params = contribuyenteId ? `?contribuyenteId=${encodeURIComponent(contribuyenteId)}` : '';
return apiClient.get<Constancia[]>(`/documentos/constancias${params}`).then(r => r.data);
};
export const consultarConstancia = () =>
apiClient.post<Constancia>('/documentos/constancias/consultar').then(r => r.data);
export const descargarConstanciaPdf = (id: number) =>
apiClient.get(`/documentos/constancias/${id}/pdf`, { responseType: 'blob' }).then(r => r.data as Blob);