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
TypeScript
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;
}>;
}