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:
- email - parameter rentetan (pilihan). Jika hanya email diberikan, dialog akan diberikan kepada operator yang ditentukan tanpa mengira status semasa mereka.
- 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:
- Pertama, hantar blok yang mengandungi mesej akhir.
- 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:
- Anda boleh menentukannya secara manual — dapatkan ID urusan dan hantar sebagai parameter fungsi jika anda ingin menyasarkan urusan tertentu.


- 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:
- Anda boleh menentukannya secara manual dengan mendapatkan ID urusan dan menghantarnya sebagai parameter fungsi apabila anda ingin menyasarkan urusan tertentu.
- 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()


