การทำงานกับลูกค้า
คำอธิบายสัญลักษณ์:
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)
ตรวจสอบว่าลูกค้าอยู่ในสถานะ (บล็อก) ที่เลือกหรือไม่ คุณสามารถรับหมายเลขบล็อกได้จากโปรแกรมแก้ไข

days_from_last_message()
กำหนดจำนวนวันนับตั้งแต่ข้อความล่าสุดของลูกค้า สร้างขึ้นเพื่อตรวจสอบว่าอยู่ในกรอบเวลา 24 ชั่วโมงหรือไม่
ตัวอย่าง:
d = days_from_last_message()
หากผ่านไปมากกว่า 30 วันนับตั้งแต่ข้อความล่าสุดของลูกค้า ฟังก์ชันจะคืนค่า 9999
free***_***client()
ยกเลิกการกำหนดผู้ปฏิบัติงานที่รับผิดชอบ
ตัวอย่าง: free_client()
assign_to_user(email, only_active)
กำหนดบทสนทนาให้กับผู้ปฏิบัติงาน โดยที่:
- email - พารามิเตอร์สตริง (ไม่บังคับ) หากระบุเฉพาะอีเมล บทสนทนาจะถูกกำหนดให้กับผู้ปฏิบัติงานที่ระบุ โดยไม่คำนึงถึงสถานะปัจจุบันของเขา
- only_active - True หรือ False (พารามิเตอร์ไม่บังคับ) หากตั้งค่าเป็น True บทสนทนาจะถูกกำหนดให้กับผู้ปฏิบัติงานที่ระบุเฉพาะเมื่อเขากำลังอยู่ในกะเท่านั้น
ตัวอย่าง:
assign_to_user() - กำหนดบทสนทนาให้กับผู้ปฏิบัติงานสุ่มที่กำลังอยู่ในกะ
assign_to_user('อีเมลของผู้ปฏิบัติงาน') - กำหนดบทสนทนาให้กับผู้ปฏิบัติงานโดยไม่คำนึงถึงสถานะของเขา
assign_to_user('อีเมลของผู้ปฏิบัติงาน', True) - กำหนดบทสนทนาให้กับผู้ปฏิบัติงานที่ระบุเฉพาะเมื่อเขากำลังอยู่ในกะเท่านั้น
distribute_client()
กำหนดบทสนทนาให้กับผู้ปฏิบัติงานตามการตั้งค่าการกระจายอัตโนมัติ
ตัวอย่าง: distribute_client()
get_operator()
ดึงข้อมูลอีเมลของผู้ปฏิบัติงานที่รับผิดชอบ
ตัวอย่าง: get_operator()
สามารถใช้เพื่อกำหนดงานให้กับผู้ปฏิบัติงานที่รับผิดชอบหรือตรวจสอบว่ามีเขาอยู่หรือไม่ หากไม่มีผู้ปฏิบัติงานที่รับผิดชอบ จะคืนค่า None
get_operator_name()
ดึงชื่อของผู้ปฏิบัติงานที่รับผิดชอบ
ตัวอย่าง: get_operator_name()
สามารถใช้เพื่อแสดงข้อมูลให้ลูกค้าทราบ หากไม่มีผู้ปฏิบัติงานที่รับผิดชอบ จะคืนค่า None หากผู้ปฏิบัติงานไม่มีชื่อที่กำหนดไว้ จะคืนค่าอีเมลของเขา
delete_pended_messages()
ลบข้อความที่กำหนดเวลาทั้งหมดสำหรับลูกค้าปัจจุบัน โดยค่าเริ่มต้น จะลบข้อความที่สร้างโดยลูกศร "Do not cancel" ด้วย หากต้องการเก็บข้อความจากลูกศร "Do not cancel" ให้ส่งพารามิเตอร์ False: delete_pended_messages(False)
set_note(comment)
เพิ่มความคิดเห็นในบทสนทนา
ตัวอย่าง: set_note('Redo')
add_unread(count)
ทำเครื่องหมายบทสนทนากับลูกค้าว่ายังไม่ได้อ่าน
พารามิเตอร์ count สามารถละเว้นหรือตั้งค่าเป็น 1; ในกรณีนี้ บทสนทนากับลูกค้าจะแสดงตัวบ่งชี้ข้อความที่ยังไม่ได้อ่าน +1


