Bekerja dengan pelanggan

LEGENDA:

was_in_state() | days_from_last_message() | free_client() | assign_to_user() | distribute_client()| get_operator() | get_operator_name() | delete_pended_messages() | set_note() | add_unread() | clear_unread() | unsubscribe()|block_client() | unblock_client() | set_client_name() | get_bind_clients() | get_current_pipline_id()

was_in_state(message_id)
memeriksa sama ada pelanggan berada dalam keadaan (blok) yang dipilih. Anda boleh mendapatkan nombor blok dari editor.

days_from_last_message()
menentukan bilangan hari sejak mesej terakhir pelanggan. Dibuat untuk memeriksa sama ada ia berada dalam tetingkap 24 jam.

Contoh:
d = days_from_last_message()

Jika lebih daripada 30 hari telah berlalu sejak mesej terakhir pelanggan, fungsi akan mengembalikan nilai 9999.


free***_***client()
menyahberi operator yang bertanggungjawab.
Contoh: free_client()

assign_to_user(email, only_active)
memberikan dialog kepada operator, di mana:

  1. email - parameter rentetan (pilihan). Jika hanya email diberikan, dialog akan diberikan kepada operator yang ditentukan tanpa mengira status semasa mereka.
  2. only_active - True atau False (parameter pilihan). Jika ditetapkan kepada True, dialog akan diberikan kepada operator yang ditentukan hanya jika mereka sedang bertugas.

Contoh:

assign_to_user() - memberikan dialog kepada operator rawak yang sedang bertugas

assign_to_user('e-mel operator') - memberikan dialog kepada operator tanpa mengira status mereka

assign_to_user('e-mel operator', True) - memberikan dialog kepada operator yang ditentukan hanya jika mereka sedang bertugas

distribute_client()
memberikan dialog kepada operator mengikut tetapan pengedaran automatik.
Contoh: distribute_client()

get_operator()
mendapatkan e-mel operator yang bertanggungjawab

Contoh: get_operator()

Ia boleh digunakan untuk memberikan tugas kepada operator yang bertanggungjawab atau untuk memeriksa sama ada dia wujud. Jika tiada operator yang bertanggungjawab, ia akan mengembalikan None.

get_operator_name()
mendapatkan nama operator yang bertanggungjawab

Contoh: get_operator_name()

Ia boleh digunakan untuk memaparkan maklumat kepada pelanggan. Jika tiada operator yang bertanggungjawab, ia akan mengembalikan None. Jika operator tidak mempunyai nama yang diberikan, ia akan mengembalikan e-mel mereka.

delete_pended_messages()
memadamkan semua mesej berjadual untuk pelanggan semasa. Secara lalai, ia juga memadamkan mesej yang dibuat oleh anak panah "Jangan batalkan" . Untuk menyimpan mesej daripada anak panah "Jangan batalkan" , hantar parameter False: delete_pended_messages(False).

set_note(comment)
menambah ulasan pada dialog.

Contoh: set_note('Buat semula')

add_unread(count)
menandakan dialog dengan pelanggan sebagai belum dibaca

Parameter count boleh ditinggalkan atau ditetapkan kepada 1; dalam kes ini, dialog dengan pelanggan akan menunjukkan penunjuk +1 mesej belum dibaca.

Jika sebarang nombor lain dihantar, ia akan dipaparkan dalam bahagian "Pelanggan" sebagai bilangan mesej belum dibaca daripada pelanggan.

clear_unread()
menandakan dialog sebagai telah dibaca

unsubscribe()
Fungsi untuk berhenti melanggan mesej bot. Contoh disediakan dalam artikel ini.
Untuk pelanggan yang berhenti melanggan, simbol akan muncul — mesej merah dengan salib.

Penting!

Kalkulator dilaksanakan terlebih dahulu, dan hanya selepas itu mesej dihantar.

Oleh itu, jika anda perlu menghantar mesej akhir seperti "Anda telah berhenti melanggan bot" atau "Anda telah disekat" , anda mesti menggunakan proses dua langkah:

  1. Pertama, hantar blok yang mengandungi mesej akhir.
  2. Kemudian, hantar blok kosong yang mengandungi fungsi berhenti langganan/sekat.

Jika anda cuba melakukan kedua-duanya dalam satu blok, mesej tidak akan dihantar.

