For the complete documentation index, see llms.txt. This page is also available as Markdown.

Müşteriler ve CRM ile çalışma

Müşterilerle çalışma

AÇIKLAMA:

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()

Açıklama

was_in_state(message_id) bir müşterinin seçilen durumda (blokta) olup olmadığını kontrol eder. Blok numarasını editörden alabilirsiniz.

Blok düzenleyicisinin üst satırında blok numarası görüntülenir.

days_from_last_message() müşterinin son mesajından bu yana geçen gün sayısını belirler. 24 saatlik pencere içinde olup olmadığını kontrol etmek için oluşturulmuştur.

Örnek: d = days_from_last_message()

Müşterinin son mesajından bu yana 30 günden fazla geçmişse, işlev 9999 değerini döndürür.

serbest_client() sorumlu operatörü atamadan çıkarır. Örnek: free_client()

assign_to_user(email, only_active) bir diyaloğu bir operatöre atar, burada:

  1. email - bir dize parametresi (isteğe bağlı). Yalnızca e-posta sağlanırsa, bir diyalog operatörün mevcut durumundan bağımsız olarak belirtilen operatöre atanır.

  2. only_active - True veya False (isteğe bağlı parametre). True olarak ayarlanırsa, bir diyalog yalnızca operatör şu anda görevdeyse belirtilen operatöre atanır.

Örnekler:

assign_to_user() - şu anda görevde olan rastgele bir operatöre bir diyalog atar

assign_to_user('operatörün e-postası') - diyalogu operatörün durumundan bağımsız olarak atar

assign_to_user('operatörün e-postası', True) - diyalogu yalnızca şu anda görevde olmaları halinde belirtilen operatöre atar

distribute_client() otomatik dağıtım ayarlarına göre diyaloğu operatöre atar. Örnek: distribute_client()

get_operator() sorumlu operatörün e-postasını alır

Örnek: get_operator()

Görevleri sorumlu operatöre atamak veya onun mevcut olup olmadığını kontrol etmek için kullanılabilir. Sorumlu operatör yoksa None döndürür.

get_operator_name() sorumlu operatörün adını alır

Örnek: get_operator_name()

Bir müşteriye bilgi göstermek için kullanılabilir. Sorumlu operatör yoksa None döndürür. Operatörün atanmış bir adı yoksa, e-postasını döndürür.

delete_pended_messages() geçerli müşteri için planlanmış tüm mesajları siler. Varsayılan olarak ayrıca "İptal etme" okları tarafından oluşturulan mesajları da siler. Mesajları "İptal etme" oklardan korumak için, False parametresini iletin: delete_pended_messages(False).

set_note(comment) bir diyaloğa yorum ekler.

Örnek: set_note('Yeniden yap')

add_unread(count) bir müşteriyle olan diyaloğu okunmamış olarak işaretler

count parametresi atlanabilir veya 1 olarak ayarlanabilir; bu durumda, müşteriyle olan diyalog +1 okunmamış mesaj göstergesi gösterir.

Başka herhangi bir sayı geçirilirse, "Müşteriler" bölümünde müşteriden gelen okunmamış mesaj sayısı olarak görüntülenir.

clear_unread() bir diyaloğu okundu olarak işaretler

unsubscribe() Bot mesajlarından aboneliği iptal etmek için işlev. Bir örnek bu makalede verilmiştir. bu makalede. Aboneliği iptal edilen müşteri için bir simge görünür — çarpı işaretli kırmızı bir mesaj.

Önemli!

Calculator ilk olarak çalıştırılır, ve ancak ondan sonra mesaj gönderilir.

Bu nedenle, aşağıdaki gibi bir son mesaj göndermeniz gerekiyorsa "Bot aboneliğiniz iptal edildi" veya "Engellendiniz", iki adımlı bir süreç kullanmalısınız:

  1. Önce, son mesajı içeren bir blok gönderin. Ardından, boş bir blok gönderin

  2. abonelikten çıkma/bloklama işlevini içeren. İkisini tek bir blokta yapmaya çalışırsanız, mesaj gönderilmez.

Eğer

işlevini mesajınızla aynı bloğun Calculator'ına yerleştirirseniz, mesaj unsubscribe() gönderilmeyecek , ve sistem bir hata görüntüleyecektir.gönderilmeyecek

