RCS: Google RBM ve Twilio RCS, zengin kartlar ve SMS geri düşüşü
RCS (Rich Communication Services) kanalı Android mesajlaşma uygulamasına zengin kart, görsel ve öneri çipleri gönderir. RCS desteklemeyen cihazlar aynı mesajın metin karşılığını app'in SMS kanalından alır (ADR-0029 §3).…
RCS (Rich Communication Services) kanalı Android mesajlaşma uygulamasına zengin kart, görsel ve öneri çipleri
gönderir. RCS desteklemeyen cihazlar aynı mesajın metin karşılığını app'in SMS kanalından alır
(docs/adr/0029-whatsapp-rcs-iki-yonlu-sms-eposta-isindirma.md §3). Kanal, plan özelliği olarak SMS gerektirir.
1. Sağlayıcılar
| Sağlayıcı | Gerekenler | Notlar |
|---|---|---|
google_rbm | RBM ajan kimliği, servis hesabı JSON'u, webhook client_token | Gönderimden önce cihaz yeteneği sorgulanır; desteklemeyen cihaz doğrudan SMS'e düşer |
twilio | Account SID, Auth Token, RCS göndericili Messaging Service SID, isteğe bağlı Content SID | Zengin içerik Twilio Content API (HX…) ile; geri düşüş Twilio'da değil Pushizo'nun SMS kanalında yapılır |
mock | — | Yerel geliştirme ve E2E; numarası 0006 ile biten alıcı RCS desteklemiyor sayılır |
PUT /internal/v1/apps/{appId}/channels/rcs
{
"provider": "google_rbm",
"agent_id": "markam_agent",
"service_account": { "project_id": "rbm-proj", "client_email": "rbm@rbm-proj.iam.gserviceaccount.com", "private_key": "-----BEGIN PRIVATE KEY-----…" },
"client_token": "rbm-istemci-belirteci",
"sms_fallback": true
}Servis hesabı özel anahtarı, client token ve Twilio auth token zarf şifreli saklanır ve yanıtta dönmez. Webhook
adresini (/hooks/rcs/{sağlayıcı}/{token}) kanal kartından alıp RBM Partner Console'a veya Twilio Messaging Service
"Incoming messages" alanına girin. RBM olayları X-Goog-Signature, Twilio istekleri X-Twilio-Signature ile
doğrulanır.
2. İçerik
contents: düz metin (en fazla 3072 karakter).rcs_card: bağımsız zengin kart —title(≤ 200),description(≤ 2000),media_url(https),media_height(SHORT/MEDIUM/TALL),orientation.rcs_suggestions: öneri çipleri — yanıt (reply), bağlantı (url), arama (dial); metin ≤ 25 karakter; kartta en fazla 4, metinde en fazla 11.rcs_content_sid+rcs_content_variables: Twilio Content API şablonu (değişkenler Liquid destekler).rcs_fallback_text: SMS geri düşüşünde gönderilecek metin.
Yalnızca RCS içeriği (kart, Content SID) olan bildirim ve kampanyalarda hedefte channels: ["rcs"] açıkça
verilmelidir.
3. SMS geri düşüşü
sms_fallback varsayılan olarak açıktır. Şu durumlarda teslimat SMS kanalından gönderilir ve teslimat kaydında
fallback_channel = sms görünür:
- Cihaz RCS desteklemiyor (RBM yetenek sorgusu 404 veya Twilio geçersiz alıcı).
- RCS gönderimi kalıcı hata aldı.
- Gönderimden sonra webhook ile gecikmeli teslim hatası geldi (Twilio
failed/undelivered, mockfailed): teslimat yeniden kuyruğa alınır ve SMS'e yönlendirilir;sentsayacı çift sayılmaz.
SMS metni sırasıyla rcs_fallback_text, kart başlığı + açıklaması veya contents ve ilk bağlantı önerisinden
üretilir. STOP ile SMS'ten çıkmış numaraya geri düşülmez; app'te aktif SMS kanalı yoksa teslimat
SMS_FALLBACK_UNAVAILABLE ile başarısız olur. Geri düşüş maliyeti SMS sağlayıcısına yazılır.
4. Gelen mesajlar
Kişinin metin yanıtı, öneri çipi seçimi (content.payload = postback) ve gönderdiği dosya Gelen kutusunda RCS
konuşması olarak görünür; anahtar sözcükler RCS'de de çalışır (sözcüğün kanallarına rcs eklenmişse). Gelen
kutusundan RCS yanıtı metin olarak gönderilir.
5. Raporlama
Teslim ve okundu bilgileri RBM DELIVERED/READ ve Twilio durum geri bildirimleriyle teslimata işlenir; mesaj
sayaçlarında sms_fallback ayrıca tutulur.
WhatsApp (Meta Cloud API): kurulum, şablonlar, oturum penceresi ve gelen kutusu
Pushizo, WhatsApp mesajlarını Meta'nın Cloud API'si üzerinden doğrudan gönderir; BSP veya ek barındırma gerekmez (ADR-0029). Kanal, plan özelliği olarak SMS gerektirir. Dış hesap olmadan geliştirme ve test için mock…
İki yönlü SMS ve anahtar sözcükler
SMS, WhatsApp ve RCS'den gelen mesajlar Gelen kutusunda kişi bazlı konuşmalara yazılır; org veya app düzeyinde tanımlanan anahtar sözcükler gelen mesaja otomatik eylemlerle (tag, journey tetiği, otomatik yanıt,…