Jika anda meletakkan fungsi unsubscribe() dalam kalkulator blok yang sama dengan mesej anda, mesej tidak akan dihantar, dan sistem akan memaparkan ralat.

block_client()
menyekat pelanggan daripada menghantar mesej kepada bot. Mesej berjadual sebelumnya daripada bot juga akan dibatalkan. Walau bagaimanapun, masih boleh menghantar mesej kepada pelanggan secara langsung dari dialog dalam bahagian "Pelanggan"

Pelanggan yang disekat akan mempunyai tanda — ikon kunci merah.

unblock_client()
menyahsekat pelanggan. Pelanggan akan dapat berinteraksi dengan bot semula dan meneruskan melalui rangkaian mesej.

set_client_name(name)
menukar nama pelanggan. Hantar nama pelanggan sebagai rentetan dalam tanda petik dua. Anda juga boleh menggunakan pembolehubah yang mengandungi nama pelanggan, contohnya: set_client_name("John Smith")

get_bind_clients()
fungsi tanpa parameter yang mengembalikan tatasusunan ID pelanggan yang dipautkan kepada pelanggan semasa.

get_current_pipline_id()
fungsi tanpa parameter yang mengembalikan ID corong yang sedang dilalui oleh pelanggan.

Jika urusan pelanggan berada dalam peringkat "tidak diproses", ia mengembalikan None.

Bekerja dengan tugas

Fungsi yang berfungsi dengan tugas mengembalikan status operasi sebagai True atau ID tugas apabila berjaya. Sekiranya gagal, ia mengembalikan False atau None.

MaviBot menggunakan format tarikh "dd.mm.yyyy" dan format masa "HH:MM".

create_task() | update_task() | done_task() | delete_task()

create_task(email, name, date_srok, description, time_srok) – mencipta tugas

Parameter:\ ! email - e-mel orang yang bertanggungjawab\ ! name - nama tugas\ ! date_srok - tarikh akhir, tarikh\ ! description - penerangan tugas
time_srok - masa akhir, masa

update_task(task_id,email, name, date_srok, description, time_srok) - mengemas kini tugas

Parameter:\ ! task_id- ID tugas\ ! email - e-mel orang yang bertanggungjawab\ ! name - nama tugas\ ! date_srok - tarikh akhir, tarikh\ ! description - penerangan tugas
time_srok - masa akhir, masa

done_task(task_id)- menandakan tugas sebagai selesai

Parameter:\ ! task_id- ID tugas

delete_task(task_id) – memadamkan tugas

Parameter:\ ! task_id- ID tugas

Tetapkan pengguna yang bertanggungjawab

assign_order_to_user(email, order_id) — tetapkan pengguna yang bertanggungjawab kepada urusan

  • email — e-mel pekerja yang akan ditetapkan sebagai bertanggungjawab. Diperlukan.
  • order_id — ID urusan untuk menetapkan pekerja. Jika tidak dinyatakan, urusan semasa digunakan. Pilihan.

Dapatkan e-mel pengguna yang bertanggungjawab

get_order_operator(order_id) — dapatkan e-mel pengguna yang bertanggungjawab untuk urusan

  • order_id — ID urusan untuk mendapatkan pengguna yang bertanggungjawab. Jika tidak dinyatakan, urusan semasa digunakan. Pilihan.

Mari buat tugas untuk operator:

Kemas kini tarikh akhir dan penerangan.

Tandakan tugas sebagai selesai.

Padam tugas

task_id=create_task('[email protected]', 'Test', '22.01.2023', 'test task', '08:00') status=delete_task(task_id)

Bekerja dengan urusan

get_order_id() | create_order() | set_order_name() | set_order_budget() | get_active_orders_ids() | get_success_orders_ids() | get_fail_orders_ids() | get_order_var() | get_order_vars() | set_order_var() | set_order_vars() | move_order_to_next_state() | set_order_status_success() | set_order_status_fail(order_id)| get_state_id() | change_state() | get_order_id_by_var_value() | latest_order_datetime() | count_client_orders(), get_count_orders() | delete_order(order_id) |

Mendapatkan ID urusan semasa

get_order_id() - mengembalikan keadaan urusan.

Mencipta urusan baharu

create_order(name, budget, description, client_name, phone, email, state_id)
Urusan aktif semasa dalam saluran paip, bersama dengan pembolehubahnya, hanya akan tersedia dalam fungsi berkaitan urusan dan dalam CRM.

Parameter fungsi: \ ! name - (pilihan), nama urusan. Jika tidak diberikan, fungsi digunakan pada urusan aktif semasa pelanggan.

! budget - (pilihan) nilai urusan. Jika tidak diberikan, digunakan pada urusan aktif semasa.
Jika budget bukan nombor, fungsi akan mengembalikan: budget mestilah nombor

description - (pilihan), penerangan urusan.

Parameter tambahan untuk penciptaan pelanggan:

client_name - (pilihan) rentetan, nama pelanggan baharu

phone - (pilihan) rentetan, nombor telefon pelanggan baharu.

email - (pilihan) rentetan, alamat e-mel pelanggan baharu.

Untuk mencipta pelanggan, sekurang-kurangnya telefon atau e-mel mesti diberikan. Jika telefon diberikan dan tiada pelanggan dengan telefon ini wujud dalam projek, yang baharu akan dibuat.

Jika e-mel diberikan tanpa telefon dan tiada pelanggan dengan e-mel ini wujud, yang baharu akan dibuat.

Parameter tambahan:

state_id - nombor, membolehkan menetapkan keadaan awal urusan semasa penciptaan

Tetapkan atau kemas kini nama urusan

set_order_name(name, order_id)

name - ❗diperlukan, rentetan; nama urusan

order_id - (pilihan) ID urusan. Jika tidak diberikan, perubahan digunakan pada urusan aktif semasa pelanggan.

Tetapkan atau kemas kini belanjawan urusan

set_order_budget(budget, order_id)

budget -❗diperlukan, nombor; nilai urusan

order_id - (pilihan) ID urusan. Jika tidak diberikan, digunakan pada urusan aktif semasa pelanggan.

Untuk menggunakan order_id dengan betul:

  1. Anda boleh menentukannya secara manual — dapatkan ID urusan dan hantar sebagai parameter fungsi jika anda ingin menyasarkan urusan tertentu.

  1. Dapatkannya menggunakan fungsi get_order_id(), kerana pembolehubah order_id terbina dalam mengembalikan nilai dalam format {client_id}-{order_id}, yang boleh menyebabkan tingkah laku yang tidak betul.

Mendapatkan senarai urusan
((tidak termasuk urusan yang diarkibkan, berjaya, atau gagal))

get_active_orders_ids()

Dapatkan senarai ID urusan yang berjaya

get_success_orders_ids()

Dapatkan senarai ID urusan yang gagal

get_fail_orders_ids()

Mendapatkan nilai pembolehubah urusan

get_order_var(order_id, variable)

Parameter:

! order_id - ID urusan

! variable - nama pembolehubah yang nilainya ingin anda dapatkan

Mendapatkan data urusan

get_order_vars(order_id, names)

Parameter:

! order_id - ID urusan

names - tatasusunan nama pembolehubah untuk didapatkan. Jika ditinggalkan, fungsi mengembalikan semua pembolehubah untuk urusan yang ditentukan

Fungsi mengembalikan kamus yang mengandungi pembolehubah yang disenaraikan dalam tatasusunan names untuk urusan yang dikenal pasti oleh order_id. Jika names tidak diberikan, ia mengembalikan kamus dengan semua pembolehubah urusan yang ditentukan.

Menambah pembolehubah urusan

set_order_var(order_id, variable, value)

Parameter:

! order_id - ID urusan

! variable - nama pembolehubah untuk ditambah atau dikemas kini dalam urusan

Jika anda ingin menukar parameter urusan "name" atau "description," gunakan nama pembolehubah "name" atau "description" masing-masing.

! value - nilai pembolehubah

Menambah pelbagai pembolehubah urusan

set_order_vars(order_id, variables_dict)

Parameter:

! order_id - ID urusan.

! variables_dict - kamus pembolehubah

Bergerak ke keadaan corong seterusnya

move_order_to_next_state(order_id)

Parameter:
order_id - ID urusan. Jika tidak dinyatakan, urusan aktif semasa akan dialihkan.
Urutan keadaan urusan ditentukan mengikut urutan yang ditetapkan dalam MavibotCRM.

Mendapatkan peringkat corong dalam MavibotCRM

get_state_id(client_id, order_id)
Anda juga boleh menyalin ID keadaan saluran paip terus dari "Tetapan keadaan".

Parameter:

order_id - ID urusan pelanggan

