Grant a client access to a default collection of B2C Commerce endpoints by assigning the preconfigured sfcc.shopper-standard scope. This scope aggregates a commonly required set of over 15 scopes. By reducing the number of scopes assigned to the client, using the sfcc.shopper-standard scope significantly reduces the size of the JSON Web Token (JWT) issued by SLAS.
Configure scopes for a SLAS client by using either the SLAS Admin UI or the SLAS Admin API. To use the SLAS Admin UI, see SLAS Admin UI: Create a SLAS Client. To use the SLAS Admin API, see Advanced: SLAS Admin API.
Included Scopes
Before you assign the sfcc.shopper-standard scope, review this table to understand which scopes are included in the aggregated set. The set of included scopes can't be modified. If you assign sfcc.shopper-standard, the client has access to each scope and its endpoints.
| Scope | Endpoints |
|---|---|
sfcc.shopper-baskets-orders.rw |
POST /baskets (createBasket)<br>POST /baskets/actions/transfer (transferBasket)<br>POST /baskets/actions/merge (mergeBasket)<br>GET /baskets/{basketId} (getBasket)<br>DELETE /baskets/{basketId} (deleteBasket)<br>PATCH /baskets/{basketId} (updateBasket)<br>POST /baskets/{basketId}/actions/promote (promoteTemporaryBasket)<br>PUT /baskets/{basketId}/agent (updateAsAgentBasket)<br>PUT /baskets/{basketId}/billing-address (updateBillingAddressForBasket)<br>POST /baskets/{basketId}/coupons (addCouponToBasket)<br>DELETE /baskets/{basketId}/coupons/{couponItemId} (removeCouponFromBasket)<br>PUT /baskets/{basketId}/customer (updateCustomerForBasket)<br>POST /baskets/{basketId}/gift-certificate-items (addGiftCertificateItemToBasket)<br>DELETE /baskets/{basketId}/gift-certificate-items/{giftCertificateItemId} (removeGiftCertificateItemFromBasket)<br>PATCH /baskets/{basketId}/gift-certificate-items/{giftCertificateItemId} (updateGiftCertificateItemInBasket)<br>POST /baskets/{basketId}/items (addItemToBasket)<br>PATCH /baskets/{basketId}/items (updateItemsInBasket)<br>DELETE /baskets/{basketId}/items/{itemId} (removeItemFromBasket)<br>PATCH /baskets/{basketId}/items/{itemId} (updateItemInBasket)<br>PUT /baskets/{basketId}/items/{itemId}/taxes (addTaxesForBasketItem)<br>POST /baskets/{basketId}/payment-instruments (addPaymentInstrumentToBasket)<br>DELETE /baskets/{basketId}/payment-instruments/{paymentInstrumentId} (removePaymentInstrumentFromBasket)<br>PATCH /baskets/{basketId}/payment-instruments/{paymentInstrumentId} (updatePaymentInstrumentInBasket)<br>GET /baskets/{basketId}/payment-methods (getPaymentMethodsForBasket)<br>POST /baskets/{basketId}/price-adjustments (addPriceAdjustmentToBasket)<br>DELETE /baskets/{basketId}/price-adjustments/{priceAdjustmentId} (removePriceAdjustmentFromBasket)<br>PATCH /baskets/{basketId}/price-adjustments/{priceAdjustmentId} (updatePriceAdjustmentInBasket)<br>GET /baskets/{basketId}/price-books (getPriceBooksForBasket)<br>PUT /baskets/{basketId}/price-books (addPriceBooksToBasket)<br>POST /baskets/{basketId}/shipments (createShipmentForBasket)<br>DELETE /baskets/{basketId}/shipments/{shipmentId} (removeShipmentFromBasket)<br>PATCH /baskets/{basketId}/shipments/{shipmentId} (updateShipmentForBasket)<br>PUT /baskets/{basketId}/shipments/{shipmentId}/shipping-address (updateShippingAddressForShipment)<br>PUT /baskets/{basketId}/shipments/{shipmentId}/shipping-method (updateShippingMethodForShipment)<br>GET /baskets/{basketId}/shipments/{shipmentId}/shipping-methods (getShippingMethodsForShipment)<br>PUT /baskets/{basketId}/storefront (updateAsStorefrontBasket)<br>GET /baskets/{basketId}/taxes (getTaxesFromBasket)<br>PUT /baskets/{basketId}/taxes (addTaxesForBasket)<br>POST /orders (createOrder)<br>GET /orders/oms-meta-data (getOmsMetaData)<br>GET /orders/{orderNo} (getOrder)<br>POST /orders/{orderNo}/lookup (guestOrderLookup)<br>POST /orders/{orderNo}/actions/fail (failOrder)<br>POST /orders/{orderNo}/actions/oms-cancel-order (cancelOmsOrder)<br>POST /orders/{orderNo}/actions/oms-return-order (returnOmsOrder)<br>POST /orders/{orderNo}/payment-instruments (createPaymentInstrumentForOrder)<br>DELETE /orders/{orderNo}/payment-instruments/{paymentInstrumentId} (removePaymentInstrumentFromOrder)<br>PATCH /orders/{orderNo}/payment-instruments/{paymentInstrumentId} (updatePaymentInstrumentForOrder)<br>GET /orders/{orderNo}/payment-methods (getPaymentMethodsForOrder)<br>GET /orders/{orderNo}/taxes (getTaxesFromOrder)<br>GET /payment-configuration (getPaymentConfiguration)<br>POST /payment-instruments/balance (getPaymentInstrumentBalance) |
sfcc.shopper-categories |
GET /categories (getCategories)<br>GET /categories/{id} (getCategory) |
sfcc.shopper-customers.login |
POST /customers/password/actions/reset (resetPassword)<br>POST /customers/password/actions/create-reset-token (getResetPasswordToken)<br>GET /customers/external-profile (getExternalProfile)<br>PUT /customers/{customerId}/password (updateCustomerPassword) |
sfcc.shopper-customers.register |
POST /customers (registerCustomer)<br>POST /customers/external-profile (registerExternalProfile) |
sfcc.shopper-gift-certificates |
POST /gift-certificate (getGiftCertificate) |
sfcc.shopper-myaccount.addresses.rw |
GET /customers/{customerId}/addresses/{addressName} (getCustomerAddress)<br>POST /customers/{customerId}/addresses (createCustomerAddress)<br>DELETE /customers/{customerId}/addresses/{addressName} (removeCustomerAddress)<br>PATCH /customers/{customerId}/addresses/{addressName} (updateCustomerAddress) |
sfcc.shopper-myaccount.baskets |
GET /customers/{customerId}/baskets (getCustomerBaskets) |
sfcc.shopper-myaccount.orders |
GET /customers/{customerId}/orders (getCustomerOrders) |
sfcc.shopper-myaccount.paymentinstruments.rw |
POST /customers/{customerId}/payment-instruments (createCustomerPaymentInstrument)<br>GET /customers/{customerId}/payment-instruments/{paymentInstrumentId} (getCustomerPaymentInstrument)<br>DELETE /customers/{customerId}/payment-instruments/{paymentInstrumentId} (deleteCustomerPaymentInstrument)<br>PATCH /customers/{customerId}/payment-instruments/{paymentInstrumentId} (updateCustomerPaymentInstrument)<br>DELETE /customers/{customerId}/payment-method-references/{paymentMethodReferenceId} (deleteCustomerPaymentMethodReference)<br>POST /customers/{customerId}/payment-method-references/actions/setup (setupCustomerPaymentMethodReference) |
sfcc.shopper-myaccount.productlists.rw |
GET /customers/{customerId}/product-lists (getCustomerProductLists)<br>POST /customers/{customerId}/product-lists (createCustomerProductList)<br>GET /customers/{customerId}/product-lists/{listId} (getCustomerProductList)<br>DELETE /customers/{customerId}/product-lists/{listId} (deleteCustomerProductList)<br>PATCH /customers/{customerId}/product-lists/{listId} (updateCustomerProductList)<br>POST /customers/{customerId}/product-lists/{listId}/items (createCustomerProductListItem)<br>GET /customers/{customerId}/product-lists/{listId}/items/{itemId} (getCustomerProductListItem)<br>DELETE /customers/{customerId}/product-lists/{listId}/items/{itemId} (deleteCustomerProductListItem)<br>PATCH /customers/{customerId}/product-lists/{listId}/items/{itemId} (updateCustomerProductListItem) |
sfcc.shopper-myaccount.rw |
GET /customers/{customerId} (getCustomer)<br>PATCH /customers/{customerId} (updateCustomer) |
sfcc.shopper-configurations |
GET /configurations (getConfigurations) |
sfcc.shopper-product-search |
GET /product-search (productSearch)<br>GET /search-suggestions (getSearchSuggestions) |
sfcc.shopper-productlists |
GET /product-lists (getPublicProductListsBySearchTerm)<br>GET /product-lists/{listId} (getPublicProductList)<br>GET /product-lists/{listId}/items (getPublicProductListItems)<br>GET /product-lists/{listId}/items/{itemId} (getProductListItem) |
sfcc.shopper-products |
GET /products (getProducts)<br>GET /products/{id} (getProduct) |
sfcc.shopper-promotions |
GET /promotions (getPromotions)<br>GET /promotions/campaigns/{campaignId} (getPromotionsForCampaign) |
sfcc.shopper-stores |
GET /stores (getStores)<br>GET /store-search (searchStores) |
sfcc.shopper-experience |
GET /pages (getPages)<br>GET /pages/{pageId} (getPage)<br>GET /components/{componentId} (getComponent) |
sfcc.shopper-delivery-estimates |
GET /delivery-estimates (getDeliveryEstimates) |
sfcc.shopper-availability |
GET /availability (getAvailability) |
Adding Additional Scopes
To add additional scopes beyond those included in sfcc.shopper-standard, append them to the client’s scopes list. For example, this scopes list specifies a client with all the scopes from sfcc.shopper-standard plus sfcc.pwdless_login.
sfcc.shopper-standard sfcc.pwdless_login
For more information on specific scopes, see Authorization Scopes Catalog.
When Not to Use sfcc.shopper-standard
Don’t use sfcc.shopper-standard if it contains any scopes that you don’t want assigned to the client. It isn’t possible to customize the set of scopes included in sfcc.shopper-standard. Instead, you must explicitly list each scope that you want. For example, here’s the scopes list for a client with all the scopes from sfcc.shopper-standard except for the myaccount scopes.
sfcc.shopper-baskets-orders.rw sfcc.shopper-categories sfcc.shopper-customers.login sfcc.shopper-customers.register sfcc.shopper-gift-certificates sfcc.shopper-configurations sfcc.shopper-product-search sfcc.shopper-productlists sfcc.shopper-products sfcc.shopper-promotions sfcc.shopper-stores