QuinoaDesign Posted February 27, 2012 Share Posted February 27, 2012 Bonjour, Je suis entrain d'associer un système d'autorépondeur à prestashop et je recherche de l'aide pour le faire (Je ne suis pas programmeur mais je gère tout le site). L'idée est de pouvoir récupérer les infos d'un client (Données perso et produits achetés) pour les intégrer dans le système d'autorépondeur me permettant de faire un suivi clientèle ciblé (Pour info cliquer ici) Le système d'autorépondeur me fourni cet API. Je l'ai testée en remplissant les champs $email="XXXX???"; $prenom="XXXX???"; avec mes infos et ça fonctionne. Maintenant je ne sais pas trop ou placer ce fichier pour qu'il soit appelé au moment de la confirmation de commande. J'ai testé <?php include("inscr_cryptage-v2.php") ?> dans order-confirmation.tpl sans résultats. (ligne 37) Avec : $email=$email; $prenom=$firstname; Mais je ne sais si ça peut fonctionner ainsi ! Si quelqu'un serait intéressé par le sujet et pouvait même me proposer un tarif pour réaliser un module, je suis preneur. Voici le code : <?php // POUR UNE COMPATIBILITE OPTIMALE, le fichier contenant ce code doit être encodé en UTF-8 //Exemples de valeurs // pour la variable $inscription_normale il faut commenter une des deux lignes selon votre choix. $inscription_normale="non"; // non = inscription transparente sans redirection, dans ce cas c'est votre site web qui prend tout en charge. //$inscription_normale="oui"; // oui = inscription comme si l'abonné avait lui même rempli le formulaire et donc il y a redirection par l'auto-répondeur. $membreid=XXXX;//info disponible sur l'espace membre (page d'accueil) mais dans cet exemple c'est un de mes comptes $listeid=XXXX;//info disponible sur l'espace membre (page d'accueil) mais dans cet exemple c'est une de mes listes. $codeactivationclient=XXXXXXXXX;//info disponible sur l'espace membre dans le menu du haut "mon compte" (tout en bas de la page) mais dans cet exemple c'est un de mes comptes //Ensuite il faut donc déclarer les variables que l'on a besoin comme dans cet exemple : $email=XXXX???; $prenom=XXXX???; //ces variables seront reprises ci dessous // A PARTIR DE CETTE LIGNE, NE MODIFIEZ RIEN $array_valeurs=array( 'membreid'=>$membreid ,'codeactivationclient'=>$codeactivationclient ,'inscription_normale'=>$inscription_normale ,'listeid'=>$listeid ,'email'=>$email ,'nom'=>$nom ,'prenom'=>$prenom ,'civilite'=>$civilite ,'adresse'=>$adresse ,'codepostal'=>$codepostal ,'ville'=>$ville ,'pays'=>$pays ,'siteweb'=>$siteweb ,'telephone'=>$telephone ,'parrain'=>$parrain ,'fax'=>$fax ,'msn'=>$msn ,'skype'=>$skype ,'pseudo'=>$pseudo ,'sexe'=>$sexe ,'journaissance'=>$journaissance ,'moisnaissance'=>$moisnaissance ,'anneenaissance'=>$anneenaissance ,'ip'=>$ip ,'identite'=>$identite ,'champs_1'=>$champs_1 ,'champs_2'=>$champs_2 ,'champs_3'=>$champs_3 ,'champs_4'=>$champs_4 ,'champs_5'=>$champs_5 ,'champs_6'=>$champs_6 ,'champs_7'=>$champs_7 ,'champs_8'=>$champs_8 ,'champs_9'=>$champs_9 ,'champs_10'=>$champs_10 ,'champs_11'=>$champs_11 ,'champs_12'=>$champs_12 ,'champs_13'=>$champs_13 ,'champs_14'=>$champs_14 ,'champs_15'=>$champs_15 ,'champs_16'=>$champs_16); $data_sg_autorep = http_build_query($array_valeurs); $fp = fsockopen('sg-autorepondeur.com', 80); fwrite($fp, "POST /inscr_decrypt.php HTTP/1.1\r\n"); fwrite($fp, "Host: sg-autorepondeur.com\r\n"); fwrite($fp, "Content-Type: application/x-www-form-urlencoded\r\n"); fwrite($fp, "Content-Length: ".strlen($data_sg_autorep)."\r\n"); fwrite($fp, "Connection: close\r\n"); fwrite($fp, "\r\n"); fwrite($fp, $data_sg_autorep); $headers = array(); $body = array(); $i = 0; $inBody = false; while (!feof($fp)) { if (!$inBody) { // Read HTTP headers $line = trim(fgets($fp, 1024)); if ($line != '') { $headers[] = $line; } else { $inBody = true; continue; } } else { // Read HTTP body $body[] = fgets($fp, 1024); } $i++; } // Success means: doesn't return anything at all in the body $bodyContent = trim(implode("", $body)); $result = array('headers' => $headers, 'body' => $bodyContent, "successful" => !strlen($bodyContent)); //echo $bodyContent; //Cette ligne sert à vérifier le code erreur si vous constatez une anomalie (laissez la commenté par défaut). ?> Link to comment Share on other sites More sharing options...
DevNet Posted February 27, 2012 Share Posted February 27, 2012 Bonjour, Ce n'est pas dans le tpl qu'il faut le mettre. Je vous conseil d'en créer un module afin de le rendre dissociable du noyau. Depuis le module, vous pouvez utiliser les hooks : soit newOrder soit paymentConfirm soit paymentReturn soit orderConfirmation Afin de lancer votre code API. Bien cordialement Link to comment Share on other sites More sharing options...
QuinoaDesign Posted February 27, 2012 Author Share Posted February 27, 2012 Merci ! Je souhaitais effectivement faire un module mais j'avais besoins de tester d'abord... Je vous tiendrai au courrant de mes résultats. Bonne soirée Link to comment Share on other sites More sharing options...
emb2012 Posted March 6, 2012 Share Posted March 6, 2012 Bonjour, J'ai besoin aussi de récupérer des données au moment de la confirmation du paiement. Où puis-je trouver ces fichiers svp ? soit newOrder soit paymentConfirm soit paymentReturn soit orderConfirmation J'aurais besoin aussi de récupérer des données du client pour les rajouter dans des emails de confirmation de paiement ; dans quels fichiers ça se passe svp ? Merci ! Emmanuel Link to comment Share on other sites More sharing options...
luci1 Posted March 6, 2012 Share Posted March 6, 2012 Bonjour, J'ai besoin aussi de récupérer des données au moment de la confirmation du paiement. Où puis-je trouver ces fichiers svp ? soit newOrder soit paymentConfirm soit paymentReturn soit orderConfirmation Ce ne sont pas de fichiers Emmanuel, mais des hook. Les hook sont des points d'accroches qui sont exécutés aux cours des différentes actions possibles dans un site e-commerce On peut associer plusieurs hook dans un module, par exemple pour ajouter des nouvelles fonctionnalités aux boutiques. Tu peux trouver plus d'informations dans ce pdf : http://www.prestasho...echguide_fr.pdf (recherches tout simplement le mot hook ). Link to comment Share on other sites More sharing options...
emb2012 Posted March 6, 2012 Share Posted March 6, 2012 ah d'accord. Merci Lucien ! je vais regarder ça. Link to comment Share on other sites More sharing options...
emb2012 Posted March 7, 2012 Share Posted March 7, 2012 Bonjour, voila, j'ai lu la doc concernant les hook. Mais l'architecture reste pour moi quelque peu opaque... (entre les controllers, les tpl et autres classes...). Je voudrais effectuer certaines actions (en php), dès que le paiement a été validé. J'ai donc besoin de savoir à quel endroit (c'est à dire quelle fonction, et/ou quel fichier) puis-je insérer mon script php ? Est-ce que quelqu'un le sait svp ? Merci pour votre aide Emmanuel Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now