DOCS

顧客プロファイル

顧客プロファイル

Zonos Checkout に定期的なショッパー情報を事前に入力します。

顧客プロファイルは、アカウントを持つ顧客が住所と支払いの詳細を事前に入力できるようにすることで、checkout エクスペリエンスを効率化します。

この機能は現在カスタムAPI統合 のみで利用可能です。この機能は、Checkout プラグインを使用している商人にはまだ利用できません。

1

認証された顧客情報の送信

顧客プロファイルを認証するには、バックエンドサーバーが2つの独立したAPIコールを行う必要があります。パフォーマンス向上のために、これらを並行して実行することをお勧めします:

  • createCart: Zonos カートを生成します。詳細なガイダンスについては、カスタム統合ドキュメント内の Set up Zonos Checkout セクション を参照してください。

  • checkoutCustomerProfileAuthenticate: 顧客の情報を送信し、検証します。

Mutation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mutation checkoutCustomerProfileAuthenticate(
    $input: CheckoutCustomerProfileAuthenticateInput!
  ) {
  checkoutCustomerProfileAuthenticate(input: $input) {
    email
    customerId
    organizationId
    name
    phone
    locations {
      administrativeArea
      countryCode
      locality
      line1
      line2
      postalCode
    }
    oneTimePassword
  }
}

変数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
	"input": {
		"email": "test@zonos.com",
		"locations": [
			{
				"administrativeArea": "BC",
				"countryCode": "CA",
				"line1": "411-1033 Davie Street",
				"line2": "123 testAddress2",
				"locality": "Vancouver",
				"name": "TestCanada TestCanada",
				"postalCode": "V6E1M7"
			},
			{
				"administrativeArea": "UT",
				"countryCode": "US",
				"line1": "411-1033 Davie Street",
				"line2": "123 testAddress2",
				"locality": "Saint George",
				"name": "TestUS TestLastName",
				"postalCode": "84770"
			}
		],
		"customerId": "1234567",
		"name": "testFirstName1 testLastName",
		"phone": "7022920000"
	}
}

顧客セッションを検証する際には、リクエストで渡す customerId が正しいプロファイルと一致していることを確認し、checkout で正確な顧客情報を表示できるようにしてください。カートを作成する際には、customerId をメタデータに含めないようにしてください。これは上書きされるためです。

顧客が認証され、注文が行われると、order.referencescustomerId が利用可能になり、注文クエリを介して注文の詳細を取得する際に、正しい顧客と注文を関連付けることができます。

2

顧客プロファイルでカートを作成

両方のミューテーションを呼び出すと、次のものが返されます:

  • カートを生成するための createCart ミューテーションからの cartId

  • 顧客認証のための checkoutCustomerProfileAuthenticate ミューテーションからの oneTimePassword

これらの値を Zonos.init 関数の createCartId コールバックに渡すことで、Checkout に提供された顧客プロファイル情報をロードできます。

Zonos.init

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Zonos.init({
  ...
  checkoutSettings: {
    ...
    createCartId: async () => {
      const result = await fetch(
        'https://api.merchant.com/api/get-cart-info',
        {
          body: JSON.stringify(payload),
          method: 'POST',
        },
      );
      const json =
        await result.json();
      return {
        cartId: json.cartId,
        customerAuthenticationToken:
          json.customerProfileAuthenticate
            ?.checkoutCustomerProfileAuthenticate.oneTimePassword ||
          '',
      };
    }
  },
}
3

顧客プロファイルの管理

顧客情報を初めて提出すると、Zonos は提供された顧客情報を保存します。支払い方法はStripeに安全に保存されます。新しい住所や支払い方法の詳細が渡されるたびに、それらは顧客のプロファイルに追加されます。

現在、顧客プロファイルは追加情報でのみ更新可能であり、既存の詳細は編集または削除できません。

このページは役に立ちましたか?


このページには: