RegisteredExternalService

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

Parent Type

This type extends the Metadata metadata type and inherits its fullName field.

File Suffix and Directory Location

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

Version

RegisteredExternalService components are available in API version 49.0 and later.

Special Access Rules

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

Fields

Field Name Description
configUrl
Field Type
string
Description
Link to the configuration page for the integration.
description
Field Type
string
Description
Description of the external service provider.
This field is available in API version 59.0 and later.
documentationUrl
Field Type
string
Description
Link to documentation for the registered external service.
extensionPointName
Field Type
ExtensionPointName (enumeration of type string)
Description
This field is available in API version 55.0 and later. Name of an extension point.
Possible values are:
  • Commerce_Domain_Cart_Calculate
  • Commerce_Domain_Checkout_CreateOrder
  • Commerce_Domain_Inventory_CartCalculator
  • Commerce_Domain_Inventory_Service
  • Commerce_Domain_OrderManagement_Product
  • Commerce_Domain_Pricing_CartCalculator
  • Commerce_Domain_Pricing_Service
  • Commerce_Domain_Promotions_CartCalculator
  • Commerce_Domain_Promotions_ShippingCalculator
  • Commerce_Domain_Shipping_CartCalculator
  • Commerce_Domain_Shipping_SplitShipment
  • Commerce_Domain_Tax_CartCalculator
  • Commerce_Domain_Tax_Service
  • Commerce_Endpoint_Account_Address
  • Commerce_Endpoint_Account_Addresses
  • Commerce_Endpoint_Cart_Item—This field value is available in API version 62.0 and later.
  • Commerce_Endpoint_Cart_ItemCollection—This field value is available in API version 62.0 and later.
  • Commerce_Endpoint_Catalog_Product
  • Commerce_Endpoint_Catalog_Products
  • Commerce_Endpoint_Search_ProductSearch
  • Commerce_Endpoint_Search_Products
  • Commerce_Endpoint_Search_ProductsByCategory
externalServiceProvider
Field Type
string
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
Field Type
RegistryProviderType (enumeration of type string)
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.
Possible values are:
  • Extension (this value is available in API version 55.0 and later)
  • Inventory
  • Price
  • Promotions (this value is available in API version 53.0 and later)
  • Shipment
  • Tax
iconUri
Field Type
string
Description
URI of icon for the extension provider.
This field is available in API version 59.0 and later.
isApplication
Field Type
boolean
Description
Indicates if the extension provider is contained within a managed package.
The default value is false.
This field is available in API version 59.0 and later.
isProtected
Field Type
boolean
Description
An auto-generated value that doesn’t impact the behavior of the metadata type.
The default value is false.
masterLabel
Field Type
string
Description

Required. The primary label for the RegisteredExternalService.

Declarative Metadata Sample Definition

The following is an example of a RegisteredExternalService component.

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

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

<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>TaxSample</members>
        <name>ApexClass</name>
    </types>
    <types>
        <members>TaxService</members>
        <name>RegisteredExternalService</name>
    </types>
    <version>60.0</version>
</Package>