block_client() müşterinin bota mesaj göndermesini engeller. Bot tarafından daha önce planlanan mesajlar da iptal edilir. Ancak yine de bölümdeki diyalog üzerinden müşteriye doğrudan mesaj göndermek mümkün olacaktır "Müşteriler" bölümünde

Engellenen müşteride bir işaret olur — kırmızı bir kilit simgesi.

unblock_client() müşterinin engelini kaldırır. Müşteri botla yeniden etkileşime geçebilir ve mesaj zincirlerinde ilerleyebilir.

set_client_name(name) müşterinin adını değiştirir. Müşterinin adını çift tırnak içinde bir dize olarak iletin. Ayrıca müşterinin adını içeren bir değişken de kullanabilirsiniz, örneğin: set_client_name("John Smith")

get_bind_clients() geçerli müşteriye bağlı müşteri kimliklerinden oluşan bir dizi döndüren parametresiz bir işlevdir.

get_current_pipline_id() müşterinin şu anda içinde bulunduğu huni kimliğini döndüren parametresiz bir işlevdir.

Müşterinin anlaşması "işlenmemiş" aşamasındaysa, None döndürür.

Görevlerle çalışma

MaviBot tarih formatı olarak "dd.mm.yyyy" ve saat formatı olarak "HH:MM".

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

Açıklama

create_task(email, name, date_srok, description, time_srok) – bir görev oluşturur

Parametreler: ! email - sorumlu kişinin e-postası ! name - görev adı ! date_srok - vade tarihi, tarih ! description - görev açıklaması time_srok - vade saati, saat

update_task(task_id,email, name, date_srok, description, time_srok) - bir görevi günceller

Parametreler: ! task_id- görev kimliği ! email - sorumlu kişinin e-postası ! name - görev adı ! date_srok - vade tarihi, tarih ! description - görev açıklaması time_srok - vade saati, saat

done_task(task_id)- görevi tamamlandı olarak işaretler

Parametreler: ! task_id- görev kimliği

delete_task(task_id) – bir görevi siler

Parametreler: ! task_id- görev kimliği

Sorumlu kullanıcı atama

assign_order_to_user(email, order_id) — bir anlaşmaya sorumlu kullanıcı atar

  • email — sorumlu olarak atanacak çalışanın e-postası. Zorunlu.

  • order_id — çalışanın atanacağı anlaşmanın kimliği. Belirtilmezse geçerli anlaşma kullanılır. İsteğe bağlı.

Sorumlu kullanıcının e-postasını al

get_order_operator(order_id) — bir anlaşma için sorumlu kullanıcının e-postasını alır

  • order_id — sorumlu kullanıcısı alınacak anlaşmanın kimliği. Belirtilmezse geçerli anlaşma kullanılır. İsteğe bağlı.

Örnekler

Operatör için bir görev oluşturalım:

Vade tarihini ve açıklamayı güncelleyin.

Görev güncelleme

Görevi tamamlandı olarak işaretleyin.

Görevin tamamlandı olarak işaretlenmesi

Görev silme

Kopyalamak için kod örneği

task_id=create_task('admin@mavibot.ai', 'Test', '22.01.2023', 'test görev', '08:00') status=delete_task(task_id)

Anlaşmalarla çalışma

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) |

Açıklama

Geçerli anlaşma kimliğini alma

get_order_id() - anlaşmanın durumunu döndürür.

Yeni bir anlaşma oluşturma

create_order(name, budget, description, client_name, phone, email, state_id) Huni içindeki şu anda etkin olan anlaşma ve değişkenleri yalnızca anlaşma ile ilgili işlevlerde ve CRM'de kullanılabilir. İşlev parametreleri: ! name - (isteğe bağlı), anlaşma adı. Sağlanmazsa işlev müşterinin geçerli etkin anlaşmasına uygulanır.

! bütçe - (isteğe bağlı) anlaşma değeri. Sağlanmazsa geçerli etkin anlaşmaya uygulanır. Eğer bütçe bir sayı değilse, işlev şunu döndürür: bütçe bir sayı olmalıdır

description - (isteğe bağlı), anlaşma açıklaması.

Müşteri oluşturma için ek parametreler:

