Jump to content

Appel de code PHP et récupérations infos client


Recommended Posts

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

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

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

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...