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:

  1. 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.
  2. 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:

  1. Vispirms nosūtiet bloku, kas satur pēdējo ziņojumu.
  2. 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:

  1. 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.

  1. 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:

  1. 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.
  2. 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()