client_name - (isteğe bağlı) dize, yeni bir müşterinin adı

phone - (isteğe bağlı) dize, yeni bir müşterinin telefon numarası.

email - (isteğe bağlı) dize, yeni bir müşterinin e-posta adresi.

Bir müşteri oluşturmak için en az telefon veya e-posta sağlanmalıdır. Telefon sağlanır ve projede bu telefona sahip bir müşteri yoksa, yeni bir müşteri oluşturulur.

Telefon olmadan e-posta sağlanır ve bu e-postaya sahip bir müşteri yoksa, yeni bir müşteri oluşturulur.

Ek parametre:

state_id - sayı, oluşturma sırasında anlaşmanın başlangıç durumunu ayarlamaya olanak tanır

Anlaşma adını ayarla veya güncelle

set_order_name(name, order_id)

name - ❗zorunlu, dize; anlaşma adı

order_id - (isteğe bağlı) anlaşma kimliği. Sağlanmazsa değişiklik müşterinin geçerli etkin anlaşmasına uygulanır.

Anlaşma bütçesini ayarla veya güncelle

set_order_budget(budget, order_id)

bütçe -❗zorunlu, sayı; anlaşma değeri

order_id - (isteğe bağlı) anlaşma kimliği. Sağlanmazsa müşterinin geçerli etkin anlaşmasına uygulanır.

order_id'yi doğru kullanmak için:

  1. Bunu manuel olarak belirtebilirsiniz — belirli bir anlaşmayı hedeflemek istiyorsanız anlaşma kimliğini alın ve işlev parametresi olarak iletin.

  1. Bunu get_order_id() işlevini kullanarak alın, çünkü yerleşik order_id değişkeni değeri {client_id}-{order_id} biçiminde döndürür ve bu yanlış davranışa neden olabilir.

Anlaşma listelerini alma ((arşivlenmiş, başarılı veya başarısız anlaşmalar hariç))

get_active_orders_ids()

Başarılı anlaşma kimliklerinin listesini alın

get_success_orders_ids()

Başarısız anlaşma kimliklerinin listesini alın

get_fail_orders_ids()

Anlaşma değişkeninin değerini alma

get_order_var(order_id, variable)

Parametreler:

! order_id - anlaşma kimliği

! variable - değerini almak istediğiniz değişken adı

Anlaşma verilerini alma

get_order_vars(order_id, names)

Parametreler:

! order_id - anlaşma kimliği

names - alınacak değişken adlarından oluşan bir dizi. Atlanırsa işlev belirtilen anlaşmanın tüm değişkenlerini döndürür

İşlev, names dizide listelenen değişkenleri içeren bir sözlük döndürür order_id. Eğer names sağlanmazsa, belirtilen anlaşmanın tüm değişkenlerini içeren bir sözlük döndürür.

Bir anlaşma değişkeni ekleme

set_order_var(order_id, variable, value)

Parametreler:

! order_id - anlaşma kimliği

! variable - bir anlaşmada eklenecek veya güncellenecek değişkenin adı

! value - değişken değeri

Birden fazla anlaşma değişkeni ekleme

set_order_vars(order_id, variables_dict)

Parametreler:

! order_id - anlaşma kimliği.

! variables_dict - değişkenlerden oluşan bir sözlük

Bir sonraki huni durumuna geçme

move_order_to_next_state(order_id)

Parametreler: order_id - anlaşma kimliği. Belirtilmezse geçerli etkin anlaşma taşınır. Anlaşma durumlarının sırası MavibotCRM'de ayarlanan sıraya göre belirlenir.

MavibotCRM'de huni aşamasını alma

get_state_id(client_id, order_id) Huni durum kimliğini doğrudan şuradan da kopyalayabilirsiniz "Durum ayarları".

Parametreler:

order_id - müşteri anlaşma kimliği

İşlevi parametreyle veya parametresiz çağırabilirsiniz. order_id atlanırsa, işlev geçerli etkin anlaşma için huni durum kimliğini döndürür. order_id işlevi parametreyle veya parametresiz çağırabilirsiniz. order_id atlanırsa, işlev geçerli etkin anlaşma için huni durum kimliğini döndürür.

