Typescript SDK Type Docs
    Preparing search index...

    Module Client v2

    Commercetools Composable Commerce TypeScript SDK client

    <script src="https://unpkg.com/@commercetools/sdk-client-v2@latest/dist/commercetools-sdk-client-v2.umd.js"></script>
    <script src="https://unpkg.com/@commercetools/platform-sdk@latest/dist/commercetools-platform-sdk.umd.js"></script>
    <script>
    // global: @commercetools/sdk-client-v2
    // global: @commercetools/platform-sdk
    ;(function () {
    // We can now access the sdk-client-v2 and platform-sdk object as:
    // const { ClientBuilder } = this['@commercetools/sdk-client-v2']
    // const { createApiBuilderFromCtpClient } = this['@commercetools/platform-sdk']
    // or
    // const { ClientBuilder } = window['@commercetools/sdk-client-v2']
    // const { createApiBuilderFromCtpClient } = window['@commercetools/platform-sdk']
    })()
    </script>

    See full usage example here

    npm install --save @commercetools/sdk-client-v2
    npm install --save @commercetools/platform-sdk
    const {
    ClientBuilder,
    createAuthForClientCredentialsFlow,
    createHttpClient,
    } = require('@commercetools/sdk-client-v2')
    const { createApiBuilderFromCtpClient } = require('@commercetools/platform-sdk')

    const projectKey = 'mc-project-key'
    const authMiddlewareOptions = {
    host: 'https://auth.europe-west1.gcp.commercetools.com',
    projectKey,
    credentials: {
    clientId: 'mc-client-id',
    clientSecret: 'mc-client-secrets',
    },
    oauthUri: '/oauth/token', // - optional: custom oauthUri
    scopes: [`manage_project:${projectKey}`],
    fetch,
    }

    const httpMiddlewareOptions = {
    host: 'https://api.europe-west1.gcp.commercetools.com',
    fetch,
    }

    const client = new ClientBuilder()
    .withProjectKey(projectKey)
    .withMiddleware(createAuthForClientCredentialsFlow(authMiddlewareOptions))
    .withMiddleware(createHttpClient(httpMiddlewareOptions))
    .withUserAgentMiddleware()
    .build()

    // or
    const client = new ClientBuilder()
    .withProjectKey(projectKey)
    .withClientCredentialsFlow(authMiddlewareOptions)
    .withHttpMiddleware(httpMiddlewareOptions)
    .withUserAgentMiddleware()
    .build()

    const apiRoot = createApiBuilderFromCtpClient(client)

    // calling the Composable Commerce functions
    // get project details
    apiRoot
    .withProjectKey({
    projectKey,
    })
    .get()
    .execute()
    .then((x) => {
    /*...*/
    })

    // create a productType
    apiRoot
    .withProjectKey({ projectKey })
    .productTypes()
    .post({
    body: { name: 'product-type-name', description: 'some description' },
    })
    .execute()
    .then((x) => {
    /*...*/
    })

    // create a product
    apiRoot
    .withProjectKey({ projectKey })
    .products()
    .post({
    body: {
    name: { en: 'our-great-product-name' },
    productType: {
    typeId: 'product-type',
    id: 'some-product-type-id',
    },
    slug: { en: 'some-slug' },
    },
    })
    .execute()
    .then((x) => {
    /*...*/
    })

    // -----------------------------------------------------------------------
    // The sdk-client-v2 also has support for the old syntax
    import {
    createClient,
    createHttpClient,
    createAuthForClientCredentialsFlow,
    } from '@commercetools/sdk-client-v2'
    import { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk'

    const projectKey = 'some_project_key'

    const authMiddleware = createAuthForClientCredentialsFlow({
    host: 'https://auth.europe-west1.gcp.commercetools.com',
    projectKey,
    credentials: {
    clientId: 'some_id',
    clientSecret: 'some_secret',
    },
    fetch,
    })

    const httpMiddleware = createHttpClient({
    host: 'https://api.europe-west1.gcp.commercetools.com',
    fetch,
    })

    const ctpClient = createClient({
    middlewares: [authMiddleware, httpMiddleware],
    })

    const apiRoot = createApiBuilderFromCtpClient(ctpClient)

    apiRoot
    .withProjectKey({
    projectKey,
    })
    .get()
    .execute()
    .then((x) => {
    /*...*/
    })

    apiRoot
    .withProjectKey({ projectKey })
    .productTypes()
    .post({
    body: { name: 'product-type-name', description: 'some description' },
    })
    .execute()
    .then((x) => {
    /*...*/
    })

    apiRoot
    .withProjectKey({ projectKey })
    .products()
    .post({
    body: {
    name: { en: 'our-great-product-name' },
    productType: {
    typeId: 'product-type',
    id: 'some-product-type-id',
    },
    slug: { en: 'some-slug' },
    },
    })
    .execute()
    .then((x) => {
    /*...*/
    })

    See full usage example here

    Classes

    ClientBuilder

    Interfaces

    ClientRequest

    Type Aliases

    ActionGroup
    AfterExecutionMiddlewareOptions
    AnonymousAuthMiddlewareOptions
    ApiRequestBuilder
    AuthMiddlewareBaseOptions
    AuthMiddlewareOptions
    AuthOptions
    AuthRequest
    BeforeExecutionMiddlewareOptions
    Client
    ClientAuthOptions
    ClientOptions
    ClientResponse
    ClientResult
    CorrelationIdMiddlewareOptions
    Credentials
    CustomAuthOptions
    Dispatch
    executeRequest
    executeRequestOptions
    ExistingTokenMiddlewareOptions
    GenericOmit
    HttpErrorType
    HttpMiddlewareOptions
    HttpUserAgentOptions
    JsonObject
    LoggerMiddlewareOptions
    MethodType
    Middleware
    MiddlewareRequest
    MiddlewareResponse
    Next
    Nullable
    PasswordAuthMiddlewareOptions
    ProcessFn
    ProcessOptions
    ProcessResult
    QueryParam
    QueueMiddlewareOptions
    RefreshAuthMiddlewareOptions
    requestBaseOptions
    RequestOptions
    RequestState
    RequestStateStore
    ServiceBuilder
    ServiceBuilderDefaultParams
    ServiceBuilderDefinition
    ServiceBuilderInstance
    ServiceBuilderParams
    SuccessResult
    SyncAction
    SyncActionConfig
    Task
    TelemetryOptions
    TokenCache
    TokenCacheOptions
    TokenInfo
    TokenStore
    UpdateAction
    UserAgentMiddlewareOptions
    UserAuthOptions
    ValiadateOption
    VariableMap

    Functions

    createAuthForAnonymousSessionFlow
    createAuthForClientCredentialsFlow
    createAuthForPasswordFlow
    createAuthForRefreshTokenFlow
    createAuthWithExistingToken
    createClient
    createCorrelationIdMiddleware
    createHttpClient
    createLoggerMiddleware
    createQueueMiddleware
    createUserAgentMiddleware
    getErrorByCode
    Process