OvhApi::Endpoints::Sms
Endpoint /sms : envoi de SMS à la demande via un service SMS
OVH (pack pré-payé). Couvre :
send— envoi d'un SMS court (1 segment) à un ou plusieurs destinataires E.164. Renvoie le nombre de crédits consommés et la liste des destinataires acceptés / refusés.service— métadonnées d'un service SMS (crédit restant, marketing/transactional, etc.).services— liste desserviceNameaccessibles à la consumer key courante. Pratique pour valider la config au boot.
Toutes les méthodes utilisent Client#call (signature HMAC + retry
si l'horloge locale est en dérive). Les erreurs OVH (4xx/5xx)
remontent en OvhApi::ApiError.
Pré-requis côté OVH :
- Un pack SMS commandé sur https://www.ovhtelecom.fr/sms/.
- Une consumer key avec les scopes
GET /sms/*+POST /sms/*/jobs(URL pratique pour générer tout d'un coup : eu.api.ovh.com/createToken/?GET=/sms/&POST=/sms//jobs). - Un sender alphanumérique (3-11 caractères, validé par OVH).
Constructors
new(client : Client)
SourceInstance methods
send(service_name : String, receivers : Array(String), message : String, sender : String | Nil = nil, no_stop_clause : Bool = true, priority : String = "high", validity_period : Int32 = 1440) : JobResult
Envoi synchrone d'un SMS. Renvoie un JobResult qui contient
le nombre de crédits consommés et les destinataires acceptés
par OVH (un numéro mal formé ou en blacklist apparaît dans
invalid_receivers au lieu de valid_receivers).
Paramètres :
service_name—sms-xxxxxx-1(visible sur le manager OVH).receivers— liste de numéros E.164 (+33612345678).message— corps du SMS. > 160 caractères = SMS multi- segments (chaque segment compte 1 crédit).sender— nom expéditeur (3-11 alphanumériques, validé par OVH au préalable). Si non fourni, OVH utilise un numéro court anonyme.no_stop_clause— true pour les SMS non-commerciaux (gagne les caractères de « STOP au xxxxx »). Défaut true (l'usage 2FA typique n'est pas commercial).priority—"high"|"medium"|"low"|"veryLow". Défaut"high"(cas d'usage 2FA / OTP — le code doit arriver vite).validity_period— durée maximale d'attente en minutes avant abandon par l'opérateur. Défaut 1440 (24 h, valeur OVH par défaut).
Métadonnées du service SMS (crédit restant, type marketing / transactional, callback URL, etc.).
services
Liste les serviceName SMS accessibles à la consumer key
courante. Utile au boot pour valider la config :
services = client.sms.services
raise "Service SMS introuvable" unless services.includes?(ENV["OVH_SMS_SERVICE"])