หากส่งตัวเลขอื่นใด ตัวเลขนั้นจะแสดงในส่วน "Clients" เป็นจำนวนข้อความที่ยังไม่ได้อ่านจากลูกค้า

clear_unread()
ทำเครื่องหมายบทสนทนาว่าอ่านแล้ว
unsubscribe()
ฟังก์ชันสำหรับยกเลิกการสมัครรับข้อความจากบอท ตัวอย่างมีให้ ในบทความนี้
สำหรับลูกค้าที่ยกเลิกการสมัครแล้ว สัญลักษณ์จะปรากฏขึ้น — ข้อความสีแดงที่มีกากบาท


สำคัญ!
เครื่องคิดเลขจะถูกดำเนินการก่อน จากนั้นจึงส่งข้อความ
ดังนั้น หากคุณต้องการส่งข้อความสุดท้ายเช่น "คุณได้ยกเลิกการสมัครรับข้อความจากบอทแล้ว" หรือ "คุณถูกบล็อกแล้ว" คุณต้องใช้กระบวนการสองขั้นตอน:
- ขั้นแรก ส่งบล็อก ที่มีข้อความสุดท้าย
- จากนั้น ส่งบล็อกว่าง ที่มีฟังก์ชันยกเลิกการสมัคร/บล็อก
หากคุณพยายามทำทั้งสองอย่างในบล็อกเดียว ข้อความจะไม่ถูกส่ง

หากคุณวางฟังก์ชัน unsubscribe() ในเครื่องคิดเลขของบล็อกเดียวกับข้อความของคุณ ข้อความจะ ไม่ถูกส่ง และระบบจะแสดงข้อผิดพลาด

block_client()
บล็อกลูกค้าจากการส่งข้อความถึงบอท ข้อความที่กำหนดเวลาไว้ก่อนหน้านี้จากบอทจะถูกยกเลิกด้วย อย่างไรก็ตาม จะยังคงสามารถส่งข้อความถึงลูกค้าโดยตรงจากบทสนทนาในส่วน "Clients" ได้

ลูกค้าที่ถูกบล็อกจะมีเครื่องหมาย — ไอคอนล็อคสีแดง

unblock_client()
ปลดบล็อกลูกค้า ลูกค้าจะสามารถโต้ตอบกับบอทอีกครั้งและดำเนินการตามลำดับข้อความต่อไปได้
set_client_name(name)
เปลี่ยนชื่อลูกค้า ส่งชื่อลูกค้าเป็นสตริงในเครื่องหมายคำพูดคู่ คุณยังสามารถใช้ตัวแปรที่มีชื่อลูกค้าได้ เช่น: set_client_name("John Smith")
get_bind_clients()
ฟังก์ชันที่ไม่มีพารามิเตอร์ซึ่งคืนค่าอาร์เรย์ของ ID ลูกค้าที่เชื่อมโยงกับลูกค้าปัจจุบัน
get_current_pipline_id()
ฟังก์ชันที่ไม่มีพารามิเตอร์ซึ่งคืนค่า ID ช่องทางที่ลูกค้าอยู่ในปัจจุบัน
หากดีลของลูกค้าอยู่ในขั้นตอน "unprocessed" จะคืนค่า None
การทำงานกับงาน
ฟังก์ชันที่ทำงานกับงานจะคืนค่าสถานะการดำเนินการเป็น True หรือ ID งานเมื่อสำเร็จ ในกรณีที่ล้มเหลว จะคืนค่า False หรือ None
MaviBot ใช้รูปแบบวันที่ "dd.mm.yyyy" และรูปแบบเวลา "HH:MM"
create_task() | update_task() | done_task() | delete_task()
create_task(email, name, date_srok, description, time_srok) – สร้างงาน
พารามิเตอร์:\ ! email - อีเมลผู้รับผิดชอบ\ ! name - ชื่องาน\ ! date_srok - วันที่ครบกำหนด, วันที่\ ! description - คำอธิบายงาน
time_srok - เวลาครบกำหนด, เวลา
update_task(task_id,email, name, date_srok, description, time_srok) - อัปเดตงาน
พารามิเตอร์:\ ! task_id- ID งาน\ ! email - อีเมลผู้รับผิดชอบ\ ! name - ชื่องาน\ ! date_srok - วันที่ครบกำหนด, วันที่\ ! description - คำอธิบายงาน
time_srok - เวลาครบกำหนด, เวลา
done_task(task_id)- ทำเครื่องหมายงานว่าเสร็จสมบูรณ์
พารามิเตอร์:\ ! task_id- ID งาน
delete_task(task_id) – ลบงาน
พารามิเตอร์:\ ! task_id- ID งาน
กำหนดผู้ใช้ที่รับผิดชอบ
assign_order_to_user(email, order_id) — กำหนดผู้ใช้ที่รับผิดชอบให้กับดีล
-
email— อีเมลของพนักงานที่จะถูกกำหนดเป็นผู้รับผิดชอบ จำเป็น -
order_id— ID ของดีลที่จะกำหนดพนักงานให้ หากไม่ระบุ จะใช้ดีลปัจจุบัน ไม่บังคับ
รับอีเมลของผู้ใช้ที่รับผิดชอบ
get_order_operator(order_id) — รับอีเมลของผู้ใช้ที่รับผิดชอบสำหรับดีล
-
order_id— ID ของดีลที่จะดึงข้อมูลผู้ใช้ที่รับผิดชอบ หากไม่ระบุ จะใช้ดีลปัจจุบัน ไม่บังคับ
มาสร้างงานสำหรับผู้ปฏิบัติงานกัน:

