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:
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).
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.
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.
“Mavibot.ai’de Bot Oluşturmanın Temelleri” bölümlerini incelemenizi şiddetle öneririz bağlantı ve “Google Sheets” bağlantı chatbot akışınızı oluşturmadan önce.
WhatsApp’ta Yönlendirme Sistemi
Oluşturulan botun işlevselliği, aşağıdaki bileşenlerden oluşan blokları içerecektir:
bir yönlendirme (affiliate) bağlantısının oluşturulması; bağlantı
yeni kullanıcının veritabanında zaten olup olmadığının kontrol edilmesi; bağlantı
davet eden kullanıcının yeni bir yönlendirme hakkında bilgilendirilmesi; bağlantı
kullanıcıların veritabanına kaydedilmesi; bağlantı
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:
Builder tuvalindeki boş bir alana çift tıklayın:

kullanarak "Kaydet" düğmesi ekranın alt kısmında ve blok türünü seçerek:

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

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

Ş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:
Parantez içindeki "(bot'a bağlı telefon numaranız)" kısmını ilgili telefon numarasıyla değiştirin;
#{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:

Bu durumda, bağlantı görsel olarak kısaltılmış görünür:
Bağlantı işlevini "Test Bot" özelliğini kullanarak test edelim.

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

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)
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ı
Dizge ayırma fonksiyonu:

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

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:

! İş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_keyprojenizin API erişim anahtarıdır; proje ayarlarından alınabilir (bkz. Ş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ı

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.
ile yapılır. Tablo başlığı doldurulmuş olmalıdır (ilk satırda en az bir hücre).
! İş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