Je suis en train d’adapter ce tuto pour le faire fonctionner avec le plugin parcelTracking.
J’ai réussi à adapter les codes PHP d’ajout et suppression de colis sans trop de souci. Le scénario d’ajout me crée bien l’équipement correspondant à mon colis avec toutes les infos rentrées depuis JeedomConnect. Le seul hic, c’est que l’équipement est bien créé mais il ne se synchronise pas avec 17Track vu que la fonction registerParcel n’est pas exécutée. Cette fonction est une fonction interne du plugin parcelTracking qui est exécutée quand on clique sur le bouton « Enregistrement » de l’équipement (mon colis).
Il faudrait donc que je puisse l’exécuter depuis mon scénario PHP de création de colis, avec pour argument le numéro de suivi de mon colis. Le numéro de suivi je l’ai donc c’est pas le souci. Mais je n’ai aucune idée de comment lancer cette fonction depuis un script PHP.
Est-ce qu’une bonne âme pourrait m’expliquer comment faire ça ?
Merci
Il faudrait voir ton script mais ce doit être jouable en incluant dedans la classe : parceltracking.class.php
et en appelant la fonction addParcel($name, $trackingId, $carrier, $param)
C’est vrai que ça aurait été mieux si j’avais posté mon script, désolé. Grâce à ta solution, ça marche et en plus j’ai grandement simplifié le scénario d’ajout. Le script d’originei :
require_once dirname(__FILE__) . '/../../plugins/JeedomConnect/core/class/JeedomConnectWidget.class.php';
// Virtuel new colis
$eqNewColis = '[Colis][Nouveau Colis]';
// recupération des données du colis
$nomNewColis=cmd::byString('#'.$eqNewColis.'[Nom]#')->execCmd() ;
$numSuiviNewColis=cmd::byString('#'.$eqNewColis.'[Numéro suivi]#')->execCmd() ;
$comNewColis=cmd::byString('#'.$eqNewColis.'[Commentaire]#')->execCmd() ;
$transporteurNewColis=cmd::byString('#'.$eqNewColis.'[Transporteur (valeur)]#')->execCmd() ;
// création de l'equipement
$colis = new parcelTracking();
$colis->setName($nomNewColis);
$colis->setEqType_name('parcelTracking');
$colis->setObject_id(1);
$colis->setIsEnable(1);
$colis->setIsVisible(1);
$colis->setConfiguration('trackingId',$numSuiviNewColis);
$colis->setConfiguration('additionalParameter',$comNewColis);
$colis->setConfiguration('carrier',$transporteurNewColis);
//$colis->setConfiguration('transaftership','mondialrelay');
//$colis->setConfiguration('cp_aftership','ACP');
$colis->save();
$scenario->setLog('Id new eq : ' . $colis->getId());