ミニプログラムカスタムパラメータ送信ソリューション説明書

概要

ミニプログラム自体の制限により、現在APIを通じてユーザー情報を取得することはできません。そのため、Udeskではミニプログラムがサポートする session-from パラメータを使用してこの機能を実現しています。 session-from パラメータはミニプログラムで最大1000文字までサポートされています。正常に機能させるためには、このフィールドの長さをできるだけ1000バイト以下に保つようにしてください。 顧客のシステム情報、顧客定義フィールド、業務タイトル、業務カスタムフィールドをサポートしています。

設定方法

  1. 微信ミニプログラムにログインします。URL: https://mp.weixin.qq.com/
  2. 「開発」->「基本設定」に進み、「開発者ID(AppID)」、「開発者パスワード(AppSecret)」を取得します。
  3. udeskにログインし、「管理センター」->「チャネル管理」->「ミニプログラム」->「微信ミニプログラムの接続」に進み、開発者IDと開発者パスワードを入力します。
  4. 生成されたURLアドレスとTokenをミニプログラム管理画面のメッセージプッシュ設定に貼り付け、ミニプログラム管理画面でランダムに生成されたEcodingAESKeyをシステムに貼り付けます。また、APPSercretもシステムに貼り付けます。
  5. このミニプログラムを通じてユーザー情報を取得できるようになります。

サポートフィールド

フィールド説明

顧客フィールド参照

業務記録フィールド参照

パラメータ名 説明
customer_name 顧客名、デフォルトは「ミニプログラムユーザー」(システムフィールド)
nick_name ニックネーム
avatar アバター
email メールアドレス
customer_token 顧客外部一意識別子、tokenと同等
ip IPアドレス
description 顧客説明
organization_id 所属会社ID
tags タグ
owner_id 顧客責任者ID
owner_group_id 顧客責任グループID
level レベル
cellphones 電話番号、配列形式で指定します。パラメータid(電話ID)、cellphone(電話番号)を含みます。idが空の場合は顧客電話番号の追加、空でない場合は顧客電話番号の更新を意味します。詳細な形式は例を参照してください。
other_emails その他のメールアドレス、配列形式で指定します。パラメータid(メールID)、other_email(その他のメールアドレス)を含みます。idが空の場合は顧客メールアドレスの追加、空でない場合は顧客メールアドレスの更新を意味します。詳細な形式は例を参照してください。
custom_fields カスタムフィールド
generated_channel カスタムチャネル名
## 使用説明

パラメータ設定

var customer_info = {
    "customer_name": "顧客名", // Udeskシステムフィールド
    "email": "test@udesk.cn", //メールアドレス
    "customer_token": 'test_token', //顧客外部ID
    "generated_channel": 'カスタムチャネル名',
    "ip": "192.168.1.1", //IPアドレス
    "description": "説明",
    "organization_id": 1, //所属会社ID
    "tags": "タグ1,タグ2", //タグ(カンマ区切り)
    "owner_id": 1, //顧客担当者ID
    "owner_group_id": 1, //顧客担当グループID
    "level": "normal", // レベル
    "cellphones": [
      ["", "13100000002"], //配列 [[電話ID, 電話番号]]
      ["3", "13100000003"] //idが空文字列またはnullの場合は電話番号を新規追加、値がある場合はこのidに対応する電話番号を更新
      ], 
    "other_emails": [
      ["", "13100000002@udesk.cn"], //配列 [[メールID, メールアドレス]]
      ["1", "13100000003@udesk.cn"] //idが空文字列またはnullの場合はメールアドレスを新規追加、値がある場合はこのidに対応するメールアドレスを更新
      ], 
    "custom_fields": {
        "TextField_1": "通常テキスト内容",
    }
}

var nick_name = "張三" // ミニアプリ顧客ニックネーム
var avatar = "https://www.udesk.cn/images/index/logo1124.png" // 顧客プロフィール画像

var note_info = {
    "title": "業務記録タイトル",
    "custom_fields": {
        "TextField_1": "通常テキスト内容",
    }
}

var unionid = "ocpX10_1hQmCVGXzKrMwu-g7yuzU" // ミニアプリユーザーunionid

//文字列に変換
customer_info_str = JSON.stringify(customer_info)
note_info_str = JSON.stringify(note_info)

埋め込み例


<!-- session-from = "udesk|ミニアプリユーザーニックネーム|プロフィール画像|customer^顧客情報|note^業務記録情報|unionid^ミニアプリユーザーunionid" -->

<button open-type="contact" size="mini" session-from="udesk|{{nick_name}}|{{avatar}}|customer^{{customer_info_str}}|note^{{note_info_str}}|unionid^{{unionid}}">カスタマーサポートセッションに入る</button>

ヘルプセンター連携説明

http://udesk.udesk.cn/hc/articles/54089

参考サンプルコード

https://github.com/wangmingle/weixin_mini_test.git

行動トラッキングSDK

