1 min read

BigCommerce SDK

The Poq BigCommerce SDK contains clients for BigCommerce API and Poq specific services to speed up integration of BigCommerce in Poq BFC.

List of Features

The Poq BigCommerce SDK provides Contracts, Clients and Services that facilitates integration of the Poq Platform with the BigCommerce API. Here is the list of features by their namespace.

  • Client contains contacts and clients to use BigCommerce API.
  • Services contains Poq specific services.

Limitations

Implementation does not fully cover the entire BigCommerce API. Future development should fill integration gaps.

Extension Points

Future development will add implementations for missing endpoints. New services will be added to speed up development using BigCommerce SDK.

How to develop on top of this solution

In order to use the BigCommerce API directly, developers can use the Client namespace which is organised as follows::

  • Contract
  • Interfaces
  • CartClient
  • CategoryClient
  • CustomerClient
  • ProductClient
  • ProductGraphqlClient
  • SearchGraphqlClient
  • StorefrontClient
  • StorefrontTokenGenerator
  • SubscribersClient
  • WishlistClient

Example Client Usage

Creating an account for user in BigCommerce

var client = new CustomerClient(httpClient, bigCommerceConfiguration);
var result = await client.CreateCustomerAsync<BigCommerceCustomer, BigCommerceCreateCustomerRequest>(
new BigCommerceCreateCustomerRequest()
{
FirstName = "TestFirstName",
LastName = "TestLastName",
Email = "aaa12345678@hot.com",
Authentication = new Authentication()
{
NewPassword = "HiZqFuDvDdQ7",
}
});

Example Service Usage

Loggin user in using AccountService AccountService

var accountService = new AccountService(
new Poq.Client.AccountClient(),
new CartClient(),
new CustomerClient(httpClient, bigcommerceConfiguration),
new BigCommerceAccountMapper(),
new StorefrontTokenGenerator(httpClient, bigcommerceConfiguration),
logger,
bigcommerceConfiguration
new SubcribersClient(httpClient, bigcommerceConfiguration));
var loginResponse = await accountService.LoginAsyncAsync(appIdentifier, guestAccessToken, loginRequst);

Breaking Changes

No breaking changes.