UNPKG

facturapi

Version:

Librería oficial de Facturapi. Crea CFDIs timbrados y enviados al SAT, XML y PDF

162 lines (161 loc) 5.79 kB
import { File, Blob } from 'formdata-node'; import { WrapperClient } from '../wrapper'; import type { ApiKeys, Organization, Series } from '../types/organization'; import { SearchResult } from '../types/common'; export default class Organizations { client: WrapperClient; constructor(client: WrapperClient); /** * Creates a new organization for your account * @param data - Organization data * @returns Organization object */ create(data: Record<string, any>): Promise<Organization>; /** * Gets a paginated list of organizations that belong to your account * @param params - Search parameters * @returns Search results object. The object contains a `data` property with the list of organizations. */ list(params?: Record<string, any> | null): Promise<SearchResult<Organization>>; /** * Gets a single organization object * @param id * @returns */ retrieve(id: string): Promise<Organization>; /** * Updates the organization's legal information * @param id Organization Id * @param data * @returns */ updateLegal(id: string, data: Record<string, any>): Promise<Organization>; /** * Updates the organization's customization information * @param id Organization Id * @param data Customization settings * @returns Organization object */ updateCustomization(id: string, data: Record<string, any>): Promise<Organization>; /** * Updates the organization's customization information * @param id Organization Id * @param data Receipt settings * @returns Organization object */ updateReceiptSettings(id: string, data: Record<string, any>): Promise<Organization>; /** * Updates the organization's customization information * @param id Organization Id * @param data Domain data * @returns Organization object */ updateDomain(id: string, data: Record<string, any>): Promise<Organization>; /** * Checks if a domain is available for self invoices * @param data Domain data * @returns Domain availability */ checkDomainIsAvailable(data: Record<string, any>): Promise<{ available: boolean; }>; /** * Uploads the organization's logo * @param id Organization Id * @param file Logo file * @returns Organization object */ uploadLogo(id: string, file: NodeJS.ReadableStream | Buffer | File | Blob): Promise<Organization>; /** * Uploads the organization's certificate (CSD) * @param id Organization Id * @param cerFile Certificate file * @param keyFile Key file * @param password Certificate password * @returns Organization object */ uploadCertificate(id: string, cerFile: NodeJS.ReadableStream | Buffer | File | Blob, keyFile: NodeJS.ReadableStream | Buffer | File | Blob, password: string): Promise<Organization>; /** * Deletes the organization's certificate (CSD) * @param id Organization Id * @returns Organization object */ deleteCertificate(id: string): Promise<Organization>; /** * Permanently removes a organization from your account. * @param id Organization Id * @returns Deleted organization object */ del(id: string): Promise<Organization>; /** * Gets the test api key for an organization * @param id Organization Id * @returns Test api key */ getTestApiKey(id: string): Promise<string>; /** * Renews the test api key and makes the previous one unusable * @param id Organization Id * @returns New test api key */ renewTestApiKey(id: string): Promise<string>; /** * List live api keys * @param id Organization Id * @returns List of live api keys */ listLiveApiKeys(id: string): Promise<ApiKeys[]>; /** * Renews the live api key and makes the previous one unusable * @param id Organization Id * @returns New live api key */ renewLiveApiKey(id: string): Promise<string>; /** * Delete a live api key * @param organizationId Organization Id * @param apiKeyId Api Key Id * @returns List of live api keys */ deleteLiveApiKey(organizationId: string, apiKeyId: string): Promise<ApiKeys[]>; /** * Get list of Series Organization * @param organization_id Organization Id * @returns Series object */ listSeriesGroup(organization_id: string): Promise<Series[]>; /** * Creates a Series Organization * @param organization_id Organization Id * @param seriesData - Series data * @returns Series object */ createSeriesGroup(organization_id: string, seriesData: Series): Promise<Series>; /** * Update a Series Organization * @param organization_id Organization Id * @param seriesName Series seriesName * @param data - Series data * @returns Series object */ updateSeriesGroup(organization_id: string, seriesName: string, data: Pick<Series, 'next_folio' | 'next_folio_test'>): Promise<Series>; /** * Update a Series Organization * @param organization_id Organization Id * @param seriesName Series seriesName * @returns Series object */ deleteSeriesGroup(organization_id: string, seriesName: string): Promise<Series>; /** * Get the organization that belongs to the authenticated API key * @returns Organization object */ me(): Promise<Organization>; /** * Updates the organization's self-invoice settings * @param id Organization Id * @param data Self-invoice settings * @returns Organization object */ updateSelfInvoiceSettings(id: string, data: Record<string, any>): Promise<Organization>; }