Árukereső Megbízható bolt integrálása

zedclans képe

Üdv,
A napokban beléptem az arukereso partner rendszerébe, és gondoltam részt veszek a „Megbízható Bolt” programjukban , amit integrálni kéne a drupal rendszerébe, adott is a rendszer egy leírásnak nevezett szörnyedvény, de számomra elég érthetetlen, így gondoltam feldobom ide a témát, hátha valakinek van már tapasztalata az ügyben.

  1. <?php
  2.  
  3. /*******************************************************************************
  4.  * Árukereső.hu trusted shop program
  5.  * Example code integration to the webshop
  6.  *
  7.  *
  8.  * Please note, that the example detailed below can not be simply copy-pasted
  9.  * into your webshop’s code, it has to be customized adequately.
  10.  *
  11.  * Setup steps:
  12.  * 1. Copy TrustedShop.php file to a place accessible by the webshop engine.
  13.  * 2. Copy this example code to the page of the webshop where the e-mail address
  14.  * of the customer and the names of the purchased products are retrievable
  15.  * from the webshop engine. Generally this is the webshop’s confirmation
  16.  * page of the purchase.
  17.  * 3. Customize the pasted example code according to the following:
  18.  * - Modify path of TrustedShop.php in require_once() in such a way that
  19.  * the webshop engine can use it.
  20.  * - Check that the proper WebAPI key is set, if not, modify it. You can find
  21.  * the WebAPI key on the partner portal.
  22.  * - Set the customer’s e-mail address.
  23.  * - Add the names of the purchased products.
  24.  * - Implement an error handling if you want (optional).
  25.  *
  26.  ******************************************************************************/
  27.  
  28. require_once 'TrustedShop.php';
  29.  
  30. try {
  31.  
  32. // Provide your own WebAPI key.
  33. // You can find your WebAPI key on your partner portal.
  34.  
  35. $Client = new TrustedShop('WEBAPIKOD');
  36.  
  37. // Provide the e-mail address of your customer.
  38. // You can retrieve the e-amil address from the webshop engine.
  39.  
  40. $Client->SetEmail('[email protected]');
  41.  
  42. // Provide the name of the purchased products.
  43. // You can get the name of the products from the webshop engine.
  44. // The AddProduct method must be called for each of the purchased products.
  45. //
  46. // It is optional to provide the name of the products, so if this data is not
  47. // available, you can leave out the AddProduct calls.
  48.  
  49. $Client->AddProduct('Name of first purchased product');
  50. $Client->AddProduct('Name of second purchased product');
  51.  
  52. // This method sends us the e-mail address and the name of the purchased
  53. // products set above. After the data arrived to us, we store them
  54. // with the time stamp and the WebAPI key.
  55. // This lets us know that someone has purchased at your webshop, to whom
  56. // we later have to send the questionnaire for evaluating your shop.
  57. // The "Send()" operation doesn't send immediately. It generates a HTML output,
  58. // puts into source of the page and the customer's browser will send the
  59. // required informations us.
  60.  
  61. $Client->Send();
  62.  
  63. } catch (Exception $Ex) {
  64.  
  65. // Here you can implement error handling. The error message can be obtained
  66. // in the manner shown below. Implementing error handling is optional.
  67.  
  68. $ErrorMessage = $Ex->getMessage();
  69. }
  70.  
  71. ?>
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Sweetchuck képe

Csak annyit tudok az Árukereső API-járól amennyi a témanyitóból kiderül, de egy ilyen integrációt tisztességesen megcsinálni elég sok idő.

Jó magyar szokás szerint az API-juk földi halandó számára nem elérhető.
http://www.arukereso.hu/static/megbizhato_bolt_szolgaltatas.html
(Miért nincs egy link a GitHub-ra, hogy letöltsem a kliensüket?)

// The "Send()" operation doesn't send immediately. It generates a HTML output, 
// puts into source of the page and the customer's browser will send the 
// required informations us.
 
$Client->Send();

