> ## Documentation Index
> Fetch the complete documentation index at: https://docs-agents.fpt.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Zalo チャネル

> Official Account をつなぎ、Zalo のメッセージに Agent が自動で応答します

Zalo チャネルは Official Account と Agent を結びます。接続すると、顧客が Official Account に送ったメッセージには、すべて Agent が自動で応答します。

<Info icon="comment-dots">
  設定パネルは **チャネル** タブから **Zalo** のチャネルをクリックして開きます。パネルの名前は「Zalo 設定」です。
</Info>

<img src="https://mintcdn.com/fpt-62e894b4/OEIa1zuMs6GjYr6X/images/en_zl_config.jpg?fit=max&auto=format&n=OEIa1zuMs6GjYr6X&q=85&s=5b9df61fe1c933490558220deec3a65b" alt="Zalo の設定パネル" width="1562" height="784" data-path="images/en_zl_config.jpg" />

## 接続する前に

Zalo Official Account と、対応する Zalo アプリケーションの管理権限、そして 3 つの秘密情報が必要です。

| 秘密情報 | 取得場所 |
| - | - |
| **OA Secret Key** | Official Account の Webhook のセクション |
| **App Secret** | Zalo アプリケーションの設定。OA の管理画面ではありません |
| **Refresh Token** | アプリケーションの OAuth 認可フロー |

<Warning>
  この 3 つのどれか 1 つでも間違っていると接続は失敗し、受信したメッセージはすべて拒否されます。前後に空白を入れず、正確にコピーしてください。
</Warning>

## Zalo 側で Webhook を登録する

パネル上部の **Webhook URL** は読み取り専用で、コピーボタンが付いています。

```text theme={null}
https://console-agents.fpt.ai/webhooks/zalo
```

<Steps>
  <Step title="Webhook URL をコピーする">
    欄の横のコピーボタンをクリックします。
  </Step>

  <Step title="Zalo アプリケーションに貼り付ける">
    自社の Zalo アプリケーションを開き、Webhook の欄に貼り付けます。
  </Step>

  <Step title="Zalo 側で保存する">
    Console に戻る前に、Webhook の設定を保存してください。
  </Step>
</Steps>

<Note>
  1 つの Webhook アドレスがすべての Official Account を受け持ちます。Zalo が送るデータの中の OA ID でアカウントを見分けるので、OA ごとに別のアドレスを用意する必要はありません。
</Note>

## 入力項目

| 項目 | 必須 | 説明 |
| - | - | - |
| **Webhook URL** | 読み取り専用 | Zalo からデータを受け取るアドレス。Zalo アプリケーションにコピーします |
| **App ID** | はい | Zalo アプリケーションの識別子。秘密情報ではありませんが、受信メッセージの認証はこれを基準に行われます |
| **App Secret** | はい | Zalo アプリケーションの設定から。OA の管理画面ではありません。伏せ字で表示されます |
| **OA Secret Key** | はい | Official Account の秘密鍵。Webhook の認証に使います。伏せ字で表示されます |
| **Refresh Token** | はい | OAuth フローから。Zalo は使うたびに新しいトークンを発行し、システムは常に最新のものを保持します。伏せ字で表示されます |
| **表示名** | いいえ | チャネルの表示名。空にすると、Zalo が返す Official Account の名前が使われます |

## Official Account をつなぐ

<Steps>
  <Step title="Zalo のチャネルを開く">
    **チャネル** タブで、未設定の **Zalo** チャネルをクリックします。
  </Step>

  <Step title="Zalo 側で Webhook を登録する">
    上の手順どおり、Webhook URL をコピーして Zalo アプリケーションに貼り付けます。
  </Step>

  <Step title="App ID、App Secret、OA Secret Key、Refresh Token を入力する">
    それぞれの欄に、値を正確に貼り付けます。
  </Step>

  <Step title="必要なら表示名を設定する">
    **表示名** を入力するか、空のままにして Official Account の名前を使います。
  </Step>

  <Step title="接続をクリックする">
    システムが Zalo に問い合わせて内容を確認します。成功すると、チャネルが未設定から外れます。
  </Step>
</Steps>

## 接続を編集する

チャネルタブから Zalo のチャネルをもう一度開きます。秘密情報の欄は伏せ字です。新しい値を入力すれば置き換わり、触らなければそのまま残ります。**接続** をクリックして保存、**キャンセル** で保存せずに閉じます。

<Tip>
  Zalo は使うたびに新しい Refresh Token を発行します。チャネルが急に応答しなくなったら、OAuth フローから新しい Refresh Token を取り、ここで更新してください。
</Tip>

## 切り離す

Zalo での応答を止める方法は 2 つあります。

<CardGroup cols={2}>
  <Card title="公開時にオフにする" icon="toggle-off">
    **Publish** ダイアログを開き、外部チャネルの **Zalo** のチェックを外して公開します。接続情報は残ります。
  </Card>

  <Card title="完全に切断する" icon="link-slash">
    Zalo の設定パネルを開いて切断します。秘密情報が消えるので、戻すときは入力し直しになります。
  </Card>
</CardGroup>

<Warning>
  切断すると、Official Account に書き込んだ顧客は Agent からの返答を受け取れなくなります。切断する前に、メッセージを人手で扱う段取りを決めておいてください。
</Warning>

## よくある問題

| 症状 | よくある原因 | 対応 |
| - | - | - |
| 接続でエラーになる | App Secret、OA Secret Key、Refresh Token のいずれかが違う | Zalo から正しい値を取り直して貼り付ける |
| 接続できたのにメッセージが届かない | Zalo アプリケーションに Webhook URL を登録していない | Webhook URL をもう一度コピーし、Zalo 側で保存する |
| 顧客に「この会話は利用できません」と出る | Agent が未公開、または公開時に Zalo にチェックを入れていない | [公開](/ja/publishing) を参照 |
| 動いていたチャネルが急に応答しなくなった | Refresh Token の期限切れ | 新しい Refresh Token に更新する |

<Info icon="tower-broadcast">
  すべてのチャネルの状態をまとめて見たり、稼働バージョンを切り替えたりするには [デプロイチャネルの管理](/ja/manage-channels) へ。
</Info>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.