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

Referans programı

Bir yönlendirme programı yeni katılımcılar getirerek müşterilere veya şirket ortaklarına teşvikler ya da bonuslar sunarak ödül veren bir sistemdir.

Teknik açıdan bakıldığında, bir yönlendirme programı birkaç temel bileşen içerir:

  1. Bir davet bağlantısı— kullanıcıların veya müşterilerin başkalarını programa davet etmesine olanak tanıyan benzersiz bir tanımlayıcı. Davet eden kişi bu bağlantıyı çeşitli kanallar aracılığıyla paylaşabilir (örneğin, bu makale bağlantıların bir WhatsApp botu üzerinden nasıl oluşturulacağını anlatacak, ancak yönlendirme programı bağlantıları tercih ettiğiniz herhangi bir mesajlaşma uygulaması üzerinden paylaşılabilir).

  2. Bir katılımcı veritabanı, MaviBot ve Google Sheets işlevselliğinin entegrasyonu ile uygulanmış olup, hem davet edilen hem de davet eden kullanıcılar hakkındaki bilgilerin kaydedildiği yerdir.

  3. Bir yönlendirme izleme sistemi yönlendirme bağlantıları aracılığıyla yeni katılımcı getirmeye ilişkin eylemleri izler. Sistem, tüm yönlendirmelere dair verileri saklar; böylece belirli bir yönlendirmeyi sistemde daha önce davet edilmiş bir kullanıcı olarak zaten mevcut olup olmadığını kontrol etmenizi sağlar.

WhatsApp’ta Yönlendirme Sistemi

Oluşturulan botun işlevselliği, aşağıdaki bileşenlerden oluşan blokları içerecektir:

  1. bir yönlendirme (affiliate) bağlantısının oluşturulması; bağlantı

  2. yeni kullanıcının veritabanında zaten olup olmadığının kontrol edilmesi; bağlantı

  3. davet eden kullanıcının yeni bir yönlendirme hakkında bilgilendirilmesi; bağlantı

  4. kullanıcıların veritabanına kaydedilmesi; bağlantı

  5. yönlendirme listesi talep edilmesi. bağlantı

Yönlendirme bağlantısı oluşturma

Botun “link” komutu üzerine kullanıcıya göndereceği gömülü bir bağlantı içeren bir blok oluşturalım. Bunun için akışta iki yöntemden birini kullanarak yeni bir blok oluşturun:

  1. Builder tuvalindeki boş bir alana çift tıklayın:

Fare tıklamasıyla blok nasıl oluşturulur
  1. kullanarak "Kaydet" düğmesi ekranın alt kısmında ve blok türünü seçerek:

Seçilen türle blok nasıl oluşturulur

Bundan sonra, bloğun koşuluna şu kelimeyi girin “Link” alanına aşağıdaki yöntemi girin ve eşleşme türünü olarak ayarlayın: “Yazım hatalarını ve yanlışlıkları yok say” (bu, kullanıcı yazım hataları veya diğer mesaj hataları durumunda yararlıdır):

Şekil 1

Kullanıcının kim tarafından yönlendirildiğini belirlemek için bot, aşağıdaki şablonu kullanarak bir bağlantı oluşturur: https://wa.me/(bot'a bağlı telefon numaranız)text=Size%20#{phone}%20tarafından%20önerildiniz%20😌Merhaba

Şekil 2 Akış bloğuna bağlantı nasıl eklenir

Şablon bağlantıya daha yakından bakalım: https://wa.me/(bot'a bağlı bot'a bağlı telefon numarası)?text=Size%20#{phone}%20tarafından%20önerildiniz%20😌Merhaba, burada:

  1. Parantez içindeki "(bot'a bağlı telefon numaranız)" kısmını ilgili telefon numarasıyla değiştirin;

  2. #{phone}, ortaklık bağlantısını talep eden kullanıcının telefon numarasıyla otomatik olarak değiştirilir.

Oluşturulan bağlantıyı blok metni olarak değil, bir ek olarak göndeririz — bildirim içeren tıklanabilir bir bağlantı (bkz. Şekil 2 ve Şekil 3):

  • bir ek eklemeyi seçin

  • tür olarak Link'i seçin ve 'Attachment URL' alanına yapıştırın:

