facturapi
Version:
SDK oficial de Facturapi para Node.js y navegadores. Integra facturación electrónica en México (CFDI) de forma simple y obtén una perspectiva fiscal completa de tu operación, con búsquedas indexadas, envío de documentos y trazabilidad.
60 lines (59 loc) • 2.14 kB
TypeScript
import { Receipt } from './receipt';
import { Invoice } from './invoice';
import { Customer } from './customer';
export declare enum ApiEventType {
RECEIPT_SELF_INVOICE_COMPLETE = "receipt.self_invoice_complete",
INVOICE_CANCELLATION_STATUS_UPDATED = "invoice.cancellation_status_updated",
RECEIPT_STATUS_UPDATED = "receipt.status_updated",
GLOBAL_INVOICE = "invoice.global_invoice_created",
INVOICES_STATUS_UPDATED = "invoice.status_updated",
INVOICES_CREATED_FROM_DASHBOARD = "invoice.created_from_dashboard",
CUSTOMER_EDIT_LINK_COMPLETED = "customer.edit_link_completed"
}
export declare enum ApiEventDataType {
RECEIPT = "receipt",
INVOICE = "invoice",
CUSTOMER = "customer"
}
type ApiEventTypeMap = {
[ApiEventType.RECEIPT_SELF_INVOICE_COMPLETE]: ApiEventDataType.RECEIPT;
[ApiEventType.INVOICE_CANCELLATION_STATUS_UPDATED]: ApiEventDataType.INVOICE;
[ApiEventType.RECEIPT_STATUS_UPDATED]: ApiEventDataType.RECEIPT;
[ApiEventType.GLOBAL_INVOICE]: ApiEventDataType.INVOICE;
[ApiEventType.INVOICES_STATUS_UPDATED]: ApiEventDataType.INVOICE;
[ApiEventType.INVOICES_CREATED_FROM_DASHBOARD]: ApiEventDataType.INVOICE;
[ApiEventType.CUSTOMER_EDIT_LINK_COMPLETED]: ApiEventDataType.CUSTOMER;
'': '';
};
type ApiEventDataTypeMap = {
[ApiEventDataType.RECEIPT]: Receipt;
[ApiEventDataType.INVOICE]: Invoice;
[ApiEventDataType.CUSTOMER]: Customer;
'': any;
};
export declare enum WebhookEndpointStatus {
ENABLED = "enabled",
DISABLED = "disabled"
}
export interface Webhook {
created_at: Date;
organization: string;
livemode: boolean;
enabled_events: (ApiEventType | '*')[];
description?: string;
url: string;
secret?: string;
status: WebhookEndpointStatus;
}
export interface ApiEventData<T extends ApiEventDataType | '' = ''> {
type: T;
object: ApiEventDataTypeMap[T];
}
export interface ApiEvent<T extends ApiEventType | '' = ''> {
created_at: Date;
organization: string;
livemode: boolean;
type: T extends '' ? ApiEventType : T;
data: ApiEventData<ApiEventTypeMap[T]>;
}
export {};