> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ピン留めカードの純プルモードを実装する

> APIでカードコールバックURLを登録し、純プルモードでチャット開く度にプライベートデータを同期更新します

## 想定される効果

* ピン留めカードの純プルモード

  チャットを開くたびに、開発者が設定した callbackUrl にコールバックしてプライベートデータを取得し、カードを更新します。

* カードメッセージの純プルモード

  チャットを開いてメッセージを取得するたびに、開発者が設定した callbackUrl にコールバックしてプライベートデータを取得し、カードを更新します。

## 統合フローの概要

ステップ 4：カードコンテンツを更新する。

### 1. ピン留めカードタイプのテンプレートを作成する

<Note>
  カードテンプレートのコンテンツの設定方法については、ドキュメント「メッセージテンプレートの作成」を参照してください。
</Note>

### 説明

* インタラクティブカードを使用してユーザーとカードのインタラクションを実装する方法については、ドキュメント「インタラクティブカードの使用」を参照してください。
* 純プルモードでは、インタラクティブカードメッセージテンプレート内のプライベート変数に対応するデータのみを取得できます。

カードテンプレートエディターでプライベート変数を設定できます。

カードテンプレートエディターでは、さまざまなコンポーネントの組み合わせによってビジネスニーズを実現できます。カードの構築が完了したら、**保存**または**公開**をクリックすると、そのカードが使用できるようになります。

カードの純プルモードを使用するには、API を呼び出してカードコールバック URL を新規登録し、パラメータ **callbackRouteKey** を取得する必要があります。

<Note>
  パラメータ **pullStrategy** を **true** に設定すると、カードの純プルモードがオンになります。
</Note>

## ステップ 4：カードコンテンツを更新する

<Note>
  ユーザーがチャットを開くたびに、開発者が設定した callbackUrl にコールバックしてプライベート変数に対応するデータを取得します。プライベート変数以外のデータは純プルモードでは取得できません。
</Note>

### 1. プライベートデータを取得する

ユーザーがチャットを開く動作は、HTTP POST メソッドのリクエスト形式で、開発者が新規登録した HTTP アドレスにコールバックされ、プライベートデータを取得します。リクエスト内容は contentType="application/json" の形式で、以下のパラメータが開発者に渡されます。

<Note>
  このうち content フィールドには、カード内のプライベートデータ以外のコンテンツが含まれます。
</Note>

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
    "corpId": "dingXXXXXX",
    "outTrackId": "XXXXXX",
    "userId": "XXXXXX",
    "content": "{\"cardData\":{\"cardParamMap\":{\"xxx\":\"xxx\"}}}",
    ...
}
```

### 2. カードのプライベートデータを同期的に更新する

純プルモードにおいて、カードのプライベートデータコンテンツを同期的に更新する必要がある場合、コールバックリクエストを受信した後、そのリクエストに最新のカードプライベートデータを含めて戻すことで、ユーザーがカードを見るたびに最新のプライベートデータを取得できるようになります。戻すカードデータの具体的なフォーマットは以下のとおりです。

<Note>
  プライベート変数以外に対応するデータは戻す必要はありません。たとえ戻したとしても、カード上のプライベート変数以外に対応するデータは更新されません。
</Note>

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
 "outTrackId": "XXXXXX(カードを更新するための一意のID)",
 "cardOptions": {
  "updatePrivateDataByKey": true/false,
 },
 "userPrivateData": {
  "cardParamMap": {
   "key1": "value1",
   "key2": "value2",
   "変数N": "変数値N"
  },
  "cardMediaIdParamMap": {
   "image1": "mediaIdXXXXX1",
   "image2": "mediaIdXXXXX2"
  }
 }
}
```

### 3. ピン留めカードの純プルモードの実装効果

チャットを開くたびに、カードの表示効果は次のようになります。