Resim 3. Ek -> tür -> bağlantı

Bu durumda, bağlantı görsel olarak kısaltılmış görünür:

Şekil 4. WhatsApp'ta görünüm

Bağlantı işlevini "Test Bot" özelliğini kullanarak test edelim.

Şekil 5. Bot nasıl test edilir

Sonuç şu: bağlantı, kullanıcıyı telefon numaranızla ilgili mesajlaşma uygulaması sohbetine yönlendirir:

Bağlantı işlevini test etme

Bu şekilde, potansiyel kullanıcıların chatbot’a erişmek için kullanabileceği bir davet bağlantısını başarıyla oluşturmuş oldunuz. Ayrıca, bu bağlantıya tıklandığında kullanıcı önceden doldurulmuş bir mesajla sohbet penceresine yönlendirilir. (Bkz. Şekil 6)

Şekil 6. WhatsApp'ta doldurulmuş mesaj

Kullanıcı doğrulaması

Bir blokta işlevler ve düzenli ifadelerin kullanılması

Doğrulama ve veritabanına giriş komutu yalnızca bot, kullanıcının mesajında bir telefon numarası bulursa çalışacaktır. Bu nedenle, alınan ifadeyi parçalara ayırmak gerekir.

Bunun için splitter() fonksiyonu kullanılır.

splitter(str, s, n) - bir dizgeyi parçalara ayırır. Fonksiyon bir dizi eleman döndürür.

Parametreler:

! str - özgün dizge

! s - dizge ayırıcı

n - maksimum eleman sayısı

Sonraki adımda, botun dizgedeki rakam dizisinin gerçekten bir telefon numarası olup olmadığını doğrulaması gerekir. Bunun için aşağıdaki düzenli ifadeleri kullanırız:

  • Genel telefon numarası: ^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$

  • Rus numarasını değiştirin! Yalnızca Rus telefon numarası: ^((\+7|7|8)+([0-9]){10})$

Şekil 9. Telefon numarası için düzenli ifade

Düzenli ifadelerle çalışma hakkında daha fazla bilgi için lütfen "Düzenli İfadeler" başlıklı makaleye bakın. bağlantı

