02 51 76 0 34

Accès client :  mot de passe oublié   inscription

       (oubli)
AccueilDéveloppeurs / API › WooCommerce

Plugin SMS pour WooCommerce (WordPress)

Mis à jour le 22 juillet 2026

Prévenez-vous à chaque commande et tenez vos clients informés par SMS : ce plugin WooCommerce envoie automatiquement un SMS au marchand à la commande, et au client à la confirmation et à l'expédition. Modèles personnalisables, appels HTTPS, code retour tracé dans les notes de chaque commande.

1Ce que fait le plugin (extrait du code)

/**
 * Plugin Name: 123-SMS pour WooCommerce
 * Plugin URI:  https://www.123-sms.net/developpeurs-api-123-sms-pro-woocommerce.php
 * Description: Notifications SMS de commande via 123-SMS.net — service français depuis 2002, crédits prépayés sans abonnement. SMS au marchand à chaque commande, SMS au client à la confirmation et à l'expédition.
 * Version:     1.0.0
 * Author:      123-SMS.net (CLIC-EVENT)
 * Author URI:  https://www.123-sms.net/
 * License:     MIT
 * Text Domain: sms123-woocommerce
 */

// [...] reglages dans WooCommerce > SMS 123-SMS.net [...]

/* ------------------------------------------------ envois */

	public static function commande_confirmee( $order_id ) {
		$order = wc_get_order( $order_id );
		if ( ! $order ) { return; }
		if ( '1' === self::opt( 'sms_admin' ) && self::opt( 'numero_admin' ) ) {
			self::envoyer( self::opt( 'numero_admin' ), self::modele( 'tpl_admin', $order ), $order, 'marchand' );
		}
		if ( '1' === self::opt( 'sms_confirme' ) ) {
			self::sms_client( $order, 'tpl_confirme', 'confirmation' );
		}
	}

	public static function commande_expediee( $order_id ) {
		$order = wc_get_order( $order_id );
		if ( $order && '1' === self::opt( 'sms_expedie' ) ) {
			self::sms_client( $order, 'tpl_expedie', 'expedition' );
		}
	}

	protected static function sms_client( $order, $tpl, $etape ) {
		$tel = $order->get_billing_phone();
		if ( $tel ) {
			self::envoyer( $tel, self::modele( $tpl, $order ), $order, 'client (' . $etape . ')' );
		}
	}

	protected static function modele( $cle, $order ) {
		return strtr( self::opt( $cle ), array(
			'{numero}'   => $order->get_order_number(),
			'{prenom}'   => $order->get_billing_first_name(),
			'{nom}'      => $order->get_billing_last_name(),
			'{total}'    => $order->get_total(),
			'{boutique}' => get_bloginfo( 'name' ),
		) );
	}

	/** Normalise un numero francais : 06/07 -> 336/337, sans espaces. */
	public static function normaliser( $tel ) {
		$tel = preg_replace( '/[^0-9+]/', '', (string) $tel );
		if ( 0 === strpos( $tel, '+' ) )  { $tel = substr( $tel, 1 ); }
		if ( 0 === strpos( $tel, '00' ) ) { $tel = substr( $tel, 2 ); }
		if ( 10 === strlen( $tel ) && '0' === $tel[0] ) { $tel = '33' . substr( $tel, 1 ); }
		return $tel;
	}

	/** Appel HTTPS de l'API et trace du code retour dans la commande. */
	public static function envoyer( $numero, $message, $order = null, $contexte = '' ) {
		$reponse = wp_remote_post( 'https://www.123-sms.net/http.php', array(
			'timeout' => 15,
			'body'    => array(
				'email'   => self::opt( 'email' ),
				'pass'    => self::opt( 'cleapi' ),
				'numero'  => self::normaliser( $numero ),
				'message' => $message,
				'sender'  => self::opt( 'sender' ),
			),
		) );
		$code = is_wp_error( $reponse ) ? $reponse->get_error_message()
			: trim( wp_remote_retrieve_body( $reponse ) );
		if ( $order ) {
			$order->add_order_note( sprintf( '123-SMS %s : code retour %s %s',
				$contexte, $code, '80' === $code ? '(envoye)' : '' ) );
		}
		return $code;
	}
}

Sms123_WooCommerce::init();

2Installation et utilisation

  • Téléchargez l'archive, puis dans WordPress : Extensions › Ajouter › Téléverser l'extension.
  • Activez, puis ouvrez WooCommerce › SMS 123-SMS.net.
  • Renseignez l'e-mail du compte, la clé API (espace client › API) et le numéro du marchand.
  • Cochez les notifications souhaitées et personnalisez les modèles avec {numero} {prenom} {nom} {total} {boutique}.
  • Passez une commande test : le code retour apparaît dans les notes de la commande (80 = envoyé).
La clé API se génère dans l'espace client, rubrique API › Générer Clé API. Les codes réponse et le retour des accusés de réception par HTTP sont détaillés dans la documentation technique.

Questions fréquentes

Quels SMS le plugin envoie-t-il ?

Trois notifications, chacune activable séparément : SMS au marchand quand une commande est confirmée, SMS au client à la confirmation (statut « en cours »), SMS au client à l'expédition (statut « terminée »). Les modèles de messages sont personnalisables.

Avec quelles versions de WordPress et WooCommerce est-il compatible ?

WordPress 5.0+ et WooCommerce 4+ (le plugin n'utilise que les hooks standards de changement de statut). Il déclare sa compatibilité HPOS (stockage haute performance des commandes de WooCommerce 8+).

Combien coûte l'envoi des SMS ?

Le plugin est gratuit (licence MIT). Les SMS sont débités de vos crédits 123-SMS prépayés, sans abonnement ni date d'expiration. Une offre dédiée boutiques en ligne avec 5 SMS d'essai gratuits est disponible.

Est-ce conforme au RGPD ?

Les SMS envoyés par le plugin sont transactionnels : ils informent le client sur sa propre commande, la mention STOP n'est pas requise. En revanche, n'utilisez pas le téléphone de commande pour de la prospection sans consentement explicite — détails sur la page réglementation SMS.

Comment vérifier que les SMS partent bien ?

Chaque envoi ajoute une note dans la commande WooCommerce avec le code retour de l'API : 80 = envoyé, 82 = identifiants invalides, 83 = crédit insuffisant, 84 = numéro invalide. Vous voyez donc l'historique SMS de chaque commande sans quitter WordPress.

Et pour PrestaShop ou un autre CMS ?

Un module PrestaShop et une contribution osCommerce existent aussi. Pour tout autre CMS, l'API HTTPS s'intègre en quelques lignes — adaptations spécifiques développées gratuitement.

Téléchargement

Plugin WooCommerce (.zip)

Licence MIT — libre et gratuit.

L'essentiel

  • API HTTPS en un appel : email, clé API, numéro, message.
  • Code réponse immédiat + accusés de réception par HTTP.
  • Crédits prépayés sans abonnement ni expiration.
  • Adaptations spécifiques développées gratuitement.