Twilio arkaly WhatsApp Business kampaniýalary üçin multi-tenant B2B platforma: guramalar, kontaktlar we sanawlar, WhatsApp tassyklamasyndan geçýän habar şablonlary we köpçülikleýin ibermek.
Meniň rolum
Backend programmist. API-ni, müşderileriň hasap maglumatlaryny saklamagy, autentifikasiýany we iberiş pipeline-ny döretdim.
Tehnologiýalar
Go
Echo
PostgreSQL
Supabase Auth
Twilio
GCP Secret Manager
Mesele
Her müşderi öz Twilio akkaunty bilen gelýär, şonuň üçin hasap maglumatlary her müşderi üçin howpsuz saklanmaly, şablonlar WhatsApp tassyklamasyndan geçmeli, müňlerçe kontakta iberilýän kampaniýany bolsa bir soragyň içinde birin-birin iberip bolmaýar.
Arhitektura
PostgreSQL (GORM) üstündäki Echo API ulanyjylary Supabase arkaly ýa-da API açary bilen autentifikasiýa edýär. Müşderileriň Twilio hasap maglumatlary GCP Secret Manager-de saklanýar we iberiş wagtynda alynýar. Kampaniýalar worker howuzyna paýlanýar, ol habarlary Twilio arkaly iberýär we her kontakt boýunça netijeleri ýygnaýar; telefon belgileri E.164 formatyna getirilýär.
Esasy çözgütler
01Müşderileriň gizlin maglumatlary maglumat bazasyndan daşarda
Näme üçin
Her müşderiniň Twilio hasap maglumatlary PostgreSQL-de däl-de, GCP Secret Manager-de saklanýar, şonuň üçin maglumat bazasy syzdyrylsa-da olar açylmaýar, gizlin maglumatlaryň bolsa wersiýalaryny saklap we wagtal-wagtal çalşyp bolýar.
02Ibermek üçin worker howuzy
Näme üçin
Goroutine-leriň kesgitli howuzy habarlary parallel iberýär, emma Twilio API-sine bir wagtda iberilýän soraglaryň sanyny çäkli saklaýar.
Kompromis
Netijeler tertipsiz gelýär we olary kontaktlar bilen gaýtadan gabatlaşdyrmaly.
03Autentifikasiýanyň iki usuly
Näme üçin
Adamlar web programmada Supabase sessiýalaryny, integrasiýalar bolsa API açarlaryny ulanýar. Açar iki gezek saklanýar: ony tapmak üçin bcrypt heşi görnüşinde we eýesi ony ýene görüp biler ýaly AES-GCM bilen şifrlenen görnüşde.
Näme döretdim
Guramalar, ulanyjylar, kontaktlar, kontakt sanawlary we habar şablonlary
Twilio Content API arkaly şablon döretmek we WhatsApp tassyklamasyna haýyş ibermek
Tabşyryk we netije kanallary bolan 10 goroutine-den ybarat howuz arkaly köpçülikleýin ibermek
Her müşderiniň Twilio hasap maglumatlary Google Cloud Secret Manager-de saklanýar
Supabase Auth ýa-da API açarlary — gözlemek üçin bcrypt bilen heşlenen, gaýtadan görkezmek üçin AES-GCM bilen şifrlenen