> For the complete documentation index, see [llms.txt](https://docs.mavibot.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mavibot.ai/doc/tr/chatbot/functions/hesaplayici/crm.md).

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

## Müşterilerle çalışma

<mark style="color:kırmızı;">**AÇIKLAMA:**</mark>

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

<details>

<summary>Açıklama</summary>

**was\_in\_state(message\_id)**\
bir müşterinin seçilen durumda (blokta) olup olmadığını kontrol eder. Blok numarasını editörden alabilirsiniz.

<figure><img src="/files/97b89d1e4562e26f09ebc44b90cbe7e10ea87060" alt=""><figcaption><p>Blok düzenleyicisinin üst satırında blok numarası görüntülenir.</p></figcaption></figure>

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

{% hint style="info" %}
Müşterinin son mesajından bu yana 30 günden fazla geçmişse, işlev 9999 değerini döndürür.
{% endhint %}

\
**serbest*****\_*****client()**\
sorumlu operatörü atamadan çıkarır.&#x20;Ö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.&#x20;
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&#x20;

`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()`&#x20;

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()`&#x20;

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.

<div data-with-frame="true"><figure><img src="/files/c6c636bf4a837efe05c2ed738f76a5df8efc567b" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/acc813277999a1bb0a48d688268ba1cba5d44b63" alt="" width="375"><figcaption></figcaption></figure></div>

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.

<div data-with-frame="true"><figure><img src="/files/4d05f3e7e8e89410daa37be4fbce77ace3286bc7" alt="" width="563"><figcaption></figcaption></figure></div>

**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.](/doc/tr/is-e-postalari/bot-aboneliginden-cikma.md)&#x20; Aboneliği iptal edilen müşteri için bir simge görünür — çarpı işaretli kırmızı bir mesaj.

<div data-with-frame="true"><figure><img src="/files/e75bdab2c91f77f32c761c1363808eb76e5bff59" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/ed50159b078cf87f96b0d038fc50419ac28de0a2" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Ö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**
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/6a9214404b78f4b7318bd3ca589132b4f361f615" alt="" width="563"><figcaption></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="/files/fa4ccfc641db3b55ded60ebf754f7738426b138d" alt="" width="563"><figcaption></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="/files/0e9ad7b4c5ded919a12b34db91a2d07bccf8b985" alt="" width="563"><figcaption></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="/files/5ef6c18884979922fda7be345fedaa0ce39177b3" alt="" width="563"><figcaption></figcaption></figure></div>

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

</details>

## Görevlerle çalışma&#x20;

{% hint style="success" %}
Görevlerle çalışan işlevler, başarı durumunda işlem durumunu True veya görev kimliğini döndürür. Başarısızlık durumunda False veya None döndürürler. **MaviBot tarih formatı olarak**
{% endhint %}

{% hint style="info" %}
MaviBot tarih formatı olarak **"dd.mm.yyyy"** ve saat formatı olarak **"HH:MM"**.
{% endhint %}

create\_task() | update\_task() | done\_task() | delete\_task()

<details>

<summary>Açıklama</summary>

**create\_task(email, name, date\_srok, description, time\_srok)** – bir görev oluşturur

Parametreler:\ <mark style="color:kırmızı;">**!**</mark>**&#x20;email** - sorumlu kişinin e-postası\ <mark style="color:kırmızı;">**!**</mark>**&#x20;name** - görev adı\ <mark style="color:kırmızı;">**!**</mark>**&#x20;date\_srok** - vade tarihi, tarih\ <mark style="color:kırmızı;">**!**</mark>**&#x20;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:\ <mark style="color:kırmızı;">**!**</mark>**&#x20;task\_id**- görev kimliği\ <mark style="color:kırmızı;">**!**</mark>**&#x20;email** - sorumlu kişinin e-postası\ <mark style="color:kırmızı;">**!**</mark>**&#x20;name** - görev adı\ <mark style="color:kırmızı;">**!**</mark>**&#x20;date\_srok** - vade tarihi, tarih\ <mark style="color:kırmızı;">**!**</mark>**&#x20;description** - görev açıklaması\
**time\_srok** - vade saati, saat

**done\_task(task\_id)**- görevi tamamlandı olarak işaretler

Parametreler:\ <mark style="color:kırmızı;">**!**</mark>**&#x20;task\_id**- görev kimliği

**delete\_task(task\_id)** – bir görevi siler

Parametreler:\ <mark style="color:kırmızı;">**!**</mark>**&#x20;task\_id**- görev kimliği

Sorumlu kullanıcı atama&#x20;

`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&#x20;

`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ı.

</details>

<details>

<summary>Örnekler</summary>

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

<div data-with-frame="true"><figure><img src="/files/b6e6b7f1e73978760c32a875309b3a8b6d234af0" alt="" width="563"><figcaption></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="/files/385166ac372a74b27fea89e3691451fb0c0d88e4" alt="" width="563"><figcaption><p>Görev güncelleme</p></figcaption></figure></div>

Görevi tamamlandı olarak işaretleyin.

<div data-with-frame="true"><figure><img src="/files/c3ed130ab886a9eb6ca81b0c0437710054491f7f" alt="" width="563"><figcaption><p>Görevin tamamlandı olarak işaretlenmesi</p></figcaption></figure></div>

Görev silme

<div data-with-frame="true"><figure><img src="/files/3bd3a5a7342df61a8016409a416454e8e56ee1de" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalamak için kod örneği</summary>

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

</details>

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

<details>

<summary>Açıklama</summary>

<mark style="color:varsayılan;background-color:blue;">**Geçerli anlaşma kimliğini alma**</mark>

**get\_order\_id()** - anlaşmanın durumunu döndürür.

<mark style="color:varsayılan;background-color:blue;">**Yeni bir anlaşma oluşturma**</mark>

**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:** \ <mark style="color:kırmızı;">**!**</mark>**&#x20;name** - (isteğe bağlı), anlaşma adı. Sağlanmazsa işlev müşterinin geçerli etkin anlaşmasına uygulanır.

<mark style="color:kırmızı;">**!**</mark>**&#x20; 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

<mark style="color:varsayılan;background-color:blue;">**Anlaşma adını ayarla veya güncelle**</mark>

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

<mark style="color:varsayılan;background-color:blue;">**Anlaşma bütçesini ayarla veya güncelle**</mark>

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

<div data-with-frame="true"><figure><img src="/files/a9ac51ab157e0ddca49ccd19241f5e001d7c561d" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/9d179a967fb463de7867d1b6a0541bfe9dcda6e9" alt="" width="375"><figcaption></figcaption></figure></div>

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.

<mark style="color:varsayılan;background-color:blue;">**Anlaşma listelerini alma**</mark> \
((arşivlenmiş, başarılı veya başarısız anlaşmalar hariç))

**get\_active\_orders\_ids()**&#x20;

<mark style="color:varsayılan;background-color:blue;">**Başarılı anlaşma kimliklerinin listesini alın**</mark>

**get\_success\_orders\_ids()**&#x20;

<mark style="color:varsayılan;background-color:blue;">**Başarısız anlaşma kimliklerinin listesini alın**</mark>

**get\_fail\_orders\_ids()**

<mark style="color:varsayılan;background-color:blue;">**Anlaşma değişkeninin değerini alma**</mark>

**get\_order\_var(order\_id, variable)**&#x20;

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;order\_id** - anlaşma kimliği&#x20;

<mark style="color:kırmızı;">**!**</mark>**&#x20;variable** - değerini almak istediğiniz değişken adı

<mark style="color:varsayılan;background-color:blue;">**Anlaşma verilerini alma**</mark>

**get\_order\_vars(order\_id, names)**&#x20;

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;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.

<mark style="color:varsayılan;background-color:blue;">**Bir anlaşma değişkeni ekleme**</mark>

**set\_order\_var(order\_id, variable, value)**

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;order\_id** - anlaşma kimliği

<mark style="color:kırmızı;">**!**</mark>**&#x20;variable** - bir anlaşmada eklenecek veya güncellenecek değişkenin adı

{% hint style="warning" %}
Anlaşmanın "name" veya "description" parametrelerini değiştirmek istiyorsanız, sırasıyla "name" veya "description" değişken adlarını kullanın.
{% endhint %}

<mark style="color:kırmızı;">**!**</mark>**&#x20;value** - değişken değeri

<mark style="color:varsayılan;background-color:blue;">**Birden fazla anlaşma değişkeni ekleme**</mark>

**set\_order\_vars(order\_id, variables\_dict)**&#x20;

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;order\_id** - anlaşma kimliği.&#x20;

<mark style="color:kırmızı;">**!**</mark>**&#x20;variables\_dict** - değişkenlerden oluşan bir sözlük

<mark style="color:varsayılan;background-color:blue;">**Bir sonraki huni durumuna geçme**</mark>

**move\_order\_to\_next\_state(order\_id)**&#x20;

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.

<mark style="color:varsayılan;background-color:blue;">**MavibotCRM'de huni aşamasını alma**</mark>

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

<mark style="color:varsayılan;background-color:blue;">**Bir potansiyel müşteriyi durum kimliğine göre MavibotCRM hunisinde ilerletme**</mark>

**change\_state(state\_id, order\_id)**&#x20;

Parametreler:\ <mark style="color:kırmızı;">**!**</mark> **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.

<mark style="color:varsayılan;background-color:blue;">**Değişken adı ve değere göre anlaşma kimliğini alma**</mark>

get\_order\_id\_by\_var\_value(var\_name, var\_value, client\_id)

Parametreler:\ <mark style="color:kırmızı;">!</mark> var\_name - değişken adı\ <mark style="color:kırmızı;">!</mark> 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

<mark style="color:varsayılan;background-color:blue;">**En son anlaşmanın tarih ve saatini alma**</mark>

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"

<mark style="color:varsayılan;background-color:blue;">**Müşteri anlaşmalarının sayısını alma**</mark>

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

<mark style="color:varsayılan;background-color:blue;">**Belirli bir anlaşma durumundaki anlaşma sayısını alın**</mark>

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:

<mark style="color:kırmızı;">**!**</mark> id - anlaşma durum kimliği.&#x20;

İşlev kullanım örneği:

<div data-with-frame="true"><figure><img src="/files/b7a5fe7f8e958d88479bd884453cca4ecb653030" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/7eda74bad98d30c8db12d2a3073c8ed1fc790112" alt="" width="375"><figcaption></figcaption></figure></div>

Aşama kimliği ayarlarda bulunabilir.

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

<div data-with-frame="true"><figure><img src="/files/323f48b8084b4ecf2328961e1689ff1b0db19da6" alt="" width="563"><figcaption></figcaption></figure></div>

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

<mark style="color:varsayılan;background-color:blue;">**Bir anlaşmayı silme**</mark>

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.&#x20;

</details>

<details>

<summary>Örnekler</summary>

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

<div data-with-frame="true"><figure><img src="/files/5d49890a6dc8f3438a9506eaeb622304b8ceb798" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/a74abf0b682b843018b87cbfa0d4d1feeee3576a" alt="" width="563"><figcaption><p>Müşteri talebi kaydı</p></figcaption></figure></div>

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.

<div data-with-frame="true"><figure><img src="/files/f9bc1acdfd7c64e0045bd89bdb094d1116c7bef7" alt="" width="563"><figcaption><p>Geçerli etkin anlaşma kimliğini alma</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/6d266857bd5fca4f2bb3a308edda17f3058470c2" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/ed952a88eff54ace148e3c82c853fe6ff062d85d" alt="" width="563"><figcaption><p>Etkin anlaşmaların listesini alma</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/183df869c786c7a252ac7246c28d14a5b4e0c3d9" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalamak için kod örneği</summary>

<pre><code><strong>/* Yeni bir anlaşma oluştur */
</strong>oid = create_order()

/*Müşterinin etkin anlaşma kimliğini al*/
oid = get_order_id()

/*Etkin anlaşmaların listesini al*/
res = get_active_orders_ids()

/*Anlaşmada tek bir değişken ekle veya güncelle*/
res = set_order_var('40630', 'обновлено', '#{current_date}')

vars = {"VAR1": "V111", "VAR2": "V222"}
res2 = set_order_vars('40630', vars)

ovar = get_order_vars('40630')
</code></pre>

</details>

### <mark style="color:varsayılan;background-color:blue;">**Başarılı anlaşma etiketi ayarlama**</mark>

set\_order\_status\_success()

{% tabs %}
{% tab title="Açıklama" %}
**set\_order\_status\_success(order\_id)**&#x20;

Parametreler:

**order\_id** - anlaşma kimliği. Parametre belirtilmezse etiket geçerli etkin anlaşma için ayarlanır.
{% endtab %}
{% endtabs %}

### <mark style="color:varsayılan;background-color:blue;">**Başarısız anlaşma etiketi ayarlama**</mark>&#x20;

set\_order\_status\_fail()

{% tabs %}
{% tab title="Açıklama" %}
**set\_order\_status\_fail(order\_id)**&#x20;

Parametreler:

**order\_id** - anlaşma kimliği. Parametre belirtilmezse etiket geçerli etkin anlaşma için ayarlanır.
{% endtab %}
{% endtabs %}

### <mark style="color:varsayılan;background-color:blue;">**Arşivlenmiş anlaşma etiketi ayarlama**</mark> &#x20;

set\_order\_status\_archive()

{% tabs %}
{% tab title="Açıklama" %}
**set\_order\_status\_archive(order\_id)**&#x20;

Parametreler:

**order\_id** - anlaşma kimliği. Parametre belirtilmezse etiket geçerli etkin anlaşma için ayarlanır.
{% endtab %}

{% tab title="Örnekler" %}
/\*Geçerli etkin anlaşmayı arşivle\*/

`res_arh = set_order_status_archive()`
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/tr/chatbot/functions/hesaplayici/crm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
