Darbs ar klientiem
LEGEND:
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()
Apraksts
was_in_state(message_id)
pārbauda, vai klients atradās izvēlētajā stāvoklī (blokā). Bloka numuru var iegūt no redaktora.

days_from_last_message()
nosaka dienu skaitu kopš klienta pēdējā ziņojuma. Izveidots, lai pārbaudītu, vai tas iekļaujas 24 stundu logā.
Piemērs:
d = days_from_last_message()
Ja kopš klienta pēdējā ziņojuma ir pagājušas vairāk nekā 30 dienas, funkcija atgriezīs vērtību 9999.
free***_***client()
noņem atbildīgo operatoru.
Piemērs: free_client()
assign_to_user(email, only_active)
piešķir dialogu operatoram, kur:
- email - virknes parametrs (neobligāts). Ja ir norādīts tikai e-pasts, dialogs tiks piešķirts norādītajam operatoram neatkarīgi no viņa pašreizējā statusa.
- only_active - True vai False (neobligāts parametrs). Ja iestatīts uz True, dialogs tiks piešķirts norādītajam operatoram tikai tad, ja viņš pašlaik ir maiņā.
Piemēri:
assign_to_user() - piešķir dialogu nejaušam operatoram, kurš pašlaik ir maiņā
assign_to_user('operatora e-pasts') - piešķir dialogu operatoram neatkarīgi no viņa statusa
assign_to_user('operatora e-pasts', True) - piešķir dialogu norādītajam operatoram tikai tad, ja viņš pašlaik ir maiņā
distribute_client()
piešķir dialogu operatoram saskaņā ar automātiskās sadales iestatījumiem.
Piemērs: distribute_client()
get_operator()
iegūst atbildīgā operatora e-pastu
Piemērs: get_operator()
To var izmantot, lai piešķirtu uzdevumus atbildīgajam operatoram vai pārbaudītu, vai viņš pastāv. Ja atbildīgā operatora nav, tiks atgriezts None.
get_operator_name()
iegūst atbildīgā operatora vārdu
Piemērs: get_operator_name()
To var izmantot, lai parādītu informāciju klientam. Ja atbildīgā operatora nav, tiks atgriezts None. Ja operatoram nav piešķirts vārds, tiks atgriezts viņa e-pasts.
delete_pended_messages()
izdzēš visus ieplānotos ziņojumus pašreizējam klientam. Pēc noklusējuma tiek dzēsti arī ziņojumi, kas izveidoti ar bultiņām "Neatcelt". Lai saglabātu ziņojumus no bultiņām "Neatcelt", nododiet parametru False: delete_pended_messages(False).
set_note(comment)
pievieno komentāru dialogam.
Piemērs: set_note('Pārtaisīt')
add_unread(count)
atzīmē dialogu ar klientu kā nelasītu
Parametru count var izlaist vai iestatīt uz 1; šajā gadījumā dialogā ar klientu tiks parādīts +1 nelasīta ziņojuma indikators.


Ja tiek nodots kāds cits skaitlis, tas tiks parādīts sadaļā "Klienti" kā nelasīto ziņojumu skaits no klienta.

clear_unread()
atzīmē dialogu kā lasītu
unsubscribe()
Funkcija, lai atteiktos no bota ziņojumiem. Piemērs ir sniegts šajā rakstā.
Atteikušajam klientam parādīsies simbols — sarkans ziņojums ar krustiņu.


Svarīgi!
Vispirms tiek izpildīts kalkulators, un tikai pēc tam tiek nosūtīts ziņojums.
Tāpēc, ja jums ir jānosūta pēdējais ziņojums, piemēram, "Jūs esat atteicies no bota" vai "Jūs esat bloķēts", jums jāizmanto divpakāpju process:
- Vispirms nosūtiet bloku, kas satur pēdējo ziņojumu.
- Pēc tam nosūtiet tukšu bloku, kas satur atteikšanās/bloķēšanas funkciju.
Ja mēģināsiet izdarīt abus vienā blokā, ziņojums netiks nosūtīts.

Ja ievietosiet funkciju unsubscribe() tajā pašā bloka kalkulatorā kā savu ziņojumu, ziņojums netiks nosūtīts, un sistēma parādīs kļūdu.

block_client()
bloķē klientam iespēju sūtīt ziņojumus botam. Iepriekš ieplānotie ziņojumi no bota arī tiks atcelti. Tomēr joprojām būs iespējams sūtīt ziņojumus klientam tieši no dialoga sadaļā "Klienti"

