Esasy mazmuna geç
Ähli proýektler

SaaS · Habarlaşma

WhatsApp kampaniýalary üçin platforma

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

WhatsApp kampaniýalary üçin platforma — Arhitektura diagrammasyClientsweb · API keysEcho APItenants · campaignsSupabase AuthsessionsPostgreSQLcontacts · templatesSecret ManagerTwilio credsWorker pool10 goroutinesTwilioWhatsApp
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

  1. 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.
  2. 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.
  3. 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