likes
comments
collection
share

SAP Spartacus 和 CDC 集成的 HTTP 请求明细

作者站长头像
站长
· 阅读数 34

首先一个 account login 请求:

SAP Spartacus 和 CDC 集成的 HTTP 请求明细

url:https://accounts.eu1.gigya.co...

直接访问的话,会报错误消息:缺少 API Key:

SAP Spartacus 和 CDC 集成的 HTTP 请求明细

每刷新一次浏览器,callId 会变化一次。

response:SAP Spartacus 和 CDC 集成的 HTTP 请求明细

token 请求的负载:

SAP Spartacus 和 CDC 集成的 HTTP 请求明细

成功取得 Access Token:

SAP Spartacus 和 CDC 集成的 HTTP 请求明细

HTTP post:SAP Spartacus 和 CDC 集成的 HTTP 请求明细

请求的 payload:SAP Spartacus 和 CDC 集成的 HTTP 请求明细

SAP Spartacus 和 CDC 集成的 HTTP 请求明细

成功返回的数据:SAP Spartacus 和 CDC 集成的 HTTP 请求明细

Spartacus 和 CDC 的集成配置步骤

通过在店面应用程序的根目录中运行以下命令来安装 SAP Customer Data Cloud 集成库:

ng add @spartacus/cdc

当您运行此命令时,Angular Schematics 会为 CDC 集成创建一个模块,其中包括所有必需的导入和配置。

注意:要使用原理图安装 CDC 集成库,您的应用程序结构需要匹配 Spartacus 参考应用程序结构。

或者,您可以手动创建模块并将其导入您的应用程序,如以下示例所示:

import { NgModule } from '@angular/core';
import { CdcConfig, CdcRootModule, CDC_FEATURE } from '@spartacus/cdc/root';
import { provideConfig } from '@spartacus/core';

@NgModule({
  declarations: [],
  imports: [CdcRootModule],
  providers: [
    provideConfig({
      featureModules: {
        [CDC_FEATURE]: {
          module: () => import('@spartacus/cdc').then((m) => m.CdcModule),
        },
      },
    }),
    provideConfig(<CdcConfig>{
      cdc: [
        {
          baseSite: 'electronics-spa',
          javascriptUrl: '<paste-link-to-cdc-script>',
          sessionExpiration: 3600,
        },
      ],
    }),
  ],
})
export class CdcFeatureModule {}

调整新建模块中的CDC配置,如下例所示:

provideConfig(<CdcConfig>{
      [CDC_FEATURE]: [
        {
          baseSite: 'electronics-spa',
          javascriptUrl: 'https://cdns.<data-center>.gigya.com/JS/gigya.js?apikey=<Site-API-Key>',
          sessionExpiration: 3600,
        },
      ],
    }),

参数说明

以下是 CDC 配置中可用选项的摘要:

  • baseSite 是指应应用客户数据云站点配置的 CMS 站点。 SAP Commerce Cloud Backoffice 中也应配置相同的内容。
  • javascriptUrl 指定您希望加载的 Web SDK 的 URL。 这是使用站点 API 密钥的值和创建客户数据云站点的数据中心构建的。 例如,https://cdns.<data-center>.gigya.com/JS/gigya.js?apikey=<Site-API-Key>
  • sessionExpiration 是定义 SAP Customer Data Cloud 会话的会话到期的时间(以秒为单位)。 这应该与 OAuth 客户端的会话到期时间相匹配,以确保 Customer Data Cloud 会话和 SAP Commerce Cloud 令牌同时存在。