Bot, rakam dizisinin gerçekten bir telefon numarası olduğunu doğruladıktan sonra, onu mesajdan bir değişken olarak kaydedin (örneğin, #{reff}).

Kullanıcının telefon numarasını veritabanında bir yönlendirme olarak kontrol etme

Şimdi, bağlantıya tıklayan kullanıcının telefon numarasının zaten bir yönlendirme olup olmadığını kontrol etmek gerekir (daha önce biri tarafından davet edilmiş ve veritabanımıza kaydedilmiş). Bunun için akışta bir sütun arama işlevi olan bir blok oluşturun.

Sütun arama işlevini kullanmak için "API Request" öğesine tıklayın; burada aşağıdaki parametre değerlerini ayarlamanız gerekir:

Şekil 9

! İşlev URL'si: https://store.salebot.pro/function/findcell bağlantı

! JSON istek parametreleri:

{ "id": "your_table_id", "find": "text_to_search", "col": search_in_column_number, "return": return_column_number, "creds_path": "auth_credentials_dosyanızın_yolu" }

Yanıt parametreleri:

"status": "1" — değer bulundu

"status": "0" — değer bulunamadı

"data" — bulunan değer

"cell_number" — bulunan hücre konumu

return parametresi 0 olarak ayarlanmalıdır. { "id": "your_table_id", "find": "text_to_search", "col": 2, "return": 0 } Yanıt: {"status":"1","data":{"0":"\u0441\u043e\u043b\u043d\u0446\u0435","1":"\u0440\u0430\u0441\u0441\u0432\u0435\u0442","2":"\u043a\u0440\u044b\u0448\u0430","3":"","4":"\u043d\u0435\u0431\u043e"},"cell_number":{"row":4,"col":1, "col_letter":"A"}} Yanıt dökümü:

data — yanıt

data|0 — Hücre 1

data|1 — Hücre 2

data|2 — Hücre 3

data|3 — Hücre 4

cell_number|row — satır

cell_number|col — sütun

Tablolarla çalışma için mevcut işlevler hakkında daha fazla bilgi edinmek için lütfen "Google Sheets" başlıklı makaleye bakın. bağlantı

Bildirim bloğu

Yönlendirme bağlantısını paylaşan kullanıcıya, yeni bir müşterinin bağlantıyı başarıyla takip ettiğini bildirmek için özel bir blok oluşturacağız. Yeni bir yönlendirmenin oluşturulduğuna dair bildirim göndermek için aşağıdaki istek parametrelerini kullanın (tür: POST - JSON):

İstekler şu POST yöntemi kullanılarak şu URL'ye gönderilir: https://chatter.salebot.pro/api/{api_key}/{action} Burada:

  • api_key projenizin API erişim anahtarıdır; proje ayarlarından alınabilir (bkz. Şekil 11).

Şekil 11.

Erişim anahtarını #{api_key}geçerli oluşturulan erişim belirtecini saklayan değişkeni kullanarak alabilirsiniz. Kullanmadan önce belirteci oluşturmayı unutmayın.

! İstek URL'si: https://chatter.salebot.pro/api/#{api_key}/whatsapp_message bağlantı

Şekil 12. Whatsapp'ta bildirim

API istek işlevleri hakkında daha fazla ayrıntıyı burada bulabilirsiniz. bağlantı

Davet edilen ve davet eden kullanıcıları veritabanına ekleme

Bunu yapmak için, belirli sütunlara satır satır giriş yapmayı kullanacağız; bu işlem mapping işlevini kullanın.

! İşlev URL'si https://store.salebot.pro/function/gsheets bağlantı

! JSON istek parametreleri:

{ "id": "your_table_id", "mapping": { "a": "#{variable}", "b": "#{another_variable}", "d": "düz metin" } }

Satırları ilk sayfaya değil de başka bir sayfaya yazmak istiyorsanız, isteğe list_name parametresini ekleyin:

{ "id": "your_table_id", "mapping": { "a": "düz metin", "b": "#{variable}" }, "list_name": "SheetName" }

Parametreler:

  • id — tablo tanımlayıcısı*

  • a, b, c, d — sütun adları

  • list_name — sayfa adınız (örneğin, "Sheet2")

*Gerçek tablo kimliğinizle değiştirdiğinizden emin olun.

Yanıt örneği: {"number_row":8}

İstek başarıyla çalışırsa, yanıt satır numarasını içerecektir; bunu kaydedip sonraki işlemler için kullanabilirsiniz.

Yönlendirme listesini görüntüleme

Kullanıcıların yönlendirme listelerini görüntülemesine olanak tanıyan ek bir komutu bot'a ekleyelim.

Bir sütundaki belirtilen tüm değerleri bulmak için findcell işlevini "find_all"parametresiyle kullanın. Bu, belirtilen "find_all" değerin "col" sütunundaki tüm görünümlerini bulacak ve "return" sütunundan benzersiz değerlerin bir listesini dize olarak döndürecektir.

! İşlev URL'si: https://store.salebot.pro/function/findcell bağlantı

! JSON istek parametreleri:

{ "id": "table_id", "find_all": "search_value", "list_name": "sheet_name", "col": "search_in_column_number", "return": "return_values_column_number", "find": "!" }

Kaydedilen değerlerde şunu belirtin:

list → Liste

quantity → Miktar

Kullanıcıya şu mesajı gösterin: "#{spisok} kişiyi yönlendirdiniz, toplam yönlendirme sayınız: #{quantity}"

Diğer mesajlaşma uygulamalarında, böyle bir yönlendirme sistemini uygulamak daha da kolaydır çünkü davet edenin verileri bağlantı geçişi sırasında gizli bir parametre olarak iletilir, bu nedenle yeni kullanıcının şu şekilde bir mesaj göndermesine gerek kalmaz “Bu numara tarafından davet edildim.”

Son güncelleme