RegisteredExternalService

Represents a registered external service, which provides an extension or integration.

Parent Type 

This type extends Metadata and inherits its fields.

File Suffix and Directory Location 

RegisteredExternalService components have the suffix .registeredExternalService and are stored in the registeredExternalServices folder.

Version 

Introduced in API version 49.0.

Special Access Rules 

This metadata type is available only if the B2B Commerce or D2C Commerce license is enabled.

Fields 

configUrl 

  • Type: string
  • Required: No
  • Description: Link to the configuration page for the integration.

description 

  • Type: string
  • Required: No
  • Description: Description of the external service provider.

documentationUrl 

  • Type: string
  • Required: No
  • Description: Link to documentation for the registered external service.

extensionPointName 

  • Type: ExtensionPointName (enumeration of type string)
  • Required: No
  • Introduced: API version 55.0
  • Description: Name of an extension point.

externalServiceProvider 

  • Type: string

  • Required: Yes

  • Description: Required. The ID of an Apex class functioning as a provider. The Apex class can either implement one of the following interfaces:

    • sfdc_checkout.CartInventoryValidation
    • sfdc_checkout.CartPriceCalculations
    • sfdc_checkout.CartShippingCharges
    • sfdc_checkout.CartTaxCalculations

    or the Apex class can extend one of the base classes for an extension. See Available Extensions.

externalServiceProviderType 

  • Type: RegistryProviderType (enumeration of type string)
  • Required: Yes
  • Description: Required. The type of external service provider. For an extension, you set the type to Extension, and you specify an extensionPointName. For example, for a Pricing Cart Calculator extension, you specify Commerce_Domain_Pricing_CartCalculator as the extensionPointName. For an integration, you set the type to one of the other possible values, such as Price, and you omit extensionPointName.

iconUri 

  • Type: string
  • Required: No
  • Description: URI of icon for the extension provider.

isApplication 

  • Type: boolean
  • Required: No
  • Description: Indicates if the extension provider is contained within a managed package.

isProtected 

  • Type: boolean
  • Required: No
  • Description: An auto-generated value that doesn’t impact the behavior of the metadata type.

masterLabel 

  • Type: string
  • Required: Yes
  • Description: Required. The primary label for the RegisteredExternalService.

Declarative Metadata Sample Definition 

The following is an example of a RegisteredExternalService component.

1<?xml version="1.0" encoding="UTF-8"?>
2<RegisteredExternalService xmlns="http://soap.sforce.com/2006/04/metadata">
3    <externalServiceProvider>TaxSample</externalServiceProvider>
4    <externalServiceProviderType>Tax</externalServiceProviderType>
5    <documentationUrl>http://sample.com/doc</documentationUrl>
6    <configUrl>http://sample.com/config</configUrl>
7    <masterLabel>TaxService</masterLabel>
8    <isProtected>false</isProtected>
9</RegisteredExternalService>

The following is an example package.xml that references the previous definition.

1<Package xmlns="http://soap.sforce.com/2006/04/metadata">
2    <types>
3        <members>TaxSample</members>
4        <name>ApexClass</name>
5    </types>
6    <types>
7        <members>TaxService</members>
8        <name>RegisteredExternalService</name>
9    </types>
10    <version>60.0</version>
11</Package>