--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # FulfillmentProviderService Helps retrieve fulfillment providers ## Constructors ### constructor `**new FulfillmentProviderService**(container)` #### Parameters ## Properties `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__container__", "type": "`any`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__moduleDeclaration__", "type": "`Record`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "container_", "type": "[FulfillmentProviderContainer](../types/FulfillmentProviderContainer.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "fulfillmentProviderRepository_", "type": "Repository<[FulfillmentProvider](FulfillmentProvider.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "manager_", "type": "EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "transactionManager_", "type": "`undefined` \\| EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> ## Accessors ### activeManager\_ `Protected get**activeManager_**(): EntityManager` #### Returns EntityManager ## Methods ### atomicPhase\_ `Protected **atomicPhase_**(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>` Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created. #### Parameters Promise<TResult>", "description": "the transactional work to be done", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "isolationOrErrorHandler", "type": "`IsolationLevel` \\| (`error`: `TError`) => Promise<void \\| TResult>", "description": "the isolation level to be used for the work.", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "maybeErrorHandlerOrDontFail", "type": "(`error`: `TError`) => Promise<void \\| TResult>", "description": "Potential error handler", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<TResult> ___ ### calculatePrice `**calculatePrice**(option, data, cart?): Promise<number>` #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "cart", "type": "[Order](Order.mdx) \\| [Cart](Cart.mdx)", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<number> ___ ### canCalculate `**canCalculate**(option): Promise<boolean>` #### Parameters #### Returns Promise<boolean> ___ ### cancelFulfillment `**cancelFulfillment**(fulfillment): Promise<[Fulfillment](Fulfillment.mdx)>` #### Parameters #### Returns Promise<[Fulfillment](Fulfillment.mdx)> ___ ### createFulfillment `**createFulfillment**(method, items, order, fulfillment): Promise<Record<string, unknown>>` #### Parameters #### Returns Promise<Record<string, unknown>> ___ ### createReturn `**createReturn**(returnOrder): Promise<Record<string, unknown>>` #### Parameters #### Returns Promise<Record<string, unknown>> ___ ### list `**list**(): Promise<[FulfillmentProvider](FulfillmentProvider.mdx)[]>` #### Returns Promise<[FulfillmentProvider](FulfillmentProvider.mdx)[]> ___ ### listFulfillmentOptions `**listFulfillmentOptions**(providerIds): Promise<[FulfillmentOptions](../types/FulfillmentOptions.mdx)[]>` #### Parameters #### Returns Promise<[FulfillmentOptions](../types/FulfillmentOptions.mdx)[]> ___ ### registerInstalledProviders `**registerInstalledProviders**(providers): Promise<void>` #### Parameters #### Returns Promise<void> ___ ### retrieveDocuments `**retrieveDocuments**(providerId, fulfillmentData, documentType): Promise<any>` Fetches documents from the fulfillment provider #### Parameters `", "description": "the data relating to the fulfillment", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "documentType", "type": "``\"label\"`` \\| ``\"invoice\"``", "description": "the typ of", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<any> ___ ### retrieveProvider `**retrieveProvider**(providerId): any` #### Parameters #### Returns `any` ___ ### shouldRetryTransaction\_ `Protected **shouldRetryTransaction_**(err): boolean` #### Parameters ` \\| `{ code: string }`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns `boolean` ___ ### validateFulfillmentData `**validateFulfillmentData**(option, data, cart): Promise<Record<string, unknown>>` #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "cart", "type": "`Record` \\| [Cart](Cart.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<Record<string, unknown>> ___ ### validateOption `**validateOption**(option): Promise<boolean>` #### Parameters #### Returns Promise<boolean> ___ ### withTransaction `**withTransaction**(transactionManager?): [FulfillmentProviderService](FulfillmentProviderService.mdx)` #### Parameters #### Returns [FulfillmentProviderService](FulfillmentProviderService.mdx)