Bloķētam klientam būs atzīme — sarkana slēdzenes ikona.

unblock_client()
atbloķē klientu. Klients atkal varēs mijiedarboties ar botu un turpināt ziņojumu ķēdes.
set_client_name(name)
maina klienta vārdu. Nododiet klienta vārdu kā virkni dubultpēdiņās. Varat izmantot arī mainīgo, kas satur klienta vārdu, piemēram: set_client_name("Jānis Bērziņš")
get_bind_clients()
bezparametru funkcija, kas atgriež masīvu ar klientu ID, kas ir saistīti ar pašreizējo klientu.
get_current_pipline_id()
bezparametru funkcija, kas atgriež piltuves ID, kurā pašlaik atrodas klients.
Ja klienta darījums ir stadijā "neapstrādāts", tā atgriež None.
Darbs ar uzdevumiem
Funkcijas, kas strādā ar uzdevumiem, atgriež darbības statusu kā True vai uzdevuma ID veiksmes gadījumā. Neveiksmes gadījumā tās atgriež False vai None.
MaviBot izmanto datuma formātu "dd.mm.yyyy" un laika formātu "HH:MM".
create_task() | update_task() | done_task() | delete_task()
Apraksts
create_task(email, name, date_srok, description, time_srok) – izveido uzdevumu
Parametri:\n****! email - atbildīgās personas e-pasts\n! name - uzdevuma nosaukums\n! date_srok - izpildes termiņš, datums\n! description - uzdevuma apraksts\ntime_srok - izpildes termiņš, laiks
update_task(task_id,email, name, date_srok, description, time_srok) - atjaunina uzdevumu
Parametri:\n****! task_id- uzdevuma ID\n! email - atbildīgās personas e-pasts\n! name - uzdevuma nosaukums\n! date_srok - izpildes termiņš, datums\n! description - uzdevuma apraksts\ntime_srok - izpildes termiņš, laiks
done_task(task_id)- atzīmē uzdevumu kā pabeigtu
Parametri:\n****!**** task_id- uzdevuma ID
delete_task(task_id) – dzēš uzdevumu
Parametri:\n****!**** task_id- uzdevuma ID
Piešķirt atbildīgo lietotāju
assign_order_to_user(email, order_id) — piešķirt atbildīgo lietotāju darījumam
-
email— darbinieka e-pasts, kurš jāieceļ par atbildīgo. Obligāts. -
order_id— darījuma ID, kuram piešķirt darbinieku. Ja nav norādīts, tiek izmantots pašreizējais darījums. Neobligāts.
Iegūt atbildīgā lietotāja e-pastu
get_order_operator(order_id) — iegūt atbildīgā lietotāja e-pastu darījumam
-
order_id— darījuma ID, kuram iegūt atbildīgo lietotāju. Ja nav norādīts, tiek izmantots pašreizējais darījums. Neobligāts.
Piemēri
Izveidosim uzdevumu operatoram:

Atjaunināsim izpildes termiņu un aprakstu.

Atzīmēsim uzdevumu kā pabeigtu.

Uzdevuma dzēšana

