Aller au contenu

SMS

Brevo

require 'sib-api-v3-sdk'

class SmsSender

  def initialize(club, receiver, content)
    @club = club
    @receiver = receiver
    @content = content
  end

  def send
    api.send_transac_sms(transac_sms_data)
  end

  private

    def api
      SibApiV3Sdk::TransactionalSMSApi.new
    end

    def transac_sms_data
      transac = SibApiV3Sdk::SendTransacSms.new
      transac = {
        sender: @club.nom,
        recipient: @receiver,
        content: @content,
        type: 'transactional',
        unicodeEnabled: false # Pour éviter de payer plus cher
      }

      transac
    end

end

Template SMS

classDiagram
  class TemplateSms {
    +CategoriePublic[] :categorie_publics
    +int club_id

    +enum action_sms_sender
    +json options
  }

  class SmsSent {
    +int id
    +int? template_sms_id
    +int club_id
    +int contact_id
    +int credit_used
    +json payload
  }

Détail TemplateSms

  • club_id : Pour associer les templates SMS par club
  • categorie_publics : Pour associer les templates SMS pour un ensemble de catégorie de publique
  • action_sms_sender : Key => Le nom du template traduite
  • options : Les options à passer au SmsSender

Détail SmsSent

  • template_sms_id : Le template SMS utilisé
  • club_id : Pour associer les SMS envoyés par club
  • contact_id : Le contact à qui le SMS a été envoyé
  • credit_used : Le nombre de crédit utilisé pour l'envoie
  • payload : Les données reçues par le SmsSender