4.0.0 • Published 7 months ago
@commercetools/ml-sdk v4.0.0
Typescript SDK for commercetools Composable Commerce Machine Learning API
Usage examples
Browser environment
<script src="https://unpkg.com/@commercetools/sdk-client-v2@latest/dist/commercetools-sdk-client-v2.umd.js"></script>
<script src="https://unpkg.com/@commercetools/ml-sdk@latest/dist/commercetools-ml-sdk.umd.js"></script>
<script>
// global: @commercetools/sdk-client-v2
// global: @commercetools/ml-sdk
;(function () {
// We can now access the sdk-client-v2 and ml-sdk object as:
// const { ClientBuilder } = this['@commercetools/sdk-client-v2']
// const { createApiBuilderFromCtpClient } = this['@commercetools/ml-sdk']
// or
// const { ClientBuilder } = window['@commercetools/sdk-client-v2']
// const { createApiBuilderFromCtpClient } = window['@commercetools/ml-sdk']
})()
</script>
Node environment
npm install --save @commercetools/sdk-client-v2
npm install --save @commercetools/ml-sdk
const {
ClientBuilder,
createAuthForClientCredentialsFlow,
createHttpClient,
} = require('@commercetools/sdk-client-v2')
import { createApiBuilderFromCtpClient } from '@commercetools/ml-sdk'
const fetch = require('node-fetch')
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://ml-eu.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 ml-sdk functions
// get project details
apiRoot
.withProjectKey({ projectKey })
.recommendations()
.projectCategories()
.withProductId({
productId: product.id,
})
.get()
.execute()
.then((x) => {
/*...*/
})
apiRoot
.withProjectKey({ projectKey })
.imageSearch()
.post({
queryArgs: {
limit: 20,
},
body: image,
headers: {
'Content-Type': 'image/jpeg',
},
})
.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/ml-sdk')
import fetch from 'node-fetch'
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://ml-eu.europe-west1.gcp.commercetools.com',
fetch,
})
const ctpClient = createClient({
middlewares: [authMiddleware, httpMiddleware],
})
const apiRoot = createApiBuilderFromCtpClient(ctpClient)
apiRoot
.withProjectKey({ projectKey })
.recommendations()
.projectCategories()
.withProductId({
productId: product.id,
})
.get()
.execute()
.then((x) => {
/*...*/
})
apiRoot
.withProjectKey({ projectKey })
.imageSearch()
.post({
queryArgs: {
limit: 20,
},
body: image,
headers: {
'Content-Type': 'image/jpeg',
},
})
.execute()
.then((x) => {
/*...*/
})
4.0.0
7 months ago
3.4.1
11 months ago
3.4.0
12 months ago
3.2.1
1 year ago
3.3.0
12 months ago
3.2.0
1 year ago
3.1.0
2 years ago
3.0.0
2 years ago
2.4.2
2 years ago
2.4.1
2 years ago
2.4.0
2 years ago
2.3.0
2 years ago
2.2.0
2 years ago
2.0.2
2 years ago
2.1.0
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago
1.19.0
2 years ago
1.18.1
3 years ago
1.18.0
3 years ago
1.17.1
3 years ago
1.17.0
3 years ago
1.16.0
3 years ago
1.15.0
3 years ago
1.14.0
3 years ago
1.13.0
3 years ago
1.12.0
3 years ago
1.10.0
3 years ago
1.9.1
3 years ago
1.9.0
3 years ago
1.8.1
3 years ago
1.8.0
3 years ago
1.7.0
3 years ago
1.6.1
3 years ago
1.6.0
3 years ago
1.5.0
3 years ago
1.4.1
3 years ago
1.4.0
4 years ago
1.3.0
4 years ago
1.1.0
4 years ago
1.0.0
4 years ago
0.0.10-alpha.0
4 years ago
0.0.9-alpha.0
4 years ago
0.0.8-alpha.0
4 years ago
0.0.7-alpha.0
4 years ago
0.0.6-alpha.0
4 years ago
0.0.5-alpha.0
4 years ago
0.0.4-alpha.0
4 years ago
0.0.3-alpha.0
4 years ago
0.0.2-alpha.0
4 years ago