--- 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` **activeManager\_**: [object Object] ## 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. ##### Type Parameters ##### 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)