Koda piemērs kopēšanai
task_id=create_task('[email protected]', 'Tests', '22.01.2023', 'testa uzdevums', '08:00') status=delete_task(task_id)
Darbs ar darījumiem
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) |
Apraksts
Pašreizējā darījuma ID iegūšana
get_order_id() - atgriež darījuma stāvokli.
Jauna darījuma izveide
create_order(name, budget, description, client_name, phone, email, state_id)
Pašlaik aktīvais darījums piltuvē kopā ar tā mainīgajiem būs pieejams tikai ar darījumiem saistītajās funkcijās un CRM.
Funkcijas parametri: \n****!**** name - (neobligāts), darījuma nosaukums. Ja nav norādīts, funkcija attiecas uz klienta pašreizējo aktīvo darījumu.
! budget - (neobligāts) darījuma vērtība. Ja nav norādīts, attiecas uz pašreizējo aktīvo darījumu.
Ja budget nav skaitlis, funkcija atgriezīs: budget must be a number
description - (neobligāts), darījuma apraksts.
Papildu parametri klienta izveidei:
client_name - (neobligāts) virkne, jauna klienta vārds
phone - (neobligāts) virkne, jauna klienta tālruņa numurs.
email - (neobligāts) virkne, jauna klienta e-pasta adrese.
Lai izveidotu klientu, ir jānorāda vismaz tālrunis vai e-pasts. Ja tiek norādīts tālrunis un projektā nav klienta ar šo tālruni, tiks izveidots jauns.
Ja tiek norādīts e-pasts bez tālruņa un projektā nav klienta ar šo e-pastu, tiks izveidots jauns.
Papildu parametrs:
state_id - skaitlis, ļauj iestatīt darījuma sākotnējo stāvokli tā izveides brīdī
Iestatīt vai atjaunināt darījuma nosaukumu
set_order_name(name, order_id)
name - ❗obligāts, virkne; darījuma nosaukums
order_id - (neobligāts) darījuma ID. Ja nav norādīts, izmaiņas attiecas uz klienta pašreizējo aktīvo darījumu.
Iestatīt vai atjaunināt darījuma budžetu
set_order_budget(budget, order_id)
budget -❗obligāts, skaitlis; darījuma vērtība
order_id - (neobligāts) darījuma ID. Ja nav norādīts, attiecas uz klienta pašreizējo aktīvo darījumu.
Lai pareizi izmantotu order_id:
- Varat to norādīt manuāli — iegūstiet darījuma ID un nododiet to kā funkcijas parametru, ja vēlaties mērķēt uz konkrētu darījumu.


- Iegūstiet to, izmantojot funkciju get_order_id(), jo iebūvētais mainīgais order_id atgriež vērtību formātā {client_id}-{order_id}, kas var izraisīt nepareizu darbību.
Darījumu sarakstu iegūšana \n((izņemot arhivētus, veiksmīgus vai neveiksmīgus darījumus))
get_active_orders_ids()
Iegūt veiksmīgu darījumu ID sarakstu
get_success_orders_ids()
Iegūt neveiksmīgu darījumu ID sarakstu
get_fail_orders_ids()
Darījuma mainīgā vērtības iegūšana
get_order_var(order_id, variable)
Parametri:
! order_id - darījuma ID
! variable - mainīgā nosaukums, kura vērtību vēlaties iegūt
Darījuma datu iegūšana
get_order_vars(order_id, names)
Parametri:
! order_id - darījuma ID
names - masīvs ar mainīgo nosaukumiem, kurus iegūt. Ja izlaists, funkcija atgriež visus mainīgos norādītajam darījumam
Funkcija atgriež vārdnīcu, kas satur mainīgos, kas uzskaitīti masīvā names darījumam, kas identificēts ar order_id. Ja names nav norādīts, tā atgriež vārdnīcu ar visiem norādītā darījuma mainīgajiem.
Darījuma mainīgā pievienošana
set_order_var(order_id, variable, value)
Parametri:
!** order_id** - darījuma ID
!** variable** - darījuma mainīgā nosaukums, ko pievienot vai atjaunināt
Ja vēlaties mainīt darījuma parametrus "name" vai "description", izmantojiet attiecīgi mainīgo nosaukumus "name" vai "description".
!** value** - mainīgā vērtība
Vairāku darījuma mainīgo pievienošana
set_order_vars(order_id, variables_dict)
Parametri:
!** order_id** - darījuma ID.
!** variables_dict** - mainīgo vārdnīca
Pāreja uz nākamo piltuves posmu
move_order_to_next_state(order_id)
Parametri:
order_id - darījuma ID. Ja nav norādīts, tiks pārvietots pašreizējais aktīvais darījums.
Darījuma posmu secība tiek noteikta atbilstoši MavibotCRM iestatītajai secībai.
Piltuves posma iegūšana MavibotCRM
get_state_id(client_id, order_id)
Varat arī kopēt piltuves posma ID tieši no "Posma iestatījumi".
Parametri:
order_id - klienta darījuma ID
Funkciju var izsaukt ar vai bez order_id parametra. Ja order_id ir izlaists, funkcija atgriezīs piltuves posma ID pašreizējam aktīvajam darījumam.
Lai pareizi izmantotu order_id:
- Varat to norādīt manuāli, iegūstot darījuma ID un nododot to kā funkcijas parametru, ja vēlaties mērķēt uz konkrētu darījumu.
- Iegūt to, izmantojot funkciju get_order_id(), jo iebūvētais mainīgais order_id atgriež vērtību formātā {client_id}-{order_id}, kas var izraisīt nepareizu darbību.
Klienta pārvietošana caur MavibotCRM piltuvi pēc posma ID
change_state(state_id, order_id)
Parametri:
! state_id - piltuves posma ID
order_id (neobligāts) - darījuma ID, ko pārvietot caur piltuvi. Ja izlaists, tiks pārvietots pašreizējais aktīvais darījums.
Darījuma ID iegūšana pēc mainīgā nosaukuma un vērtības
get_order_id_by_var_value(var_name, var_value, client_id)
Parametri:
! var_name - mainīgā nosaukums
! var_value - mainīgā vērtība;
client_id - (neobligāts) klienta darījuma ID; pēc noklusējuma ir klienta ID robotā
Jaunākā darījuma datuma un laika iegūšana
latest_order_datetime(client_id, dt_fmt)
Parametri:
client_id - (neobligāts) klienta darījuma ID; pēc noklusējuma ir klienta ID robotā;
dt_fmt - (neobligāts) atgrieztā datuma un laika formāts; pēc noklusējuma ir "%d.%m.%y %H:%M"
Klienta darījumu skaita iegūšana
count_client_orders(client_id, state_id, get_all, active)
Parametri:
client_id - (neobligāts) darījuma klienta ID; pēc noklusējuma ir klienta ID robotā;
state_id - (neobligāts) darījuma posma ID piltuvē;
get_all - (neobligāts) aktīvā parametra filtrēšanas karogs; pēc noklusējuma ir 1 (filtrēšana pēc aktīva ir atspējota);
active - tiek izmantots tikai tad, ja get_all ir 0; filtrē aktīvos darījumus; pēc noklusējuma ir 1 (atgriež tikai aktīvos darījumus);
Darījumu skaita iegūšana noteiktā darījuma posmā
get_count_orders(id) - atgriež darījumu skaitu, kas pašlaik atrodas noteiktā piltuves posmā pēc posma ID.
Funkcijai ir viens parametrs:
! id - darījuma posma ID.
Funkcijas izmantošanas piemērs:


