---
schema_version: "1"
id: 2ad0ebc29d7918b5ccb5ff514ee91bd7ac63c5ba27bd89cc6c5b5f8bf05089f2
title: RegisteredExternalService
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_registeredexternalservice.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_registeredexternalservice.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 914b1f8d54b758a517304f0b5982e60da85cc0fa3fe989e8aea934549acb9d88
description: Represents a registered external service, which provides an extension or integration.
---
# RegisteredExternalService

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

## Parent Type

This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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\_BuyerGroup\_EvaluationService—Available in API version 65.0 and later.
- 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—Available in API version 62.0 and later.
- Commerce\_Endpoint\_Cart\_ItemCollection—Available in API version 62.0 and later.
- Commerce\_Endpoint\_Catalog\_Product
- Commerce\_Endpoint\_Catalog\_Products
- Commerce\_Endpoint\_Search\_ProductSearch
- Commerce\_Endpoint\_Gift\_Wraps—Available in API version 65.0 and later.
- 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](https://developer.salesforce.com/docs/commerce/salesforce-commerce/guide/available-extensions.html).



 |
| 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\>