Penautan Akun

Penautan Akun terpisah dari fitur tampilan web lainnya yang tersedia di Platform Messenger. Ini hanya dapat dimulai melalui tombol Login, dan bukan dari menu persisten bot, dari tombol URL, atau dari dalam alur tampilan web yang sudah terbuka, atau Plugin Obrolan.

Pengembang yang menggunakan fitur ini sekarang bisa mendapatkan ID pengguna dengan cara yang aman menggunakan fungsi getContext() di Ekstensi Messenger. Selanjutnya, bot bisa menggunakannya untuk menautkan akun pengguna atau mempersonalisasi pengalaman.

Penautan Akun saat ini hanya didukung di aplikasi Messenger iOS dan Android.

Ketika pengguna memulai percakapan dengan bisnis Anda, mungkin Anda ingin mengidentifikasinya sebagai pelanggan yang sudah memiliki akun di bisnis Anda. Untuk itu, kami sudah membuat protokol aman untuk menautkan dan memutuskan tautan identitas pengguna Messenger dengan identitas pengguna bisnis Anda.

Dengan Penautan Akun, Anda bisa mengundang pengguna untuk login menggunakan alur autentikasi Anda sendiri, dan menerima ID lingkup halaman (PSID) Messenger saat selesai. Anda kemudian bisa menghadirkan pengalaman yang lebih aman, dipersonalisasi, dan relevan kepada pengguna.

Konten

Proses Penautan

Alur Penautan Akun mengikuti beberapa langkah sederhana.

  1. Daftar URL panggilan balik menggunakan Tombol Login.
  2. Platform Messenger memanggil URL terdaftar saat pengguna memulai alur penautan akun. Parameter redirect_uri dan account_linking_token ditambahkan ke panggilan balik Anda yang terdaftar.
  3. Setelah penautan selesai, alihkan pengguna ke lokasi yang diberikan oleh redirect_uri dan tambahkan parameter authorization_code (yang Anda tetapkan) untuk mengonfirmasi penautan.
  4. Ambil ID pengguna lingkup halaman (PSID) pengguna secara opsional menggunakan endpoint penautan akun. Langkah ini hanya boleh digunakan dalam kasus khusus saat Anda membutuhkan PSID pengguna sebagai bagian dari proses penautan.

Pemutusan Penautan Akun dapat dimulai:

Panggilan Balik

URL penautan akun dimunculkan oleh Platform Messenger saat pengguna memicu penautan akun. Parameter redirect_uri dan account_linking_token ditambahkan ke panggilan balik URL.

<yourAccountLinkingUrl>
  ?account_linking_token=ACCOUNT_LINKING_TOKEN
  &redirect_uri=CALLBACK_URL

Jika penautan akun berhasil, Anda harus menyelesaikan alur dengan mengalihkan browser ke URL yang ditentukan di parameter redirect_uri dan menambahkan parameter authorization_code yang Anda tentukan. Perhatikan bahwa URL mungkin sudah berisi parameter sehingga Anda harus menambahkan kode otorisasi yang sesuai:

<redirect_uri>
  &authorization_code=AUTHORIZATION_CODE

Jika penautan akun gagal, alihkan browser ke redirect_uri yang diteruskan kepada Anda sebagai parameter, tetapi jangan tambahkan parameter authorization_code.

Parameter

Nama Parameter Deskripsi

redirect_uri

Alihkan URI yang akan ditambahkan oleh Messenger, Anda harus mengalihkan browser ke lokasi ini di akhir alur autentikasi. Ini mungkin berisi parameter berenkode URL.

account_linking_token

Token berdurasi singkat yang diteruskan oleh Messenger dan perlu Anda teruskan kembali sebagai bagian dari skema pengalihan. Token ini hanya berlaku selama 5 menit, dienkripsi, dan unik per pengguna.
Anda dapat memanggil endpoint pengambilan PSID dengan token ini untuk mengambil PSID yang terkait.

authorization_code

Kode yang diberikan oleh Anda untuk mengonfirmasi penautan yang berhasil. Platform Messenger akan meneruskan kembali kode ini bersama dengan PSID pengguna sebagai peristiwa Webhooks Penautan Akun. Jika parameter ini gagal diteruskan, proses penautan akan dibatalkan.

Peristiwa webhook

Alur penautan yang berhasil memicu peristiwa Penautan Akun untuk menyampaikan ID lingkup halaman (PSID) pengguna.

Anda harus mendaftar ke peristiwa panggilan balik penautan akun. Jika peristiwa webhook ini tidak diakui, proses penautan akan dibatalkan.

Endpoint pengambilan PSID

Dalam kasus tertentu, Anda harus mengambil ID lingkup halaman (PSID) pengguna selama alur penautan. Untuk membantu mengatasi situasi ini, kami menyediakan endpoint pengambilan PSID yang memungkinkan Anda mengambil PSID pengguna berdasarkan account_linking_token yang valid dan tidak kedaluwarsa.

Permintaan

curl -X GET "https://graph.facebook.com/v2.6/me?access_token=PAGE_ACCESS_TOKEN \
      &fields=recipient \
      &account_linking_token=ACCOUNT_LINKING_TOKEN"

Tanggapan

{
  "id": "PAGE_ID",
  "recipient": "PSID"
}    

Dalam kasus tertentu, Anda harus memutus tautan ID lingkup halaman (PSID) pengguna secara terprogram dari backend Anda. Untuk membantu mengatasi situasi ini, kami menyediakan endpoint pemutusan tautan PSID yang memungkinkan Anda memutus tautan akun pengguna berdasarkan PSID yang valid.

Permintaan

curl -X POST -H "Content-Type: application/json" -d '{
   "psid":"PSID"
}' "https://graph.facebook.com/v2.6/me/unlink_accounts?access_token=PAGE_ACCESS_TOKEN"

Tanggapan

{
  "result": "unlink account success"
}

Praktik Terbaik

Gunakan Penautan Akun saat Anda memiliki sistem akun pengguna di luar Messenger.

Izinkan orang membuat akun dari dalam Messenger sehingga tersedia di tempat lain.

Meminta untuk login saat konteksnya relevan—yaitu, saat pengguna bot Anda dapat melihat manfaat melakukannya.

Pertimbangkan perilaku bot Anda ketika pengguna menolak login.

Berikan konfirmasi jelas dan sambutan ramah setelah login.

Jangan gunakan Penautan Akun jika orang hanya akan berinteraksi dengan Anda melalui Messenger. Anda bisa menyimpan informasi akun melalui ID utas.

Jangan langsung wajibkan Penautan Akun jika Anda bisa menghindarinya; biarkan orang merasakan dahulu pengalaman dengan bot Anda.

Rekomendasi Alur Desain

  1. Minta untuk login dengan pesan yang menyertakan tombol Penautan Akun kami.
  2. Tampilkan halaman login Anda (termasuk opsi Buat Akun) di tampilan web Penautan Akun. Pastikan tampilannya bagus dan berfungsi dengan baik di layar perangkat seluler.
  3. Setelah berhasil login, tampilkan pesan konfirmasi di tampilan web. Pengguna perlu mengabaikannya sendiri setelah itu.
  4. Tindak lanjuti dengan ucapan terima kasih yang ramah dan/atau langkah-langkah berikutnya di utas, termasuk opsi Keluar.