Aide API SMS (envoyersmspro.com)

Bonjour à tous,

Je viens chercher de l’aide car j’essaye de faire fonctionner l’API SMS du site « EnvoyerSMSPro.com » avec Dolibarr.

Bon il reste du boulot notamment du côté de l’envoi car la fonction n’est pas écrite.

Le problème vient du côté de la page d’administration qui me renvoi une magnifique page blanche dès que j’intègre mon fichier class.

Une idée ?

Merci par avance :wink:

<?php
/* Copyright (C) 2014	Alexandre Spangaro	<[email protected]>
 *  
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
 
/**
 *      \file       envoyersmspro/class/envoyersmspro.class.php
 *      \ingroup    envoyersmspro
 *      \brief      Module d'envoi de SMS via le site http://www.envoyersmspro.com/
 */
class EnvoyerSMSPro  extends CommonObject
{
	public $element='envoyersmspro';
	public $table_element='envoyersmspro';
	public $table_element_line = '';
	public $fk_element = '';
	protected $ismultientitymanaged = 0;	// 0=No test on entity, 1=Test with field entity, 2=Test with link by societe

	var $id;
	
	var $expe='';
	var $dest='';
	var $message='';
	var $deferred='';
	var $priority='';
	var $class='';
	var $error = false;
	
	/**
	* Constructor
	*
	* @param	DoliDB		$db		Database handler
	*/
	function __construct($db)
	{
		$this->db = $db;
        return 1;
	}
	
	/**
	 * 
	 * Méthode pour récupérer tous les comptes
	 */
	function getAllAccounts()
	{	
		global $conf, $langs;
	
		// Construction de l'url
		$url=$conf->global->ENVOYERSMSPRO_PROTOCOL."://"$conf->global->ENVOYERSMSPRO_LOGIN.":"$conf->global->ENVOYERSMSPRO_PASSWORD."@".$conf->global->ENVOYERSMSPRO_HOST."/api/account/getallaccounts";
	 
		// Configuration de la requête
		$requestConfig = array( 'http' => array(
								'method' => 'POST',
								'header'=>"Authorization: Basic ".base64_encode($conf->global->ENVOYERSMSPRO_LOGIN.":".$conf->global->ENVOYERSMSPRO_PASSWORD)."\r\n"
								."Content-type: application/x-www-form-urlencoded\r\n",
								));
	
		// Retour du serveur
		$response = file_get_contents($url, false, stream_context_create($requestConfig)); 
			 
		if ($response === false) {
			throw new Exception("Problem reading data from $url");
		}
	 
		// Création d'un Objet XML depuis le retour du serveur
		$responseXML = simplexml_load_string($response);
	 
		if ($responseXML === null) {
			throw new Exception("failed to decode $response as xml");
		}
			   
		return $responseXML;
	}
}

Voici la package pour les motivés :
http://www.as3informatique.fr/envoyersmspro.zip

je vais regarder : j’ai une cliente pour qui j’utilise ce service depuis pas mal de temps et qui en est contente

Merci Charles

Grâce à tes corrections sur le fichier admin, cela marche mieux !

Pour la suite, j’ai essayé deux méthodes :
HTTP || $url = $protocol.« :// ».$login.« : ».$password.« @ ».$host.« /api/account/getallaccounts
HTTPS || $url = $protocol. »://« .$host. »/api/account/getallaccounts

Réponse 1ère méthode (le message n’est pas complet car il contient mes identifiants)

Réponse 2ème méthode

Une idée pour les initiés ? J’ai mis à jour le package dans le message 1 pour les intéressés.

Merci par avance,

Bonjour,

Avez-vous créé plusieurs comptes ? SI oui, il vous faut indiquer pour toutes les fonctions l’identifiant du compte que vous souhaitez utiliser. Vous trouverez les informations nécessaires à la page 6 de notre documentation disponible ici : http://www.envoyersmspro.com/api-sms-php-java-asp-http-rest

Avez-vous essayé en passant en http plutôt qu’en https pour vérifier que le soucis ne vient pas de là ?

Cordialement,

Jérémy TELION
www.envoyersmspro.com

Bonjour
Le certificat ssl de api est invalide.
Essayes peut-être d’ignorer la vérification ssl avec quelque-chose du genre:

// Configuration de la requête
$requestConfig = array( 'http' => array('method' => 'POST',
                                                    'header'=>"Authorization: Basic ".base64_encode($login.":".$password)."\r\n"
                                                             ."Content-type: application/x-www-form-urlencoded\r\n",
                                        ),
                        'ssl'  => array('allow_self_signed' => true,
                                       'verify_peer' => false,
                                        ),
                        );

Fred

Bonjour,

Effectivement, le certificat SSL est uniquement valide pour le sous domaine www. Pouvez-vous faire un test vers https://www.envoyersmspro.com/api/message/send ?

Cordialement,

L’équipe Envoyer SMS Pro
www.envoyersmspro.com

1 « J'aime »

Bonjour,

Merci de votre réponse, je n’avais pas remis le nez dedans malgré la réponse de Frederic.

Le test renvoi la même réponse :

En passant en accès direct via google chrome et en rentrant mes identifiants, cela fonctionne.

J’ai uniquement adapté votre api « getallaccounts » à Dolibarr sans modifier fondamentalement votre script disponible sur votre site.

Comment puis-je vous contacter facilement afin que nous effectuions des tests ?

Merci de votre retour,

Bonjour,

Effectivement, je vous invite à nous contacter soit sur notre numéro vert le 0 800 94 10 05, soit en cliquant sur le bouton « Faîtes vous rappeler » sur notre page d’accueil, en laissant votre numéro.

Vous pouvez également nous contacter en laissant vos coordonnées via notre forumlaire de contact : http://www.envoyersmspro.com/contacter-envoyer-sms-pro

Cordialement,
L’équipe Envoyer SMS Pro
www.envoyersmspro.com

Bonjour,

je cherche aussi un moyen pour utiliser un service d’envoie de sms depuis dolibarr mais je n’y comprends rien.

Vous avez une solution efficace et qui fonctionne ? du genre ajout d’nu module, configuration simple et hop ca roule :happy:

Bonjour,

Auriez-vous avancé sur ce sujet?

Cordialement.

Bonjour,

Non le module est tombé aux oubliettes depuis mais je vais reprendre, j’ai a nouveau besoin d’envoyer des sms depuis la fiche contact

Bonjour,

il y a ce module qui fonctionne bien …:
https://www.dolistore.com/fr/modules/183-SMS-Decanet.html

Cordialement,

Bonsoir Alexandre,

Je voudrais en savoir plus sur ce module ou une solution pour l’envois de sms.
Ma belle-mère à besoin d’envoyer un sms afin que ses patients confirment un rdv qui est enregistré dans l’agenda.
Enfin qui sera enregistré dans l’agenda car pour le moment encore quelques problème de propriétaire concernant la création du rdv.

Merci de ton retour.