Anda boleh memanggil fungsi dengan atau tanpa parameter order_id. Jika order_id ditinggalkan, fungsi akan mengembalikan ID keadaan saluran paip untuk urusan aktif semasa.

Untuk penggunaan order_id yang betul:

  1. Anda boleh menentukannya secara manual dengan mendapatkan ID urusan dan menghantarnya sebagai parameter fungsi apabila anda ingin menyasarkan urusan tertentu.
  2. Dapatkannya menggunakan fungsi get_order_id(), kerana pembolehubah order_id terbina dalam mengembalikan nilai dalam format {client_id}-{order_id}, yang boleh menyebabkan tingkah laku yang tidak betul.

Menggerakkan petunjuk melalui corong MavibotCRM mengikut ID keadaan

change_state(state_id, order_id)

Parameter:\ ! state_id - ID keadaan corong
order_id ( pilihan) - ID urusan untuk dialihkan melalui saluran paip. Jika ditinggalkan, urusan aktif semasa akan dialihkan.

Mendapatkan ID urusan mengikut nama dan nilai pembolehubah

get_order_id_by_var_value(var_name, var_value, client_id)

Parameter:\ ! var_name - nama pembolehubah\ ! var_value - nilai pembolehubah;
client_id - (pilihan) ID urusan pelanggan; lalai kepada ID pelanggan dalam bot

Mendapatkan tarikh dan masa urusan terkini

latest_order_datetime(client_id, dt_fmt)

Parameter:
client_id - (pilihan) ID urusan pelanggan; lalai kepada ID pelanggan dalam bot;
df_fmt - (pilihan) format untuk tarikh dan masa yang dikembalikan; lalai ialah "%d.%m.%y %H:%M"

Mendapatkan bilangan urusan pelanggan

count_client_orders(client_id, state_id, get_all, active)

Parameter:
client_id - (pilihan) ID urusan pelanggan; lalai kepada ID pelanggan dalam bot;
state_id - (pilihan) ID keadaan urusan dalam saluran paip;
get_all - (pilihan) bendera penapis untuk parameter aktif; lalai ialah 1 (penapisan mengikut aktif dilumpuhkan);
active - digunakan hanya apabila get_all ialah 0; menapis urusan aktif; lalai ialah 1 (hanya mengembalikan urusan aktif);

Dapatkan kiraan urusan dalam keadaan urusan tertentu

get_count_orders(id) - mengembalikan bilangan urusan yang sedang dalam keadaan saluran paip tertentu mengikut ID keadaan.

Fungsi mengambil satu parameter:

! id - ID keadaan urusan.

Contoh penggunaan fungsi:

ID peringkat boleh didapati dalam tetapan.

Seterusnya, anda perlu memasukkan fungsi dalam kalkulator seperti berikut:

Apabila menguji bot, respons bot akan terdiri daripada bilangan urusan dalam keadaan yang ditentukan oleh nilai yang dihantar kepada fungsi.

Memadamkan urusan

delete_order(order_id) — memadamkan urusan dalam MaviBotCRM.

order_id - (pilihan) ID urusan untuk dipadam. Jika ditinggalkan, urusan terkini akan dipadamkan.

Semua fungsi mudah digunakan.
Sebagai contoh, mari buat urusan baharu dan hantar nombornya kepada pelanggan:

Anda boleh mendapatkan ID urusan aktif semasa pelanggan menggunakan fungsi get_order_id(), atau dapatkan senarai penuh urusan pelanggan menggunakan get_active_orders_ids().

Menetapkan tag urusan berjaya

set_order_status_success()

Penerangan

set_order_status_success(order_id)

Parameter:

order_id - ID urusan. Jika parameter tidak dinyatakan, tag akan ditetapkan untuk urusan aktif semasa.

Menetapkan tag urusan gagal

set_order_status_fail()

Penerangan

set_order_status_fail(order_id)

Parameter:

order_id - ID urusan. Jika parameter tidak dinyatakan, tag akan ditetapkan untuk urusan aktif semasa.

Menetapkan tag urusan diarkibkan

set_order_status_archive()

Penerangan

set_order_status_archive(order_id)

Parameter:

order_id - ID urusan. Jika parameter tidak dinyatakan, tag akan ditetapkan untuk urusan aktif semasa.

Contoh

/*Arkibkan urusan aktif semasa*/

res_arh = set_order_status_archive()