UNPKG

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.

284 lines (283 loc) 10.5 kB
import { WrapperClient } from '../wrapper'; import type { ApiKeys, Organization, OrganizationInvite, OrganizationInviteCreateInput, OrganizationInviteResponseInput, OrganizationTeamRole, OrganizationTeamRoleCreateInput, OrganizationTeamRoleTemplate, OrganizationTeamRoleUpdateInput, OrganizationUserAccess, OrganizationDefaultSeriesUpdateInput, Series } from '../types/organization'; import type { BinaryInput } from '../types'; 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: BinaryInput): 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: BinaryInput, keyFile: BinaryInput, 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>; /** * Sets default series for an organization * @param organization_id Organization Id * @param data Default series input * @returns Organization object */ updateDefaultSeries(organization_id: string, data: OrganizationDefaultSeriesUpdateInput): Promise<Organization>; /** * 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>; /** * Lists users with access to an organization. * @param organizationId Organization Id * @returns Array of organization access objects */ listTeamAccess(organizationId: string): Promise<OrganizationUserAccess[]>; /** * Retrieves a specific user access in an organization. * @param organizationId Organization Id * @param accessId Access Id * @returns Organization access object */ retrieveTeamAccess(organizationId: string, accessId: string): Promise<OrganizationUserAccess>; /** * Reassigns role for a specific access in an organization. * @param organizationId Organization Id * @param accessId Access Id * @param role Role Id * @returns Updated organization access object */ updateTeamAccessRole(organizationId: string, accessId: string, role: string): Promise<OrganizationUserAccess>; /** * Removes user access from an organization. * @param organizationId Organization Id * @param accessId Access Id * @returns Ok response */ removeTeamAccess(organizationId: string, accessId: string): Promise<{ ok: boolean; }>; /** * Lists invites sent from an organization. * @param organizationId Organization Id * @returns Array of organization invite objects */ listSentTeamInvites(organizationId: string): Promise<OrganizationInvite[]>; /** * Creates or updates an invite for an organization. * @param organizationId Organization Id * @param data Invite payload * @returns Organization invite object */ inviteUserToTeam(organizationId: string, data: OrganizationInviteCreateInput): Promise<OrganizationInvite>; /** * Cancels a sent invite. * @param organizationId Organization Id * @param inviteKey Invite Key * @returns Ok response */ cancelTeamInvite(organizationId: string, inviteKey: string): Promise<{ ok: boolean; }>; /** * Lists pending invites received by authenticated user. * @returns Array of organization invite objects */ listReceivedTeamInvites(): Promise<OrganizationInvite[]>; /** * Accepts or rejects an invite. * @param inviteKey Invite Key * @param data Invite response payload * @returns Ok response */ respondTeamInvite(inviteKey: string, data: OrganizationInviteResponseInput): Promise<{ ok: boolean; }>; /** * Lists organization roles. * @param organizationId Organization Id * @returns Array of organization role objects */ listTeamRoles(organizationId: string): Promise<OrganizationTeamRole[]>; /** * Lists role templates for organization scope. * @param organizationId Organization Id * @returns Array of organization role templates */ listTeamRoleTemplates(organizationId: string): Promise<OrganizationTeamRoleTemplate[]>; /** * Lists available operation codes for organization roles. * @param organizationId Organization Id * @returns Array of operation codes */ listTeamRoleOperations(organizationId: string): Promise<string[]>; /** * Retrieves an organization role. * @param organizationId Organization Id * @param roleId Role Id * @returns Organization role object */ retrieveTeamRole(organizationId: string, roleId: string): Promise<OrganizationTeamRole>; /** * Creates an organization role. * @param organizationId Organization Id * @param data Role payload * @returns Organization role object */ createTeamRole(organizationId: string, data: OrganizationTeamRoleCreateInput): Promise<OrganizationTeamRole>; /** * Updates an organization role. * @param organizationId Organization Id * @param roleId Role Id * @param data Role payload * @returns Organization role object */ updateTeamRole(organizationId: string, roleId: string, data: OrganizationTeamRoleUpdateInput): Promise<OrganizationTeamRole>; /** * Deletes an organization role. * @param organizationId Organization Id * @param roleId Role Id * @returns Ok response */ deleteTeamRole(organizationId: string, roleId: string): Promise<{ ok: boolean; }>; }