Nos, ha a $Client->Send(); tényleg kiekhóz magából valami gyönyörűséget a meghívás pillanatában, akkor jobban jársz ha nem használod a példakódot és kitúrod a kódból, hogy a szerver milyen POST|GET kéréseket vár és azt egy saját megoldással implementálod.

2
0
zedclans képe

Köszönöm a hozzászólást, a napokban írtam mail-t a technikai részlegnek ez ügyben, hogy legalább egy épkézláb dokumentációt dobjanak már erről, hogy mit is szeretnének, mert nem lehet eligazodni ezen a „leíráson” egyelőre választ nem kaptam ezzel kapcsolatban. Gányolni meg nem akarok. Kerestem a neten is, hátha valaki letudja írni, hogy mit is szeretnének ők, de azokon a fórumokon is tanácstalan emberek állnak. Gyors merengés után fejben már kigondoltam, hogy a commerce-hez kéne egy kiegészítő modult készíteni ami a leadott rendelésekből elküldi az árukeresőnek a rendelt árút és a user email címét, amikor a rendelés leadásra került. A trustedshop.php-t csak minimálisan lehetséges módosítani, mert különben az ő rendszerük nem tudja feldolgozni a kapott infókat.

Az indító postban mellékeltem az example kódot, ide pedid berakom a trustedshop-ot, összesen ennyi az egész kód amit adnak ahhoz, hogy integrálja a földi halandó és semmi többet.

  1. <?php
  2.  
  3. class TrustedShop {
  4.  
  5. const ServiceHost = 'www.arukereso.hu';
  6.  
  7. const ServiceUrl = '/affiliation/TrustedShop.php';
  8.  
  9. const ErrorEmail = 'Nem adta meg a vasarlo email cimet';
  10.  
  11. const ErrorService = 'Nem sikerult menteni a vasarlo adatait.';
  12.  
  13. private $WebApiKey;
  14.  
  15. private $Email;
  16.  
  17. private $Products = array();
  18.  
  19. private $Protocol;
  20.  
  21. public function __construct($WebApiKey) {
  22. $this->WebApiKey = $WebApiKey;
  23. $this->Protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 'https' : 'http';
  24. }
  25.  
  26. public function SetEmail($Email) {
  27. $this->Email = $Email;
  28. }
  29.  
  30. public function AddProduct($ProductName) {
  31. $this->Products[] = $ProductName;
  32. }
  33.  
  34. public function Send() {
  35. if (empty($this->Email)) {
  36. throw new Exception(self::ErrorEmail);
  37. }
  38.  
  39. $String = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  40. $C = '';
  41. for ($i = 0; $i < 20; $i++) {
  42. $C .= $String{mt_rand(0, strlen($String) - 1)};
  43. }
  44.  
  45. $Timestamp = time();
  46. $HashedKey = md5($this->WebApiKey . $Timestamp);
  47.  
  48. $Query = 'HashedKey=' . $HashedKey . '&Email=' . urlencode($this->Email);
  49. foreach ($this->Products as $ProductName) {
  50. $Query .= '&Products[]=' . urlencode($ProductName);
  51. }
  52. $Query .= '&Timestamp=' . $Timestamp;
  53.  
  54. echo '<script type="text/javascript" src="' . $this->Protocol . '://' . self::ServiceHost . '/fc.js"></script>';
  55. echo
  56. '<script type="text/javascript">',
  57. 'function fc_request_done(C) { var I = new Image(); I.src=\'' . $this->Protocol . '://' . self::ServiceHost . self::ServiceUrl . "?" . $Query . '&C=\'+C; }',
  58. 'set_fc("' . self::ServiceHost . '", "__aku","' . $C . '");',
  59. '</script>';
  60.  
  61. echo
  62. '<noscript>',
  63. '<img src="' . $this->Protocol . '://' . self::ServiceHost . self::ServiceUrl . "?" . $Query . '&C=' . $C . '">',
  64. '</noscript>';
  65. }
  66. }
  67.  
  68. ?>
0
0
munti képe

Szia!

Sikerült közben közelebb jutni a megoldáshoz?

0
0