facturapi
Version:
Librería oficial de Facturapi. Crea CFDIs timbrados y enviados al SAT, XML y PDF
162 lines (161 loc) • 5.79 kB
TypeScript
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>;
}