order_id'nin doğru kullanımı için:

  1. Belirli bir anlaşmayı hedeflemek istediğinizde, anlaşma kimliğini alıp işlev parametresi olarak ileterek bunu manuel olarak belirtebilirsiniz.

  2. Bunu get_order_id() işlevini kullanarak alın, çünkü yerleşik order_id değişkeni {client_id}-{order_id} biçiminde bir değer döndürür ve bu yanlış davranışa neden olabilir.

Bir potansiyel müşteriyi durum kimliğine göre MavibotCRM hunisinde ilerletme

change_state(state_id, order_id)

Parametreler: ! state_id - huni durum kimliği order_id ( isteğe bağlı) - huni boyunca taşınacak anlaşma kimliği. Atlanırsa geçerli etkin anlaşma taşınır.

Değişken adı ve değere göre anlaşma kimliğini alma

get_order_id_by_var_value(var_name, var_value, client_id)

Parametreler: ! var_name - değişken adı ! var_value - değişken değeri; client_id - (isteğe bağlı) müşteri anlaşma kimliği; varsayılan olarak bottaki müşteri kimliğini kullanır

En son anlaşmanın tarih ve saatini alma

latest_order_datetime(client_id, dt_fmt)

Parametreler: client_id - (isteğe bağlı) müşteri anlaşma kimliği; varsayılan olarak bottaki müşteri kimliğini kullanır; df_fmt - (isteğe bağlı) döndürülen tarih ve saat için biçim; varsayılan "%d.%m.%y %H:%M"

Müşteri anlaşmalarının sayısını alma

count_client_orders(client_id, state_id, get_all, active)

Parametreler: client_id - (isteğe bağlı) anlaşmanın müşteri kimliği; varsayılan olarak bottaki müşteri kimliğini kullanır; state_id - (isteğe bağlı) hunideki anlaşma durum kimliği; get_all - (isteğe bağlı) etkin parametre için filtre bayrağı; varsayılan 1'dir (etkinliğe göre filtreleme devre dışıdır); active - yalnızca get_all 0 olduğunda kullanılır; etkin anlaşmaları filtreler; varsayılan 1'dir (yalnızca etkin anlaşmaları döndürür);

Belirli bir anlaşma durumundaki anlaşma sayısını alın

get_count_orders(id) - şu anda belirli bir huni durumunda bulunan anlaşma sayısını durum kimliğine göre döndürür.

İşlev tek bir parametre alır:

! id - anlaşma durum kimliği.

İşlev kullanım örneği:

Aşama kimliği ayarlarda bulunabilir.

Ardından, işlevi Calculator'a şu şekilde girmeniz gerekir:

Botu test ederken, botun yanıtı işleve geçirilen değerin belirttiği durumdaki anlaşma sayısından oluşacaktır.

Bir anlaşmayı silme

delete_order(order_id) — içinde bir anlaşmayı siler MaviBotCRM.

order_id - (isteğe bağlı) silinecek anlaşma kimliği. Atlanırsa en son anlaşma silinir.

Örnekler

Tüm işlevler kullanımı kolaydır. Örneğin, yeni bir anlaşma oluşturalım ve numarasını müşteriye gönderelim:

Müşteri talebi kaydı

get_order_id() işlevini kullanarak müşterinin geçerli etkin anlaşma kimliğini alabilir veya get_active_orders_ids() kullanarak müşterinin anlaşmalarının tam listesini alabilirsiniz.

Geçerli etkin anlaşma kimliğini alma
Etkin anlaşmaların listesini alma
Kopyalamak için kod örneği

Başarılı anlaşma etiketi ayarlama

set_order_status_success()

set_order_status_success(order_id)

Parametreler:

order_id - anlaşma kimliği. Parametre belirtilmezse etiket geçerli etkin anlaşma için ayarlanır.

Başarısız anlaşma etiketi ayarlama

set_order_status_fail()

set_order_status_fail(order_id)

Parametreler:

order_id - anlaşma kimliği. Parametre belirtilmezse etiket geçerli etkin anlaşma için ayarlanır.

Arşivlenmiş anlaşma etiketi ayarlama

set_order_status_archive()

set_order_status_archive(order_id)

Parametreler:

order_id - anlaşma kimliği. Parametre belirtilmezse etiket geçerli etkin anlaşma için ayarlanır.

Son güncelleme