อัปเดตวันที่ครบกำหนดและคำอธิบาย

ทำเครื่องหมายงานว่าเสร็จสมบูรณ์

การลบงาน

task_id=create_task('[email protected]', 'Test', '22.01.2023', 'test task', '08:00') status=delete_task(task_id)
การทำงานกับดีล
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) |
การดึง ID ดีลปัจจุบัน
get_order_id() - คืนค่าสถานะดีล
การสร้างดีลใหม่
create_order(name, budget, description, client_name, phone, email, state_id)
ดีลที่ใช้งานอยู่ในปัจจุบันในไปป์ไลน์ พร้อมด้วยตัวแปร จะพร้อมใช้งานเฉพาะในฟังก์ชันที่เกี่ยวข้องกับดีลและใน CRM เท่านั้น
พารามิเตอร์ฟังก์ชัน: \ ! name - (ไม่บังคับ) ชื่อดีล หากไม่ระบุ ฟังก์ชันจะใช้กับดีลที่ใช้งานอยู่ปัจจุบันของลูกค้า
! budget - (ไม่บังคับ) มูลค่าดีล หากไม่ระบุ จะใช้กับดีลที่ใช้งานอยู่ปัจจุบัน
หาก budget ไม่ใช่ตัวเลข ฟังก์ชันจะคืนค่า: budget must be a number
description - (ไม่บังคับ) คำอธิบายดีล
พารามิเตอร์เพิ่มเติมสำหรับการสร้างลูกค้า:
client_name - (ไม่บังคับ) สตริง ชื่อของลูกค้าใหม่
phone - (ไม่บังคับ) สตริง หมายเลขโทรศัพท์ของลูกค้าใหม่
email - (ไม่บังคับ) สตริง ที่อยู่อีเมลของลูกค้าใหม่
ในการสร้างลูกค้า ต้องระบุอย่างน้อยโทรศัพท์หรืออีเมล หากระบุโทรศัพท์และไม่มีลูกค้าที่มีโทรศัพท์นี้อยู่ในโปรเจกต์ จะสร้างลูกค้าใหม่
หากระบุอีเมลโดยไม่มีโทรศัพท์และไม่มีลูกค้าที่มีอีเมลนี้อยู่ จะสร้างลูกค้าใหม่
พารามิเตอร์เพิ่มเติม:
state_id - ตัวเลข อนุญาตให้ตั้งค่าสถานะเริ่มต้นของดีลเมื่อสร้าง
ตั้งค่าหรืออัปเดตชื่อดีล
set_order_name(name, order_id)
name - ❗จำเป็น, สตริง; ชื่อดีล
order_id - (ไม่บังคับ) ID ดีล หากไม่ระบุ การเปลี่ยนแปลงจะใช้กับดีลที่ใช้งานอยู่ปัจจุบันของลูกค้า
ตั้งค่าหรืออัปเดตงบประมาณดีล
set_order_budget(budget, order_id)
budget -❗จำเป็น, ตัวเลข; มูลค่าดีล
order_id - (ไม่บังคับ) ID ดีล หากไม่ระบุ จะใช้กับดีลที่ใช้งานอยู่ปัจจุบันของลูกค้า
หากต้องการใช้ order_id อย่างถูกต้อง:
- คุณสามารถระบุด้วยตนเอง — รับ ID ดีลและส่งเป็นพารามิเตอร์ฟังก์ชันหากคุณต้องการกำหนดเป้าหมายดีลเฉพาะ


- ดึงข้อมูลโดยใช้ฟังก์ชัน get_order_id() เนื่องจากตัวแปร order_id ในตัวจะคืนค่าในรูปแบบ {client_id}-{order_id} ซึ่งอาจทำให้เกิดพฤติกรรมที่ไม่ถูกต้อง
การดึงรายการดีล
((ไม่รวมดีลที่เก็บถาวร สำเร็จ หรือล้มเหลว))
get_active_orders_ids()
รับรายการ ID ดีลที่สำเร็จ
get_success_orders_ids()
รับรายการ ID ดีลที่ล้มเหลว
get_fail_orders_ids()
การดึงค่าของตัวแปรดีล
get_order_var(order_id, variable)
พารามิเตอร์:
! order_id - ID ดีล
! variable - ชื่อตัวแปรที่คุณต้องการดึงค่า
การดึงข้อมูลดีล
get_order_vars(order_id, names)
พารามิเตอร์:
! order_id - ID ดีล
names - อาร์เรย์ของชื่อตัวแปรที่จะดึง หากละเว้น ฟังก์ชันจะคืนค่าตัวแปรทั้งหมดสำหรับดีลที่ระบุ
ฟังก์ชันคืนค่าพจนานุกรมที่มีตัวแปรที่ระบุในอาร์เรย์ names สำหรับดีลที่ระบุโดย order_id หากไม่ระบุ names จะคืนค่าพจนานุกรมที่มีตัวแปรทั้งหมดของดีลที่ระบุ
การเพิ่มตัวแปรดีล
set_order_var(order_id, variable, value)
พารามิเตอร์:
! order_id - ID ดีล
! variable - ชื่อของตัวแปรที่จะเพิ่มหรืออัปเดตในดีล
หากคุณต้องการเปลี่ยนพารามิเตอร์ดีล "name" หรือ "description" ให้ใช้ชื่อตัวแปร "name" หรือ "description" ตามลำดับ
! value - ค่าตัวแปร
การเพิ่มตัวแปรดีลหลายตัว
set_order_vars(order_id, variables_dict)
พารามิเตอร์:
! order_id - ID ดีล
! variables_dict - พจนานุกรมของตัวแปร
การย้ายไปยังสถานะไปป์ไลน์ถัดไป
move_order_to_next_state(order_id)
พารามิเตอร์:
order_id - ID ดีล หากไม่ระบุ ดีลที่ใช้งานอยู่ปัจจุบันจะถูกย้าย
ลำดับของสถานะดีลถูกกำหนดตามลำดับที่ตั้งค่าใน MavibotCRM
การดึงขั้นตอนช่องทางใน MavibotCRM
get_state_id(client_id, order_id)
คุณยังสามารถคัดลอก ID สถานะไปป์ไลน์ได้โดยตรงจาก "State settings"
พารามิเตอร์:
order_id - ID ดีลของลูกค้า
คุณสามารถเรียกใช้ฟังก์ชันโดยมีหรือไม่มีพารามิเตอร์ order_id หากละเว้น order_id ฟังก์ชันจะคืนค่า ID สถานะไปป์ไลน์สำหรับดีลที่ใช้งานอยู่ปัจจุบัน
สำหรับการใช้งาน order_id อย่างถูกต้อง:
- คุณสามารถระบุด้วยตนเองโดยรับ ID ดีลและส่งเป็นพารามิเตอร์ฟังก์ชันเมื่อคุณต้องการกำหนดเป้าหมายดีลเฉพาะ
- ดึงข้อมูลโดยใช้ฟังก์ชัน get_order_id() เนื่องจากตัวแปร order_id ในตัวจะคืนค่าในรูปแบบ {client_id}-{order_id} ซึ่งอาจทำให้เกิดพฤติกรรมที่ไม่ถูกต้อง
การย้ายลีดผ่านช่องทาง MavibotCRM ตาม ID สถานะ
change_state(state_id, order_id)
พารามิเตอร์:\ ! state_id - ID สถานะช่องทาง
order_id ( ไม่บังคับ) - ID ดีลที่จะย้ายผ่านไปป์ไลน์ หากละเว้น ดีลที่ใช้งานอยู่ปัจจุบันจะถูกย้าย
การรับ ID ดีลตามชื่อตัวแปรและค่า
get_order_id_by_var_value(var_name, var_value, client_id)
พารามิเตอร์:\ ! var_name - ชื่อตัวแปร\ ! var_value - ค่าตัวแปร;
client_id - (ไม่บังคับ) ID ดีลของลูกค้า; ค่าเริ่มต้นคือ ID ลูกค้าในบอท
การรับวันที่และเวลาของดีลล่าสุด
latest_order_datetime(client_id, dt_fmt)
พารามิเตอร์:
client_id - (ไม่บังคับ) ID ดีลของลูกค้า; ค่าเริ่มต้นคือ ID ลูกค้าในบอท;
df_fmt - (ไม่บังคับ) รูปแบบสำหรับวันที่และเวลาที่ส่งคืน; ค่าเริ่มต้นคือ "%d.%m.%y %H:%M"
การรับจำนวนดีลของลูกค้า
count_client_orders(client_id, state_id, get_all, active)
พารามิเตอร์:
client_id - (ไม่บังคับ) ID ลูกค้าของดีล; ค่าเริ่มต้นคือ ID ลูกค้าในบอท;
state_id - (ไม่บังคับ) ID สถานะดีลในไปป์ไลน์;
get_all - (ไม่บังคับ) แฟล็กตัวกรองสำหรับพารามิเตอร์ active; ค่าเริ่มต้นคือ 1 (ปิดการกรองตาม active);
active - ใช้เมื่อ get_all เป็น 0 เท่านั้น; กรองดีลที่ใช้งานอยู่; ค่าเริ่มต้นคือ 1 (คืนค่าเฉพาะดีลที่ใช้งานอยู่);
รับจำนวนดีลในสถานะดีลเฉพาะ
get_count_orders(id) - คืนค่าจำนวนดีลที่อยู่ในสถานะไปป์ไลน์เฉพาะตาม ID สถานะ
ฟังก์ชันรับพารามิเตอร์เดียว:
! id - ID สถานะดีล
ตัวอย่างการใช้งานฟังก์ชัน:


สามารถค้นหา ID ขั้นตอนได้ในการตั้งค่า
ถัดไป คุณต้องป้อนฟังก์ชันในเครื่องคิดเลขดังนี้:

เมื่อทดสอบบอท การตอบสนองของบอทจะประกอบด้วยจำนวนดีลในสถานะที่ระบุโดยค่าที่ส่งไปยังฟังก์ชัน
การลบดีล
delete_order(order_id) — ลบดีลใน MaviBotCRM
order_id - (ไม่บังคับ) ID ดีลที่จะลบ หากละเว้น ดีลล่าสุดจะถูกลบ
ฟังก์ชันทั้งหมดใช้งานง่าย
ตัวอย่างเช่น มาสร้างดีลใหม่และส่งหมายเลขให้ลูกค้ากัน:


คุณสามารถรับ ID ดีลที่ใช้งานอยู่ปัจจุบันของลูกค้าได้โดยใช้ฟังก์ชัน get_order_id() หรือดึงรายการดีลทั้งหมดของลูกค้าโดยใช้ get_active_orders_ids()




การตั้งค่าแท็กดีลที่สำเร็จ
set_order_status_success()
คำอธิบาย
set_order_status_success(order_id)
พารามิเตอร์:
order_id - ID ดีล หากไม่ระบุพารามิเตอร์ แท็กจะถูกตั้งค่าสำหรับดีลที่ใช้งานอยู่ปัจจุบัน
การตั้งค่าแท็กดีลที่ล้มเหลว
set_order_status_fail()
คำอธิบาย
set_order_status_fail(order_id)
พารามิเตอร์:
order_id - ID ดีล หากไม่ระบุพารามิเตอร์ แท็กจะถูกตั้งค่าสำหรับดีลที่ใช้งานอยู่ปัจจุบัน
การตั้งค่าแท็กดีลที่เก็บถาวร
set_order_status_archive()
คำอธิบาย
set_order_status_archive(order_id)
พารามิเตอร์:
order_id - ID ดีล หากไม่ระบุพารามิเตอร์ แท็กจะถูกตั้งค่าสำหรับดีลที่ใช้งานอยู่ปัจจุบัน
ตัวอย่าง
/*Archive the current active deal*/
res_arh = set_order_status_archive()


