Docs
  • App Manager
    • Content
      • App Stories
        • Content Types
          • Image Story Cards
          • Interactive Elements
          • Product Story Cards
          • Video Story Cards
        • Creating Stories
          • Story Configuration
          • Story Creation Workflow
        • Stories Interface
          • Published & Draft Views
      • Dynamic Content
        • Dynamic Content Builder
        • Dynamic Content Editions
      • Home Screen Banners
        • Banner Interface
          • Previewing & Filtering
          • Published, Draft & History
        • Banner Management
          • Import & Export
        • Banner Types
          • Bazaarvoice UGC
          • Image/GIF Banners
          • In-Store Banners
          • Product Carousel Banners
          • Video Banners
      • Launch Pages
        • Force Update
        • Maintenance Screen
        • Onboarding
      • Lookbooks & Hotspots
    • Build
      • App styler: Configure the design of your app
        • Foundation elements
        • Publish your app's new theme
        • Components
          • Buttons
          • Navigation Bar
          • Search Bar
          • Tab Bar
          • Toolbar
      • Category Manager: Update the hierarchy of your store
    • Marketing
      • App Manager Push Notifications
      • Deep Link Generator
    • Frequently asked questions
  • Developers
    • Android SDK
      • Get Started
      • Common patterns
        • Custom Data
        • Custom Data v2
        • Decorator
        • Dependency injection with Koin
        • Gradle version catalog
        • Jetpack Compose
        • Modify navigation
        • Poq Settings
        • Replace views
        • Request location permission
      • Poq UI components
        • Composables
          • DropdownTextField
          • EmptyScreen
          • ErrorScreen
          • ExpandableText
          • InStoreAvailabilityStockText
          • InfiniteHorizontalPagerIndicator
          • ListItemOneLineWithIcon
          • LoadingShimmer
          • PoqBarcode
          • PoqButtons
          • PoqDialog
          • PoqHorizontalPagerIndicator
          • PoqImage
          • PoqPasswordTextField
          • PoqPullToRefresh
          • PoqRadioButton
          • PoqRating
          • PoqSnackbar
          • PoqTabRow
          • PoqTextField
          • PoqTopAppBar
          • Price
          • ProductCardHorizontal
          • ProductCardVertical
          • ProductImage
          • ProductTitle
          • PromotionBar
          • SelectableRatingBar
          • SelectableRatingRow
          • SelectedFormsText
          • StockText
          • TextWithLinks
          • UpdateScreen
        • Views
          • AddToCartButton
          • AddToCartWithQuantityPickerView
          • AddToWishlistView
          • CustomDialog
          • CustomSnackBar
          • EmptyScreen
          • ErrorScreen
          • InputFormFields
            • InputFormTextInputLayout
            • InputFormAutocompleteTextInputLayout
            • DateOfBirthTextInputLayout
            • EmailTextInputLayout
            • GenderPickerTextInputLayout
            • PasswordTextInputLayout
            • RetypePasswordInputFormView
          • PriceView
          • ProductCardShimmerView
          • ProductCardView
          • ProductCarouselView
          • ProductDetailCarouselView
          • ProductImageView
          • ScalableImageView
          • TextLink
          • UpdateScreen
          • UrlProductCarouselView
          • VideoView
          • WebViewLayout
      • Features
        • Account
          • Component module
          • Customisations
          • Feature module
          • Login
            • Feature module
          • Login Gate
            • Feature module
            • Login Gate Handler
          • Shopify Customer Account
            • Component module
            • Feature module
        • Addresses
          • Common customisations
          • Component module
          • Feature module
        • Analytics layer
        • App Updates
          • App Update Handler
          • Component module
          • Feature module
        • App styling
        • Barcode scanner
          • Component module
          • Customisations
          • Feature module
        • Cart
          • Component module
          • Customisations
          • Feature module
        • Categories
          • Component module
          • Custom data
          • Feature module
        • Dynamic content
          • Common customisations
          • Component module
          • Feature module
        • Form selection
          • Component module
          • Customisations
          • Feature module
        • Home
          • Component module
          • Platform module
        • Launch pages
          • Component module
          • Feature module
        • Links
          • Component module
          • Feature module
          • Guides and customisations
        • Loyalty
          • Component module
          • Customisations
          • Feature module
        • Message Inbox
          • Component module
          • Feature module
        • Native Checkout
          • Adyen
          • Braintree
          • Common customisations
          • Component module
          • Feature module
        • Notifications
        • Notify Me
          • Component module
          • Feature module
        • Order History
          • Component module
          • Feature module
        • Pagination
        • Product details
          • Custom data
          • Feature module
          • Product detail component module
        • Product list
          • Component module
          • Customisations
          • Feature module
        • Product reviews
          • Component module
          • Feature module
        • Recently viewed
        • Search
          • Common customisations
          • Component module
          • Feature module
        • Stores
          • Bopis
          • Bopis multishipment
            • Feature module
          • Component module
          • In store mode
            • Feature module
            • Geofence module
          • Store availability
            • Feature module
          • Store finder
            • Feature module
        • Swipe to like
          • Component module
          • Feature module
        • User generated content
          • Component module
          • Feature module
        • WebCheckout
          • Component module
          • Customisations
          • Feature module
        • WebView
          • Feature module
        • Wishlist
          • Component module
          • Feature module
        • Wishlist V3
          • Component module
          • Custom data
          • Feature module
      • Integrations
        • Adobe analytics
        • Airship
        • AppsFlyer
        • Bambuser
        • Bloomreach
        • Contentsquare and Heap
        • DataDome
        • Dynamic Yield
        • Emarsys
        • Facebook analytics
        • Firebase analytics
        • Firebase crashlytics
        • Firebase dynamic links
        • Google analytics
        • OneTrust
        • PayPal
        • Salesforce marketing cloud
        • Shopify web checkout
      • Architecture overview
        • Versions
        • Architecture
        • Modules structure
        • Country config
        • User
        • Error handling
        • Navigation
    • iOS SDK
      • Get Started
        • Manual Setup
        • App Styling
          • Apply app styling to a custom view
        • Dependencies
      • Architecture
        • Layers
          • Data Layer
          • Domain Layer
          • Presentation Layer
            • View Data
        • Concurrency
        • Containers
        • Developer Mode
        • Environments
          • Config File
          • Current Config
        • Navigation & Routing
        • Networking
        • Persistence
        • Redux
      • Features
        • Account
          • Authentication
          • Content
          • Login
          • Login Gate
          • Profile
          • Register
        • Account Loyalty
          • Loyalty Activities
          • Loyalty Rewards
        • Address Book
        • Cart
          • Cart Widget
        • Categories
        • Checkout
        • Dynamic Content
        • Environment Switcher
        • Home
        • Launch Pages
        • Message Inbox
          • Inbox
          • Inbox Details
        • Orders
          • Order Details
          • Order History
        • Product Details
        • Product List
          • Filters
          • Product Listing
        • Product Reviews
          • Review List
          • Write Review
        • Product Variant Selector
        • Search
        • Stores
          • In-Store Mode
          • Store Details
          • Store Finder
        • Swipe to Like
        • User Content
          • User Content Carousel
          • User Content Details
          • User Content Report
        • Web Checkout
          • Communication
        • Wishlist
      • Integrations
        • Adyen
        • Airship
        • AppsFlyer
        • Braintree
        • DataDome
        • Dynamic Yield
        • Emarsys
        • Facebook
        • Firebase
      • Tooling
        • Setup
        • CI/CD
          • Azure DevOps
    • Backend SDK
      • Overview
        • App Request Processing
        • BFC - Backend for client
          • What is BFC?
          • How is the BFC API hosted?
          • What interface does BFC API expose?
          • What is inside the BFC API?
          • BFC API Template
          • Types of unit tests in BFC API
          • Best practices for BFC API design
      • SDKs
        • .Net SDKs
          • Sfcc SDK
            • BFC Adapter
            • Integration with BFC
              • Search Service (aka PLP)
              • Cart Service
              • Product Service (aka PDP)
            • Ocapi
              • Client Extensions
          • Shopify SDK
            • Shopify Api Clients
            • Shopify Sdk Services
              • Checkout Service
              • Converters
              • ProductService
              • SearchService
              • Cart Service
          • Algolia SDK
          • BigCommerce SDK
            • BigCommerce Api Clients
            • BigCommerce Sdk Services
          • Magento SDK
            • Magento Api Clients
            • Magento Sdk Services
        • NodeJS SDK
          • Guides
            • Create your first BFC
            • Examples
              • Enrich contracts with custom data
              • Introduce a new route and custom contract
          • SDK Overview
            • Core SDK
            • SDK SFCC
            • Proxy Middleware
            • NestJS Proxy
            • Transformer
      • API and Packages reference
        • .Net
      • How To
        • How to generate BFC API from Template
        • How to configure and run BFC API locally
        • How to connect an App to BFC API running locally
        • How to add customisations for the BFC API
          • High Level customisation example
          • Custom Sub service customisation example
        • How to setup an infrastructure and routing for each environment
          • Development Infrastructure
          • Development Routing
          • Staging Infrastructure
          • Staging Routing
          • Production Infrastructure
          • Production Routing
        • How to configure CI/CD and Release API to each environment
          • Build configuration
          • Release configuration
            • Development release
            • Staging release
            • Production release
        • How to remember all the setup steps
    • Backend SDK
      • Overview
        • App Request Processing
        • BFC - Backend for client
          • What is BFC?
          • How is the BFC API hosted?
          • What interface does BFC API expose?
          • What is inside the BFC API?
          • BFC API Template
          • Types of unit tests in BFC API
          • Best practices for BFC API design
      • SDKs
        • .Net SDKs
          • Sfcc SDK
            • BFC Adapter
            • Integration with BFC
              • Search Service (aka PLP)
              • Cart Service
              • Product Service (aka PDP)
            • Ocapi
              • Client Extensions
          • Shopify SDK
            • Shopify Api Clients
            • Shopify Sdk Services
              • Checkout Service
              • Converters
              • ProductService
              • SearchService
              • Cart Service
          • Algolia SDK
          • BigCommerce SDK
            • BigCommerce Api Clients
            • BigCommerce Sdk Services
          • Magento SDK
            • Magento Api Clients
            • Magento Sdk Services
        • NodeJS SDK
          • Guides
            • Create your first BFC
            • Examples
              • Enrich contracts with custom data
              • Introduce a new route and custom contract
          • SDK Overview
            • Core SDK
            • SDK SFCC
            • Proxy Middleware
            • NestJS Proxy
            • Transformer
      • API and Packages reference
        • .Net
      • How To
        • How to generate BFC API from Template
        • How to configure and run BFC API locally
        • How to connect an App to BFC API running locally
        • How to add customisations for the BFC API
          • High Level customisation example
          • Custom Sub service customisation example
        • How to setup an infrastructure and routing for each environment
          • Development Infrastructure
          • Development Routing
          • Staging Infrastructure
          • Staging Routing
          • Production Infrastructure
          • Production Routing
        • How to configure CI/CD and Release API to each environment
          • Build configuration
          • Release configuration
            • Development release
            • Staging release
            • Production release
        • How to remember all the setup steps
    • Extensions
      • Cart extensions
      • Product extension
      • Wishlist extensions
  • Ecosystem
    • Airship
      • Events
    • AppsFlyer
      • Account Setup
      • Events
      • OneLink Guide
    • DataDome
    • Dynamic Yield
    • Emarsys
      • Events
    • Facebook
      • Events
    • Firebase
      • Events
  • App Marketing
    • App Asset Launch Guide
    • App store optimisation for e-commerce
    • Apple Developer Program: Organization Enrollment & App Submission Guide
    • Deep links
    • Drive installs from mobile web and other channels
    • Dynamic Links
    • Email marketing
    • Examples of homepage promotional banners
    • Facebook Mobile App Install Ads
    • Google Play Developer Program: Organization Enrollment & App Submission Guide
    • How to dispute or reply to app reviews
    • Promoting Apps With Smart App Banners
    • Why has my app been removed from the app store?
  • Support
    • Poq Platform
      • Analytics
      • Monitoring
      • Platform releases
      • Poq App Information Security
    • Changes made to the website are not reflecting in app
    • GDPR
    • How to raise an issue with support
    • I scheduled a push notification, why did no one receive it?
    • My Apple membership has expired, how do I renew?
    • Preparing for peak trading, bank holidays and deployment freezes in 2025
    • Product images not in the correct order
    • Ticket Escalation Process
    • Ticket prioritisation: explanations And examples
    • Why are out-of-stock products appearing in app?
    • Why is a product not appearing in the app but it is in the feed?
Help
  1. developers
  2. /
  3. dotnet
  4. /
  5. overview
  6. /
  7. Backend for client

BFC - Backend for client

  • What is BFC?
  • How is BFC API hosted?
  • What interface does BFC API expose?
  • What is inside the BFC API?
  • BFC API Template
  • Types of unit tests in BFC API
  • BFC Design Best Practices
Contents
App Manager
Developers
Ecosystem
App Marketing
Support