Bir AI API Bayi Portalı oluşturun: Kiracı Sağlama, Kullanım Ölçümü, Faturalandırma ve Telegram Operasyonları
Müşteriler için AI API erişimini paketleyen ajanslar, danışmanlar ve SaaS geliştiricileri için pratik bir referans mimarisi: kiracı kayıtları, müşteri kapsamlı anahtarlar, harcama limitleri, kullanım defterleri, fatura senkronizasyonu ve Telegram işlemleri.
Müşteriler için yapay zeka erişimini paketliyorsanız onlara yukarı akış sağlayıcı anahtarlarınızı vermeyin. Müşteri kapsamlı anahtarlar veren, her istekten önce kiracı sınırlarını uygulayan, kullanımı kendi defterinize kaydeden ve faturalandırılabilir toplamları faturalandırma sisteminizle senkronize eden bir bayi katmanı oluşturun.
Bu kılavuzda ajanslara yönelik AI API'sine, danışmanlara ve SaaS geliştiricilerine yönelik pratik bir işletim modeli açıklanmaktadır. Bu bir müşteri vaka çalışması değildir. İster İş Ortağı API'si, ister dahili bir ağ geçidi, ister birden fazla model sağlayıcının önünde özel bir proxy kullanıyor olun, uyarlayabileceğiniz bir referans mimarisidir.
Bayi portalı mimarisi
Güvenli bir bayi portalı dört sorumluluğu birbirinden ayırır:
- İş ortağı yönetimi: Müşteriler, planlar, anahtarlar, sınırlar ve destek iş akışları oluşturmaya yönelik dahili uygulamanız.
- İstek yaptırımı: müşteri anahtarlarının kimliğini doğrulayan, politikayı kontrol eden, istekleri yönlendiren ve limiti aşan trafiği engelleyen ağ geçidi yolu.
- Kullanım muhasebesi: İstek düzeyindeki kullanımı ve fiyatlandırma girişlerini kaydeden dayanıklı bir defter.
- Faturalandırma ve işlemler: planlanmış fatura senkronizasyonu, uyarılar, anahtar rotasyon bildirimleri ve destek üst kademeye iletme.
Tipik bir akış şuna benzer:
İş Ortağı Yönetici Uygulaması
→ İş Ortağı API'si
→ müşteri / çalışma alanı kayıtları
→ müşteri kapsamlı API anahtarları
→ plan, model, bütçe ve oran sınırları
→ ağ geçidi iste
→ kullanım defteri
→ fatura senkronizasyonu
→ Telegram bildirim botu
Gerçek: OpenAI, işbirliği için kullanıcı tabanlı API anahtarlarının paylaşılmamasını ve bunun yerine proje tabanlı anahtarların, atanmış üyelerin ve yalıtılmış oran sınırları ve harcama kontrolleri olan farklı anahtarların kullanılmasını önerir. OpenAI'nin hizmet şartları aynı zamanda API anahtarlarının üçüncü bir taraftan satın alınmasını, satılmasını veya devredilmesini de yasaklar. Bu gerçekler, yukarı yönlü kimlik bilgilerinin sunucu tarafında kaldığı ve müşterilerin kendi aşağı yönlü anahtarlarınızı aldığı bir bayi tasarımını desteklemektedir.
Öneri: müşteri, proje veya ortam başına bir aşağı akış anahtarı verin. Bir müşteri anahtarını birden çok son istemcide yeniden kullanmayın. Yukarı akış sağlayıcısının kimlik bilgilerini belgelerde, tarayıcı kodunda, mobil uygulamalarda, günlüklerde veya istemci destek mesajlarında açığa vurmayın.
Kiracı veri modeli
Kiracı modeli izolasyonu açıkça ortaya koymalıdır. En azından şu alanları saklayın:
partner_id
müşteri_kimliği
çalışma alanı_id
api_key_id
plan_id
billing_status
harcama_limit
oran_limit
izin verilen_modeller
telegram_chat_id
kullanım_ledger_id
created_at
güncellendi_at
iptal edildi_at
Daha büyük bir portalda ön ödeme bakiyesi, para birimi, vergi bölgesi, fatura müşteri kimliği, destek katmanı, kötüye kullanım durumu ve geçici geçersiz kılmalar için alanlar ekleyin.
Örnek müşteri kaydı
<ön>Öneri: customer_id, workspace_id ve api_key_id'yi ayrı kavramlar olarak ele alın. Bir müşterinin birden fazla çalışma alanı olabilir ve her çalışma alanının ayrı üretim, hazırlama ve geliştirme anahtarlarına ihtiyacı olabilir. Bu, iptali, hata ayıklamayı ve kullanım ilişkilendirmesini çok daha kolay hale getirir.
Yeni bir müşteri için katılım sırası
Güvenilir bir ilk katılım akışı, tasarımı gereği sıkıcıdır. Her seferinde aynı kayıtları oluşturmalı ve bir denetim izi bırakmalıdır.
- Müşteriyi oluşturun: mağazanın yasal adı, faturalandırma ilgili kişisi, teknik ilgili kişi ve dahili sahip.
- Bir çalışma alanı oluşturun: Müşterinin programatik olarak entegre olup olmayacağını üretimden test etmeye ayırın.
- Bir plan atayın: dahil edilen modelleri, işaretlemeyi, faturalandırma ritmini ve destek beklentilerini tanımlayın.
- Sınırları ayarlayın: harcama sınırlarını, istek sınırlarını, jeton sınırlarını ve ani artış politikasını yapılandırın.
- API anahtarları oluşturun: müşterinin ortamları için kapsamlı anahtarlar yayınlayın.
- Entegrasyon talimatlarını gönderin: temel URL'yi, kimlik doğrulama biçimini, model listesini, sınırları ve destek kanalını sağlayın.
- Uyarıları etkinleştirin: Düşük bakiye, anahtar, kesinti ve fatura bildirimleri için Telegram'ı veya başka bir operasyon kanalını bağlayın.
- Bir test isteği çalıştırın: kimlik doğrulamayı, kullanım kaydını, model erişimini ve fatura eşlemeyi doğrulayın.
Öneri: İlk katılım işlemini eş zamanlı hale getirin. Yönetici uygulamanız bir "müşteri oluşturma" işlemini yeniden denerse, yinelenen faturalandırma kayıtları veya yinelenen API anahtarları oluşturmamalıdır. Aramaların temel hazırlığını yapmak için harici kimlikleri ve geçicilik anahtarlarını kullanın.
İstek anında bütçe kontrolü
En önemli uygulama, istek bir yukarı akış modeline ulaşmadan önce gerçekleşir. Ağ geçidiniz, bir müşterinin bütçesini aştığını ancak sağlayıcı sizden ücret aldıktan sonra keşfetmemelidir.
Bu ön kontrol sırasını kullanın:
- Aşağı akış API anahtarının kimliğini doğrulayın.
partner_id,customer_idveworkspace_id'yi çözümleyin.- Anahtarın etkin olup olmadığını ve iptal edilmediğini kontrol edin.
- Faturalandırma durumunu kontrol edin: etkin, deneme aşamasında, ön ödemeli, duraklatılmış, vadesi geçmiş veya askıya alınmış.
- Geçerli fatura dönemi için sabit harcama sınırını kontrol edin.
- Dakika başına istek ve günlük belirteçler gibi hız sınırlarını kontrol edin.
- Müşterinin planı için istenen modele izin verilip verilmediğini kontrol edin.
- Modelden, maksimum belirteçlerden ve istek parametrelerinden mümkün olan maksimum maliyeti tahmin edin.
- İsteği yalnızca politika başarılı olursa yönlendirin.
anahtar iptal edilirse:
reddet(401, "API anahtarı iptal edildi")
if customer.billing_status ["duraklatıldı", "askıya alındı", "gecikmiş"]:
reddet(402, "Faturalandırma durumu kullanıma izin vermiyor")
eğer request_model customer.allowed_models'de değilse:
reddet(403, "Model bu çalışma alanı için etkinleştirilmedi")
eğer geçerli_dönem_spend + tahmini_maks_maliyet > müşteri.hard_cap ise:
reddet(402, "Harcama limiti aşıldı")
eğer oran_limit_aşıldıysa(müşteri_kimliği, talep edilen_model):
reddet(429, "Hız limiti aşıldı")
Route_request()
Gerçek: OWASP API Güvenliği İlk 10 2023, bozuk nesne yetkilendirmesi, bozuk kimlik doğrulama ve sınırsız kaynak tüketiminin başlıca API riskleri olduğunu belirtiyor. Bunlar doğrudan bayi portallarına eşlenir: Bir kiracı başka bir kiracının verilerini okumamalıdır, anahtarlar atlanabilir olmamalıdır ve bir müşteri sınırsız sağlayıcı harcaması oluşturamamalıdır.
Ödül: Katı sabit sınırlar marjınızı korur, ancak meşru ani yükselişleri kesintiye uğratabilir. Geçerlilik süresi, onaylayan, neden ve denetim günlüğü girişi içeren geçici bir geçersiz kılma iş akışı iyi bir uzlaşmadır.
Kullanım defterini gerçeğin kaynağı olarak kullanın
Gerçek zamanlı erişim kontrolü için kendi kullanım defterinizi tutun. Harici faturalandırma araçları faturalandırma için mükemmeldir ancak bunlar genellikle milisaniye düzeyinde izin verme veya reddetme kararları vermek için doğru yer değildir.
Bir kullanım etkinliği, sağlayıcı faturalarının mutabakatını sağlamak, müşteri faturalarını açıklamak ve anlaşmazlıklarda hata ayıklamak için yeterli ayrıntıyı yakalamalıdır:
<ön>Başarısız istekleri de kaydedin, ancak faturalandırılabilir arızaları faturalandırılamayan arızalardan ayırın. Sağlayıcı zaman aşımları, doğrulama hataları, müşteri iptalleri, yeniden denemeler ve güvenlik engellemeleri, ne zaman gerçekleştiğine bağlı olarak farklı hesaplama sonuçlarına sahip olabilir.
Öneri: İstek kabul edildiğinde bekleyen bir defter olayı yazın, ardından jeton kullanımı ve maliyeti bilindiğinde bunu sonlandırın. Bu, yönlendirmeden önce bütçe ayırmanıza ve tamamlandıktan sonra nihai tutarı düzeltmenize olanak tanır.
Mutabakat modeli
- İstek düzeyindeki etkinlikleri dahili defterde saklayın.
- Kullanımı müşteri, model ve fatura dönemine göre toplayın.
- Dahili toplamları yukarı akış sağlayıcı faturaları veya kullanım dışa aktarımlarıyla karşılaştırın.
- Faturaları düzenlemeden önce maddi farklılıkları araştırın.
- Özetlenmiş faturalandırılabilir kullanımı faturalandırma sistemiyle senkronize edin.
Ödül: Özet kullanımın senkronize edilmesi, faturalandırma etkinliği hacmini ve karmaşıklığını azaltır, ancak müşteri faturalarının daha az ayrıntılı olmasına neden olabilir. Müşterilerin model düzeyinde veya proje düzeyinde raporlamaya ihtiyacı varsa faturalandırma senkronizasyonunuzda veya müşteri kontrol panelinizde bu boyutları koruyun.
Kullanıma dayalı ölçümlerle faturalandırma senkronizasyonu
Kullanıma dayalı faturalandırma sistemleri genellikle bir modeli izler: ürünleri ve fiyatları tanımlar, kullanım etkinliklerini alır, bunları bir fatura dönemi boyunca toplar, faturalar oluşturur ve hataları izler. Örneğin Şerit Faturalandırma, etkinlik adı, müşteri tanımlayıcı, sayısal değer, isteğe bağlı zaman damgası, isteğe bağlı bağımsızlık tanımlayıcısı ve isteğe bağlı boyutlara sahip ölçüm etkinliklerini destekler.
AI API faturalandırması için yaygın ölçüm seçenekleri şunlardır:
- Jeton toplamı: fiyatlandırmanın girdi ve çıktı jetonlarına yakından bağlı olduğu durumlarda kullanışlıdır.
- İstek sayısı: basit planlar veya düşük jetonlu API çağrıları için kullanışlıdır.
- Modele özgü birimler: premium modellerin farklı marjları olduğunda kullanışlıdır.
- Koltuklar veya aktif çalışma alanları: hibrit SaaS artı kullanım planları için kullanışlıdır.
Gerçek: Şerit ölçerler toplam, sayım ve son gibi toplama formüllerini destekler. Bunlar, jeton toplamlarını, istek sayılarını ve koltuklar veya etkin limitler gibi durum benzeri değerleri eşleştirir.
Günlük faturalandırma senkronizasyonu şunun gibi ölçüm etkinlikleri oluşturabilir:
<ön>Öneri: Dahili defteri faturadan daha ayrıntılı tutun. Destek, dolandırıcılık incelemesi, oran sınırı ayarlaması ve marj analizi için istek düzeyindeki kayıtları korurken günlük jeton toplamlarını faturalandırabilirsiniz.
Telegram'ı kayıt sistemi haline getirmeden Telegram işlemleri
Telegram, hızlı operatör iş akışları için kullanışlıdır: Destek ekipleri mesajları zaten fark eder, botlar uyarı gönderebilir ve müşteriler, kontrol paneline giriş yapmadan katılım talimatlarını alabilir. Ancak faturalandırma, güvenlik veya destek kararları için tek denetim yolu Telegram olmamalıdır.
İyi Telegram iş akışları şunları içerir:
- Sınırın %50, %80 ve %95'inde düşük bakiye veya yüksek harcama uyarıları.
- Dokümantasyon bağlantıları ve maskelenmiş anahtar adları içeren yeni müşteri katılım mesajları.
- API anahtarı rotasyonu, rotasyondan önce ve sonra bildirimleri.
- Sağlayıcı kesintisi veya bozulmuş model uyarıları.
- Müşteri tekrarlanan 401, 402, 403 veya 429 hatalarıyla karşılaştığında insani destek üst kademesine iletilir.
Gerçek: Telegram Bot API çağrıları, bot belirteci uç noktalarına HTTPS üzerinden yapılır ve Telegram web kancaları, web kancasının kökenini doğrulamaya yardımcı olmak için gizli bir belirteç başlığı içerebilir.
Öneri: Telegram sohbet kimliklerini kiracı meta verileri olarak saklayın, ancak bunları müşterilere göstermeyin. Botların tetiklediği her idari eylemi, aktör, zaman damgası, müşteri, eski değer, yeni değer ve neden ile birlikte iç denetim günlüğünüze kaydedin.
Güvenlik ve izolasyon kontrol listesi
Erişim satmadan önce, sanki bir müşteri aktif olarak sınırları aşmaya çalışıyormuş gibi kiracı yalıtımını test edin.
- A Müşterisi, B Müşterisi API anahtarlarını görüntüleyemez.
- A Müşterisi, B Müşterisinin kullanımını, faturalarını, limitlerini, Telegram sohbet kimliklerini veya faturalandırma durumunu görüntüleyemez.
- İptal edilen bir anahtar, tüm istek yollarında hemen başarısız olur.
- Faturalandırmanın duraklatıldığı bir müşteri, önbelleğe alınmış oturumlar veya eski anahtarlar aracılığıyla harcama yapmaya devam edemez.
- Müşteri, atanan planın dışındaki modelleri talep edemez.
- Oran sınırları yalnızca global IP adresine göre değil, müşteriye ve çalışma alanına göre de geçerlidir.
- Web kancası işleyicileri, desteklendiği yerlerde imzaları veya gizli başlıkları doğrular.
- Tüm temel hazırlık, limit değişiklikleri, anahtar rotasyonları ve faturalandırmayı geçersiz kılma işlemleri, denetim günlüğü girişlerini oluşturur.
- Yeniden deneme mantığı, eş güç anahtarlarını kullanır, böylece yinelenen istekler müşterilere çift faturalandırma yapmaz.
- Destek araçları sırları maskeler ve anahtarları kimlerin açığa çıkarabileceğini veya değiştirebileceğini kısıtlar.
Tahmin: Bayi portalları, yalnızca birçok modele erişim konusunda değil, yönetişim ve faturalandırmada netlik konusunda da giderek daha fazla rekabet edecek. Müşteriler standart özellikler olarak proje başına kullanım, net faturalar, hızlı anahtar rotasyonu ve sabit harcama kontrollerini bekleyeceklerdir.
Erken karar verilmesi gereken önemli ödünler
Ön ödemeli ve faturalı karşılaştırma
Ön ödemeli bakiyeler kredi riskini azaltır ve kesin kesintileri kolaylaştırır, ancak müşteriler kesintilerden hoşlanmayabilir. Faturalı faturalandırma, yerleşik müşteriler için daha sorunsuzdur ancak kredi kontrolleri, ihtar iş akışları ve daha güçlü anormallik tespiti gerektirir.
Modele özel fiyatlandırmaya karşı tek bir karma fiyat
Karma fiyatın açıklanması daha kolaydır. Modele özel fiyatlandırma, marjları korur ve verimli model seçimini teşvik eder. Çok sayıda model sunuyorsanız müşteriye yönelik basit bir model kataloğu yayınlayın ve sağlayıcıya özgü gereksiz karmaşıklığı gizleyin.
Gerçek zamanlı ölçüm ve gecikmeli faturalandırma
Gerçek zamanlı ölçüm, harcama üst sınırlarına ve ön ödemeli bakiyelere olanak tanır. Aynı zamanda dayanıklı yazmalar, tekrar oynatma ve mutabakat gerektirir. Gecikmeli faturalandırma daha basittir ancak sınırlar yürürlüğe girmeden önce kaçak harcamalara maruz kalmanıza neden olur.
Önce Telegram desteği ve kontrol paneli öncelikli destek
Telegram birçok operatör için hızlı ve tanıdıktır. Kontrol paneli, denetlenebilirlik, dışa aktarmalar, izinler ve müşterinin self-servisi açısından daha iyidir. Bildirimler ve onaylar için Telegram'ı kullanın ancak kanonik kaydı sisteminizde saklayın.
Uygulamaya geçirilebilir kullanıma sunma planı
- Kiracı izolasyonuyla başlayın: gelişmiş faturalandırma özelliklerini eklemeden önce müşteri, çalışma alanı, anahtar, plan ve limit kayıtlarını uygulayın.
- Ön kontrol yaptırımı oluşturun: iptal edilen anahtarları, askıya alınan faturalandırmayı, izin verilmeyen modelleri engelleyin ve yönlendirmeden önce trafiği aşırı sınırlayın.
- Kullanım defterini oluşturun: istek kimliklerini, belirteç sayılarını, maliyetleri, bayi fiyatlarını, durumları, zaman damgalarını ve idempotency anahtarlarını kaydedin.
- Mutabakat ekleyin: faturalandırmadan önce dahili kullanımı yukarı akış sağlayıcı toplamlarıyla karşılaştırın.
- Faturalandırma özetlerini senkronize edin: Sabit müşteri eşlemeleri ve idempotency anahtarlarıyla faturalandırma platformunuza günlük veya saatlik toplamlar gönderin.
- Wire Telegram uyarıları: düşük bakiye, kesinti, anahtar rotasyonu ve destek yükseltme mesajlarıyla başlar.
- İzolasyon testleri çalıştırın: hiçbir müşterinin başka bir müşterinin anahtarlarına, kullanımına, sınırlarına, faturalarına veya sohbet meta verilerine erişemediğini doğrulayın.
Bayi portalı yalnızca bir AI API'yi çevreleyen bir paket değildir. Kimlik doğrulama, kiracı politikası, kullanım analitiği, faturalandırma ve destek için bir işletim katmanıdır. Önce defteri ve sınırları oluşturun, yukarı akış anahtarlarını sunucu tarafında tutun ve müşteriye yönelik her anahtarı geri alınabilir, kapsamlı ve ilişkilendirilebilir hale getirin.