Posma ID var atrast iestatījumos.
Tālāk funkcija jāievada kalkulatorā šādi:

Testējot robotu, robota atbilde sastāvēs no darījumu skaita posmā, kas norādīts ar funkcijai nodoto vērtību.
Darījuma dzēšana
delete_order(order_id) — dzēš darījumu MaviBotCRM.
order_id - (neobligāts) dzēšamā darījuma ID. Ja izlaists, tiks dzēsts jaunākais darījums.
Piemēri
Visas funkcijas ir vienkārši lietojamas.
Piemēram, izveidosim jaunu darījumu un nosūtīsim tā numuru klientam:


Klienta pašreizējā aktīvā darījuma ID var iegūt, izmantojot funkciju get_order_id(), vai iegūt pilnu klienta darījumu sarakstu, izmantojot get_active_orders_ids().




Koda piemērs kopēšanai
/* Izveidot jaunu darījumu */
oid = create_order()
/*Iegūt klienta aktīvā darījuma ID*/
oid = get_order_id()
/*Iegūt aktīvo darījumu sarakstu*/
res = get_active_orders_ids()
/*Pievienot vai atjaunināt vienu mainīgo darījumā*/
res = set_order_var('40630', 'обновлено', '#{current_date}')
vars = {"VAR1": "V111", "VAR2": "V222"}
res2 = set_order_vars('40630', vars)
ovar = get_order_vars('40630')
Veiksmīga darījuma atzīmes iestatīšana
set_order_status_success()
Apraksts
set_order_status_success(order_id)
Parametri:
order_id - darījuma ID. Ja parametrs nav norādīts, atzīme tiks iestatīta pašreizējam aktīvajam darījumam.
Neveiksmīga darījuma atzīmes iestatīšana
set_order_status_fail()
Apraksts
set_order_status_fail(order_id)
Parametri:
order_id - darījuma ID. Ja parametrs nav norādīts, atzīme tiks iestatīta pašreizējam aktīvajam darījumam.
Arhivēta darījuma atzīmes iestatīšana
set_order_status_archive()
Apraksts
set_order_status_archive(order_id)
Parametri:
order_id - darījuma ID. Ja parametrs nav norādīts, atzīme tiks iestatīta pašreizējam aktīvajam darījumam.
Piemēri
/Arhivēt pašreizējo aktīvo darījumu/
res_arh = set_order_status_archive()