web-dev-qa-db-ja.com

Viber REST API、一意のViberユーザーIDを見つける方法は?

リソースURL https://chatapi.viber.com/pa/send_message

一般的なメッセージ送信パラメータ

enter image description here

Postmanからviberにメッセージを送信しようとしています。一意のViberユーザーIDを見つける方法がわかりません。そのパラメーターは必須です。

このエラーが発生します:

{"status":999,"status_message":"Bad receiver ID","message_token":5126721184521938239}

5
Aleksandra

Danny Daintonは、他の誰かに関するものではなく、自分のアカウントに関する一意のIDを含むデータを取得する方法に関するドキュメントに言及しました。

ユーザーがパブリックアカウントにサブスクライブしている場合にのみ、Webhookへのユーザー固有IDを含むコールバックを受信し、その場合にのみ、そのユーザーにメッセージを送信できます。

Viberのドキュメントによると:

Send_message APIを使用すると、アカウントは、アカウントにサブスクライブしているViberユーザーにメッセージを送信できます。ユーザーへのメッセージの送信は、ユーザーがサブスクライブボタンを押すか、メッセージを送信するか、ボットにメッセージを送信することによってパブリックアカウントにサブスクライブした後にのみ可能になります(詳細については、サブスクライブされたコールバックを参照してください)。

そして非常に重要

アカウントがユーザーにメッセージを送信する前に、ユーザーはアカウントにサブスクライブする必要があります。サブスクライブは、次の2つの方法のいずれかで実行できます。

ユーザーがアカウント(パブリックアカウントとボットの両方)にメッセージを送信します

  • ユーザーが最初のメッセージをアカウントに送信すると、ユーザーは自動的にアカウントにサブスクライブされます。最初のメッセージを送信しても、サブスクライブコールバックはトリガーされず、メッセージコールバックのみがトリガーされます(ユーザーからのメッセージの受信セクションを参照)。購読したイベントはパブリックアカウントに送信されます(パブリックアカウントのみ)

  • ユーザーがサブスクライブボタンをクリックすると、サブスクライブコールバックがトリガーされます 以下で説明

4
Choletski

通常、すべてのコールバックからViber IDを収集し、将来使用するためにDBに保存する必要があります。ただし、その手順を逃した場合は、 get_online エンドポイントを定期的に呼び出してオンラインでサブスクライブしたユーザーのViber IDを収集し、 get_user_details エンドポイントを使用して不明なユーザーに関する詳細情報を取得できます。

0
Sam O'Riil