使用前に、行動トラッキングを有効化する必要があります。有効化については担当の導入担当者にお問い合わせください。 Udesk ミニプログラムSDKは、顧客の商品閲覧履歴、注文イベントなどを収集し、IMコンソール > セッション > 訪問者履歴に表示するために使用されます。 Udeskカスタマーサポートシステムでミニプログラムを設定していない場合は、【管理センター > チャネル管理 > ミニプログラム - WeChatミニプログラム連携】で設定してください。

SDKの取得と使用

SDKをダウンロードした後、そのファイルをミニプログラムのルートディレクトリの utils ディレクトリに配置し、app.js で import UdeskSdk from './utils/ud-sdk' をインポートします。

// app.js の最初の行でSDKをインポート
import UdeskSdk from './utils/ud-sdk';

UdeskSdk.init({
  appId: 'xxxxxxxx',
  companyToken: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  companyDomain: 'xxx.udeskdemo.cn',
  onPageShow: function(){
    // 何らかの処理
  }
});

ドメイン設定

ミニプログラム管理画面にログインし、メニューの「開発」-「開発設定」でミニプログラムの AppID とサーバードメインを確認できます(AppSecretは設定必須です)。

初期化

メソッド説明

UdeskSdk.init({ appId, companyToken, companyDomain, onPageShow, onPageHide });

パラメータ説明

パラメータ名 タイプ 必須 説明
appId String はい ミニプログラムのappId
companyToken String はい 会社のミニプログラム認証Token。取得場所:【管理センター-チャネル管理-ミニプログラム-管理/ミニプログラムSDK認証Token】
companyDomain String はい 会社ドメイン。例:xxx.udesk.cn
onPageShow Function いいえ ページ表示イベントを受け取る関数
onPageHide Function いいえ ページ非表示イベントを受け取る関数
## > 商品閲覧履歴アップロード

方法説明

この機能を呼び出す前に初期化を行ってください

UdeskSdk.trace(type, data);

パラメータ説明

パラメータ名 タイプ 必須かどうか 説明
type String product はい トラッキングタイプ
data Object はい トラッキングデータ
data.name String はい 商品名
data.url String いいえ 商品ジャンプリンク(新規ページ表示)。値が空の場合、クリック不可
data.imgUrl String いいえ 値が空の場合、表示されません
data.params Object いいえ パラメータリスト
data.params.text String いいえ パラメータテキスト
data.params.color String いいえ パラメータ色値。16進数値の色を指定します(例:#ff0000)
data.params.fold Boolean いいえ 太字にするかどうか
data.params.break Boolean いいえ 改行するかどうか
data.params.size Number デフォルト12 いいえ フォントサイズ

サンプルコード

import UdeskSdk from './utils/ud-sdk';

UdeskSdk.trace('product', {
  name: " Apple iPhone X (A1903) 64GB 深空灰色 移動联通4G手机",
  url: "https://item.jd.com/6748052.html",
  imgUrl: "http://img12.360buyimg.com/n1/s450x450_jfs/t10675/253/1344769770/66891/92d54ca4/59df2e7fN86c99a27.jpg",
  params: [{
      "text": "¥6999.00",
      "color": "#FF0000",
      "fold": false,
      "break": false,
      "size": 12
  }]
});

> 注文イベントアップロード

方法説明

この機能を呼び出す前に初期化を行ってください

UdeskSdk.trace(type, data);

パラメータ説明

パラメータ名 必須 説明
type String order はい トラッキングタイプ
data Object はい トラッキングデータ
data.order_no String はい 注文番号
data.name String はい 注文名
data.url String いいえ 注文ジャンプリンク
data.price Number はい 注文価格
data.order_at Date はい 注文日時
data.pay_at Date いいえ 支払い日時
data.status String はい 注文ステータス: wait_pay(支払い待ち)、paid(支払い済み)、closed(クローズ済み)
data.remark String いいえ 備考, 最大長は1000バイト(日本語は2バイト)
data.consignee_name String いいえ 受取人氏名
data.consignee_phone String いいえ 受取人電話番号
data.commodit_num String いいえ 商品総数量
commodities Array いいえ 商品情報Array(Ojbect)
#### commodities商品情報オブジェクト
パラメータ名 タイプ 必須 説明
commodit_name string いいえ 商品名
commodit_no string いいえ 商品番号
commodit_count numeric いいえ 商品数量
commodit_fee string いいえ 商品価格

サンプルコード

import UdeskSdk from './utils/ud-sdk';

UdeskSdk.trace('order', {
  order_no: "1000",
  name: "最初の注文",
  url: "https://xxx.xxxx.com/注文リンク",
  price: 16.8,
  order_at: new Date(),
  pay_at: new Date(),
  status: "wait_pay",
  remark: "備考は最大1000バイト",
  consignee_name: '張三',
  consignee_phone: '01012345',
  consignee_address: '北京市大興区',
  commodit_num: 88,
  commodities: [
    {
      commodit_name: '牛乳A',
      commodit_no: 'NO123456',
      commodit_count: 1,
      commodit_fee: '46.5'
    }
  ]
});