Jump to content

Modul (APi) conectare eMAG.ro


Recommended Posts

Buna,

Are cineva experienta cu configurarea modului de conecatre (API) cu eMAG.ro? Am instalat, facut toate setarile conform documentatiei lor, dar produsele apar in ca pending iar ei spun ca "nu au ajuns la ei".

 

Link to comment
Share on other sites

  • 1 year later...

BUna!

 

Am cumparat modulul eMag Merketplace de pe addons dar nu am reusit sa finalizam integrarea. IN coloana eMAG Family Type trebuia sa apara ceva?

 

Avem eroare de mai jos:

 

eMAG Marketplace API calls have failed in the last 5 minutes!

Please check your API Call Logs for more details (filter by Status = 'error')! 

 

 

Multumesc, Magda
Link to comment
Share on other sites

 

BUna!

 

Am cumparat modulul eMag Merketplace de pe addons dar nu am reusit sa finalizam integrarea. IN coloana eMAG Family Type trebuia sa apara ceva?

 

Avem eroare de mai jos:

 

eMAG Marketplace API calls have failed in the last 5 minutes!

Please check your API Call Logs for more details (filter by Status = 'error')! 

 

 

Multumesc, Magda

 

 

Exista posibilitatea sa nu ai descarcate toate categoriile si caracteristicile datorita unor limitari php venite de la hosting in acest caz se face un import manual in sql cu respectivele categorii si caracteristici. Acum depinde deoarece logul de mai sus nu spune multe doar ca exista erori.

Edited by MihaiAlex (see edit history)
Link to comment
Share on other sites

  • 1 month later...

Buna ziua, 

 

Am o problema, cu modulul prestashop de la emag. sper ca ma puteti ajuta mai mult decat ei. 

Vreau sa pun produsele cu alte preturi decat cele din magazinul meu,

dar orice modificare facuta in marketplace se sterge la urmatorul import.

practic, pentru a avea stocurile automate prin acest modul, sunt obligat sa am pe site aceeasi descriere, poze si preturi ca cele care vreau sa fie pe emag.

Link to comment
Share on other sites

  • 2 months later...

Salutare, 

 

Am configurat modulul eMag Marketplace astfel incat nu mai genereaza nicio eroare, insa pe platforma eMag Marketplace, la rubrica Produsele mele, nu apare niciun produs. Stie cineva ce mai este de facut?

Link to comment
Share on other sites

Ai verificat daca ti-au plecat produsele din site catre mktp?

 

Nu stiu sigur unde sa verific. Spre exemplu, cand imi dadea erori pentru ca am atribuit produselor o categorie pentru care nu aveam acces, la API Call Logs aparea instiintare de eroare care zicea: product_offer / save / error / ERROR: Product ... si scria care este eroare identificata. Acum la API Call Logs nu apare nicio eroare. 

Daca nu aici se verifica daca au plecat produsele din site, te rog sa imi spui unde sa ma uit.

Link to comment
Share on other sites

Ai in baza de date o tabela si ai campul message_out, iti selectezi un produs, il trimiti, verifici in tabela si apoi le poti da mail sa le semnalezi problema care nu este de la tine.

 

"Ai in baza de date o tabela", poti te rog sa imi spui la ce rubrica o gasesc? Acum vorbesti de backoffice PrestaShop sau de platforma eMag Marketplace? 

Link to comment
Share on other sites

Ai in baza de date o tabela si ai campul message_out, iti selectezi un produs, il trimiti, verifici in tabela si apoi le poti da mail sa le semnalezi problema care nu este de la tine.

Se pare ca produsele nu au plecat de la mine

Link to comment
Share on other sites

Deci, in concluzie si de la capat. Am verificat, in firewall nu e nicio regula restrictiva. Modulul l-am sters si l-am incarcat, instalat si configurat conform ghidului realizat de Online Business Solutions. Erori nu sunt. Produsele asa si nu ajung in mktp. Cei de la eMag mi-au zis sa contactez dezvoltatorul. Se poate face ceva ca sa mearga?  HELP

Link to comment
Share on other sites

Deci nu ai activata nicio taxa si ai pus preturi cuvtot cu tva, corect?

Nu, am preturile fara TVA iar taxa de 19% se adauga automat si calculeaza pretul final cu TVA pe care il vede cumparatorul. 

Link to comment
Share on other sites

Scuze: am tastat gresit de pe telefon. Va trebui sa vezi pentru un produs ce valori trimite si ce raspuns returneaza mkp.

Pentru asta se foloseste de exemplu un plugin in mozzila care se numeste firebug, sau foloseste mozzila developer edition.

Te pricepi cat de cat sa faci asta ?

Link to comment
Share on other sites

Scuze: am tastat gresit de pe telefon. Va trebui sa vezi pentru un produs ce valori trimite si ce raspuns returneaza mkp.

Pentru asta se foloseste de exemplu un plugin in mozzila care se numeste firebug, sau foloseste mozzila developer edition.

Te pricepi cat de cat sa faci asta ?

De cand m-am apucat de magazinul asta am inceput sa ma pricep la multe lucruri de care mai inainte nici nu stiam ca exista :)) Acus intru sa vad daca ma pricep sa nu :) Multumesc pentru raspuns

Link to comment
Share on other sites

Totusi nu am configurat corect modulul eMag Marketplace. In Main Configuration/Products and Orders la Delivery Option ar trebui selectat Marketplace (The default delivery option used to import orders with). Nu pot selecta Marketplace deoarece nu apare decat Carriers configurati in backoffice PrestaShop la Shipping. 

La Identity am Marketplace URL https://marketplace.emag.roAPI URL https://marketplace.emag.ro/api-3API Protocol HTTPS, API Locale ro_RO, API Currency RON iar restul datelor de identificare au fost preluate din eMag Marketplace. Test Connection zice Connection established successfully!

Localitatile au fost importate cu succes deoarece in continuare a persmis selectarea AWB Sender Locality. 

In aceste conditii, ce poate fi modificat ca sa apara si sa selectez Marketplace la Delivery Option? 

Link to comment
Share on other sites

Salutare,

 

Am incercat sa instalez modulul eMAG Marketplace insa la punctul

 

3) Fill in the Orders form and then save your changes!

 

nu am stiut ce trebuie facut. In rest am instalat cron joburile.

 

Poate sa-mi dea cineva vreo sugesti?

 

Multumesc,

Alex

Link to comment
Share on other sites

  • 2 weeks later...

Buna ,

 

Am si eu o problema cu acest modul. Nu imi importa comenzile de pe marketplace in presta.

Comenzile apar in tabela ps_emagmp_order_history insa nu le creeaza ca si comenzi si in presta.

 

Aveti vre-o idee in acest sens ?

Am enablat guest check out asa cum spune in documentatie ...

 

Multumesc,

Daniel

Edited by dandumit (see edit history)
Link to comment
Share on other sites

E-mag marketplace a adus si aduce in continuare anumite modificari pentru API .

Nu stiu daca acesta este motivu pentru care ai aceasta problema.

Fiind vorba de un modul care este in backoffice, nu are nimeni cum sa vada ce date iti sunt returnate de catre e-mag marketplace cand se face comanda, decat tu sau putem continua discutia in privat ...

Link to comment
Share on other sites

E-mag marketplace a adus si aduce in continuare anumite modificari pentru API .

Nu stiu daca acesta este motivu pentru care ai aceasta problema.

Fiind vorba de un modul care este in backoffice, nu are nimeni cum sa vada ce date iti sunt returnate de catre e-mag marketplace cand se face comanda, decat tu sau putem continua discutia in privat ...

Datele ce iti vin de la Emag le regasest in baza de date, la fel ca si datele trimise de catre tine. Problema a aparut in momentul in care s-au modificat variabile in API, iar in acest caz Emag daca se respecta oferea si suport pentru aceste modificari, implicit pentru modul dar se pare ca ramane la latitudinea partenerilor sa isi modifice modulul asa cum fiecare ar putea.

  • Like 1
Link to comment
Share on other sites

  • 5 months later...
  • 3 weeks later...

Cautam zilele trecute ceva informatii despre cum sa trecem extensia de la SHA1 la Base64 AUTH si nu prea am gasit nimic. Am incercat sa dam de cei de la OBSOL, as fi preferat sa tina ei/eMag extensia la zi, insa nu prea am avut noroc :)

$hash = base64_encode($this->emagmp_vendorusername .':'. $this->emagmp_vendorpassword);
$headers = array('Authorization: Basic '.$hash);

$requestData = array(
    'code' => $this->emagmp_vendorcode,
    'username' => $this->emagmp_vendorusername,
    'data' => $this->data,
    'hash' => $hash,
    'debug_info' => $debug_info
);

$ch = curl_init();
$url = $this->emagmp_api_url.'/'.$this->resource.'/'.$this->action;

if ($this->resource == 'order' && $this->action == 'acknowledge') {
    $url .= '/'.$this->data['id'];
}

set_time_limit(0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 500);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($requestData));

Mai sus bucata de cod care a functionat la noi (emagmarketplaceapicall.php); conectarea la API merge, sync-ul de produse merge. 
Conectarea SHA1 -> Base64 trebuie schimbata si in AWB (observatie facuta de MihaiAlex). 

 

Edited by JamayK (see edit history)
Link to comment
Share on other sites

Ai primit si confirmarea din partea lor? Eu am utilizat alta metoda pentu autentificare si totul mergea bine, apoi i-am contactat si conversatia a fost ceva de genul:

 

Ati modificat?

Da

Si merge totul bine?

Da

Ok, nu ati facut bine.

END. 

In momentul acela eu personal am fost depasit total, niciodata nu m-am mai confruntat cu o situatie de genu, profesionalism la cel mai inalt grad. Cat despre problema suportului. In orice colaborare de genu exista mai multe variabile. Eu personal nu as accepta sa lucrez la un proiect pe anumite standarde stabilite, respectivele standarde sa se modifice trimestrial si eu sa fac update la respectivul proiect pentru a rula in parametrii normali, respectivele modificari sa fie gratuite. Fiecare are timpul lui, aceste modificari costa si simplu Emag a decis sa platesca odata modulul apoi sa arunce responsabilitatea pe utilizatori, atat de simplu. Nu trebuie sa detii studii superioare sa poti analiza necesitatile unui asemenea proiect si sa coordonezi intr-un mod responsabil echipele tehnice si non-tehnice dar poate nu am eu dreptate si chiar este dificil sa faci acest lucru. Aceasta parere este pur persoanala bazata pe informatiile din mediul public.

  • Like 1
Link to comment
Share on other sites

Astept un raspuns de la ei, i-am rugat sa verifice log-ul intern, daca apar ceva erori.

---

Intre timp eMag si-a updatat niste linkuri; sapt. trecuta, toate linkurile erau 404. 
https://marketplace.emag.ro/infocenter/centrul-de-oportunitati/conectori-marketplace/prestashop-connector-for-emag-marketplace/

In continuare acestia ne dau link la versiunea 1.0.6, cand pe store extensia este 2.1.6 (care oricum nu are AUTH Base64 si a fost updatata ultima data prin aprilie)
https://addons.prestashop.com/en/marketplaces/22885-emag-marketplace.html

Am cerut MKTP-stage/sandbox mode de la eMag, au zis ca stage nu mai functioneaza, si ca va trebui sa lucram direct pe LIVE. 

Cei care au facut extensia (Obsol) nu au raspuns la telefon/email sau ticket pe Marketplace. 

---

Iti inteleg supararea; revin dupa ce primesc un raspuns de la ei, sper sa fie totul ok.
Oricum nu cred ca or sa opreasca SHA1 auth pe 15 sept; sunt sigur ca sunt foarte multi care au avut aceeasi problema ca si noi. 




Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...
2 minutes ago, MihaiAlex said:

Rulezi modulul cu ultima versiune de cod actualizata in concordanta cu API-ul de la emag?

Da, modulul e primit de la cei de la emag.

Partea de comenzi, vat si categorii ajunge la ei, dar produsele nu.

2018-03-27 16:19:17 vat read success   2018-03-27 16:19:18
2677 2018-03-27 15:23:15 vat read success   2018-03-27 15:23:15
2676 2018-03-27 15:22:27 category read success   2018-03-27 15:22:35
2675 2018-03-27 15:21:55 vat read success   2018-03-27 15:21:56
2674 2018-03-27 15:20:04 order read success   2018-03-27 15:20:05
Link to comment
Share on other sites

Iti spun din proprie experienta ca daca ii primit de la ei nu ii neaparat sa si mearga, daca te referi ca a fost descarcat din platforma atunci nu stiu daca este chiar la zi deoarece ultima oara cand am verificat ei nu ofereau suport pentru eventualele modificari survenite in API, au sustinut doar crearea modulului apoi au abandonat si ideea de a continua suportul tehnic pentru modul.

Link to comment
Share on other sites

1 minute ago, Marius05 said:

Salut! Modulul nu functioneaza in majoritatea cazurilor deoarece nu e pentru versiunea actuala de api sau nu e complet. Stiu asta de la diferiti clientii care au avut acest modul.

 

Minunat.... ce pot sa spun... urla profesionalismul in Emag si in modulul lor.

 

Link to comment
Share on other sites

  • 7 months later...

Buna ziua.

Stie cineva de ce da eroare urmatoare? Modulul functioneaza bine export (produse, clienti), mai putin preluarea comenzilor.

2018-11-16 15:35:02 Română (Romanian) [HuseTari.ro] eMAG Marketplace API Call Errors api_call_errors
2018-11-16 14:00:11 Română (Romanian) [HuseTari.ro] eMAG Marketplace Import Errors order_import_errors
Link to comment
Share on other sites

  • 1 month later...

Salutare,

Am reusit sa fac acest modul sa functioneze dupa dezactivarea autentificarii de tip SHA1.

Solutia este sa modificati in modules/emagmarketplace/classes/emagmarketplaceapicall.php

	//	$hash = sha1(http_build_query($this->data) . sha1($this->emagmp_vendorpassword));

	    $hash = base64_encode($this->emagmp_vendorusername.":".$this->emagmp_vendorpassword);
		curl_setopt ($ch , CURLOPT_HTTPHEADER, ["Authorization: Basic ".$hash]);

Am adaugat din nou IP-ul in emag MarketPlace (au adaugat ceva user).

Vi-l atasez aici daca vreti sa-l suprascrieti.

O seara frumoasa!

emagmarketplaceapicall.php

Edited by OvidiuP (see edit history)
Link to comment
Share on other sites

Si eu am probleme cu integrarea emag, am completat user, pass, vendor code, am setat si mai multe IP-uri (de la cloudflare, din loguri), dar cand testez conexiunea primesc mereu eroarea din imagine. Emag mi-a zis sa contactez dezvoltatorul Zitec (?), cred ca de fapt se refera la Obsol. Nu stiu ce sa mai setez ca sa am acces la ei.

  

emag.png

Link to comment
Share on other sites

On 12/21/2018 at 2:59 PM, zanpo said:

Si eu am probleme cu integrarea emag, am completat user, pass, vendor code, am setat si mai multe IP-uri (de la cloudflare, din loguri), dar cand testez conexiunea primesc mereu eroarea din imagine. Emag mi-a zis sa contactez dezvoltatorul Zitec (?), cred ca de fapt se refera la Obsol. Nu stiu ce sa mai setez ca sa am acces la ei.

  

 

Ai incercat postul de mai sus?

Link to comment
Share on other sites

  • 1 month later...

Va salut. Incerc sa fac si eu sa mearga modulul de la marketplace si nu mai stiu ce sa-i fac. O sa scriu aici ce am facut, poate imi scapa ceva:

- am prestashop v1.6.1.23

- modulul emag marketplace v 1.0.6 cu fisierul emagmarketplaceapicall.php modificat conform instructiunilor lui Ovidiu

- username sub forma adresa_email_ro, configurarile fiind mai jos

- in platforma marketplace am adaugat IP-urile calculatorului meu si al serverului

- la Callback URL si RMA Callback URL  nu stiu ce trebuie completat

> mesajul de eroare este: You are not allowed to use this API.

ma1NbpH.png

Link to comment
Share on other sites

Just now, TeodorFlorin said:

subscriu, am pus ip-ul, am modificat fisierul emagmarketplaceapicall.php si in continuare primesc eroarea:


You are not allowed to use this API.

Ce as mai putea incerca?

Pune aici te rog emagmarketplaceapicall.php , sau macar sectiunea de cod de unde incepe public function execute() ...... pana la $result = curl_exec($ch);

Link to comment
Share on other sites

<?php

if (!defined('_PS_VERSION_'))
	exit;
	
class EmagMarketplaceAPICall extends ObjectModel
{
	public $id;

	public $id_emagmp_api_call;
	public $date_created;
	public $resource;
	public $action;
	public $last_definition;
	public $message_out;
	public $message_in;
	public $status;
	public $date_sent;
	public $id_order;
	
	public $emagmp_api_url = null;
	public $emagmp_vendorcode = null;
	public $emagmp_vendorusername = null;
	public $emagmp_vendorpassword = null;
	
	public $data = null;
	public $message_in_json = null;
	
	public $module;

	/**
	* @see ObjectModel::$definition
	*/
	public static $definition = array(
		'table' => 'emagmp_api_calls',
		'primary' => 'id_emagmp_api_call',
		'fields' => array(
			'date_created' => array('type' => self::TYPE_DATE),
			'resource' => array('type' => self::TYPE_STRING),
			'action' => array('type' => self::TYPE_STRING),
			'last_definition' => array('type' => self::TYPE_HTML),
			'message_out' => array('type' => self::TYPE_HTML),
			'message_in' => array('type' => self::TYPE_HTML),
			'status' => array('type' => self::TYPE_STRING, 'default' => 'pending'),
			'date_sent' => array('type' => self::TYPE_DATE),
			'id_order' => array('type' => self::TYPE_INT)
		)
	);
	
	public function __construct($id = null)
	{
		parent::__construct($id);
		
		$this->emagmp_api_url = Configuration::get('EMAGMP_API_URL');
		$this->emagmp_vendorcode = Configuration::get('EMAGMP_VENDORCODE');
		$this->emagmp_vendorusername = Configuration::get('EMAGMP_VENDORUSERNAME');
		$this->emagmp_vendorpassword = Configuration::get('EMAGMP_VENDORPASSWORD');
		
		if (!$id)
		{
			$this->date_created = date('Y-m-d H:i:s');
			$this->data = array();
		}
		else
		{
			$this->data = unserialize($this->message_out);
		}

		$this->module = new EmagMarketplace();
	}
	
	public function execute()
	{
		$debug_info = array(
			'site' => Tools::getHttpHost(true).__PS_BASE_URI__,
			'platform' => 'PrestaShop',
			'version' => _PS_VERSION_,
			'extension_version' => $this->module->version,
			'others' => ''
		);
			
	//	$hash = sha1(http_build_query($this->data) . sha1($this->emagmp_vendorpassword));
	$hash = base64_encode($this->emagmp_vendorusername.":".$this->emagmp_vendorpassword);
		curl_setopt ($ch , CURLOPT_HTTPHEADER, ["Authorization: Basic ".$hash]);
		$requestData = array(
		    'code' => $this->emagmp_vendorcode,
		    'username' => $this->emagmp_vendorusername,
		    'data' => $this->data,
		    'hash' => $hash,
		    'debug_info' => $debug_info
		);

		$ch = curl_init();
		$url = $this->emagmp_api_url.'/'.$this->resource.'/'.$this->action;

		if ($this->resource == 'order' && $this->action == 'acknowledge')
			$url .= '/'.$this->data['id'];

		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_HEADER, false);
		//curl_setopt($ch, CURLINFO_HEADER_OUT, true);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_TIMEOUT, 60);
		curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($requestData));
		
		//$fp = fopen(dirname(__FILE__).'/../logs/call_result.txt', 'a');
		/*curl_setopt($ch, CURLOPT_VERBOSE, true);
		curl_setopt($ch, CURLOPT_STDERR, $fp);*/
		
		$result = curl_exec($ch);
		
		$this->date_sent = date("Y-m-d H:i:s");

		/*ob_start();
		echo "\n\n---------------------------------------------------------------------------\n";
		print_r($this->data);
		print_r(curl_getinfo($ch, CURLINFO_HEADER_OUT));
		fwrite($fp, ob_get_contents());
		ob_end_clean();*/

		//fwrite($fp, "\n\n\n".$result);

		if (curl_errno($ch))
		{
			$this->message_in = curl_error($ch);
			$this->status = 'error';
		}
		else
		{
			$this->message_in = $result;
			$this->message_in_json = Tools::jsonDecode($result);
			
			if ($this->message_in_json->isError === false)
			{
				$this->status = 'success';
			}
			else
			{
				$this->status = 'error';
			}
		}
		
		curl_close($ch);
		
		//fclose($fp);
		
		// save last sent data for products and orders
		if ($this->status == 'success' && $this->action == 'save')
		{
			switch ($this->resource)
			{
				case 'product_offer':
					$definition_table_name = 'emagmp_product_combinations';
					$definition_table_primary_field = 'combination_id';
					break;
				case 'order':
					$definition_table_name = 'emagmp_order_history';
					$definition_table_primary_field = 'emag_order_id';
					break;
			}
			
			if ($definition_table_name && $definition_table_primary_field)
			{
				Db::getInstance()->execute('
					UPDATE `'._DB_PREFIX_.$definition_table_name.'` SET
					last_definition = \''.pSQL($this->last_definition, true).'\'
					WHERE '.$definition_table_primary_field.' = '.(int)$this->data[0]['id'].'
				');
			}
		}
		
		// save last eMAG order definition
		if ($this->status == 'success' && $this->action == 'read' && $this->resource == 'order')
		{
			$definition_table_name = 'emagmp_order_history';
			$definition_table_primary_field = 'emag_order_id';
			Db::getInstance()->execute('
				UPDATE `'._DB_PREFIX_.$definition_table_name.'` SET
				emag_definition = \''.pSQL(serialize($this->message_in_json->results[0]), true).'\'
				WHERE '.$definition_table_primary_field.' = '.(int)$this->data['id'].'
			');
		}
	}
	
	public function save($null_values = false, $autodate = true)
	{
		//$fp = fopen(dirname(__FILE__).'/../logs/call_queue.txt', 'a');
		ob_start();
		echo "\n\n---------------------------------------------------------------------------\n";
		print_r($this->data);
		echo $this->resource.'/'.$this->action."\n";
		//fwrite($fp, ob_get_contents());
		ob_end_clean();
		//fclose($fp);

		$this->message_out = serialize($this->data);
		return parent::save();
	}

}

?>

 

Link to comment
Share on other sites

Inlocuieste sectiunea asta:

public function execute()
	{
		$debug_info = array(
			'site' => Tools::getHttpHost(true).__PS_BASE_URI__,
			'platform' => 'PrestaShop',
			'version' => _PS_VERSION_,
			'extension_version' => $this->module->version,
			'others' => ''
		);
			
	//	$hash = sha1(http_build_query($this->data) . sha1($this->emagmp_vendorpassword));
	$hash = base64_encode($this->emagmp_vendorusername.":".$this->emagmp_vendorpassword);
		curl_setopt ($ch , CURLOPT_HTTPHEADER, ["Authorization: Basic ".$hash]);
		$requestData = array(
		    'code' => $this->emagmp_vendorcode,
		    'username' => $this->emagmp_vendorusername,
		    'data' => $this->data,
		    'hash' => $hash,
		    'debug_info' => $debug_info
		);

		$ch = curl_init();
		$url = $this->emagmp_api_url.'/'.$this->resource.'/'.$this->action;

		if ($this->resource == 'order' && $this->action == 'acknowledge')
			$url .= '/'.$this->data['id'];

		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_HEADER, false);
		//curl_setopt($ch, CURLINFO_HEADER_OUT, true);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_TIMEOUT, 60);
		curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($requestData));
		
		//$fp = fopen(dirname(__FILE__).'/../logs/call_result.txt', 'a');
		/*curl_setopt($ch, CURLOPT_VERBOSE, true);
		curl_setopt($ch, CURLOPT_STDERR, $fp);*/
		
		$result = curl_exec($ch);

Cu:

public function execute()
	{

		$debug_info = array(
			'site' => Tools::getHttpHost(true).__PS_BASE_URI__,
			'platform' => 'PrestaShop',
			'version' => _PS_VERSION_,
			'extension_version' => $this->module->version,
			'others' => ''
		);
			
		$requestData = array(
			'data' => $this->data,
			'debug_info' => $debug_info
		);
		$requestHeaders = array('Authorization: Basic ' . base64_encode($this->emagmp_vendorusername . ':' . $this->emagmp_vendorpassword));
		

		$ch = curl_init();
		$url = $this->emagmp_api_url.'/'.$this->resource.'/'.$this->action;

		if ($this->resource == 'order' && $this->action == 'acknowledge')
			$url .= '/'.$this->data['id'];
        $agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)';
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_HEADER, false);
		//curl_setopt($ch, CURLINFO_HEADER_OUT, true);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_TIMEOUT, 60);
		curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($requestData));
		curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
		
		//$fp = fopen(dirname(__FILE__).'/../logs/call_result.txt', 'a');
		//curl_setopt($ch, CURLOPT_VERBOSE, true);
		//curl_setopt($ch, CURLOPT_STDERR, $fp);
		
		$result = curl_exec($ch);

Sterge cache din presta si fa-i test. Astept raspuns.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, Marius05 said:

Inlocuieste sectiunea asta:


public function execute()
	{
		$debug_info = array(
			'site' => Tools::getHttpHost(true).__PS_BASE_URI__,
			'platform' => 'PrestaShop',
			'version' => _PS_VERSION_,
			'extension_version' => $this->module->version,
			'others' => ''
		);
			
	//	$hash = sha1(http_build_query($this->data) . sha1($this->emagmp_vendorpassword));
	$hash = base64_encode($this->emagmp_vendorusername.":".$this->emagmp_vendorpassword);
		curl_setopt ($ch , CURLOPT_HTTPHEADER, ["Authorization: Basic ".$hash]);
		$requestData = array(
		    'code' => $this->emagmp_vendorcode,
		    'username' => $this->emagmp_vendorusername,
		    'data' => $this->data,
		    'hash' => $hash,
		    'debug_info' => $debug_info
		);

		$ch = curl_init();
		$url = $this->emagmp_api_url.'/'.$this->resource.'/'.$this->action;

		if ($this->resource == 'order' && $this->action == 'acknowledge')
			$url .= '/'.$this->data['id'];

		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_HEADER, false);
		//curl_setopt($ch, CURLINFO_HEADER_OUT, true);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_TIMEOUT, 60);
		curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($requestData));
		
		//$fp = fopen(dirname(__FILE__).'/../logs/call_result.txt', 'a');
		/*curl_setopt($ch, CURLOPT_VERBOSE, true);
		curl_setopt($ch, CURLOPT_STDERR, $fp);*/
		
		$result = curl_exec($ch);

Cu:


public function execute()
	{

		$debug_info = array(
			'site' => Tools::getHttpHost(true).__PS_BASE_URI__,
			'platform' => 'PrestaShop',
			'version' => _PS_VERSION_,
			'extension_version' => $this->module->version,
			'others' => ''
		);
			
		$requestData = array(
			'data' => $this->data,
			'debug_info' => $debug_info
		);
		$requestHeaders = array('Authorization: Basic ' . base64_encode($this->emagmp_vendorusername . ':' . $this->emagmp_vendorpassword));
		

		$ch = curl_init();
		$url = $this->emagmp_api_url.'/'.$this->resource.'/'.$this->action;

		if ($this->resource == 'order' && $this->action == 'acknowledge')
			$url .= '/'.$this->data['id'];
        $agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)';
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_HEADER, false);
		//curl_setopt($ch, CURLINFO_HEADER_OUT, true);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_TIMEOUT, 60);
		curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($requestData));
		curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
		
		//$fp = fopen(dirname(__FILE__).'/../logs/call_result.txt', 'a');
		//curl_setopt($ch, CURLOPT_VERBOSE, true);
		//curl_setopt($ch, CURLOPT_STDERR, $fp);
		
		$result = curl_exec($ch);

Sterge cache din presta si fa-i test. Astept raspuns.

Multumesc, am mai facut un pas. S-a stabilit conexiunea, insa acum cand dau la category mapping si incerc sa descarc definitiile, imi da eroare: image.thumb.png.92cf20455fabc92c59f58f1972fe239d.png

Link to comment
Share on other sites

Din pacate, asa cum am scris si eu si altii in acest topic, modulul oferit de emag, in multe cazuri nu functioneazai(ori nu trage comenzi, ori nu trimite produse... sau genul acesta de erori.. (asta o vad pentru prima oara)).

Mai departe in acest mod, nu te pot ajuta. Contacteaza-ma in privat pentru a discuta de o versiune functionala si de noi optiuni in modul: Vezi acest video:

 

Edited by Marius05 (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...
On 2/20/2019 at 1:00 AM, sirandrei said:

La mine  a functionat. Am configurat cateva produse si le-am importat cu succes. Am sa vad zilele urmatoare daca functioneaza si preluarea comenzilor.

Multumesc mult!!!

 

@TeodorFlorin Incearca sa apesi de mai multe ori. Si la mine a facut la fel, dar a doua oara a mers. Probabil e de la server.

Iti trimite produsele? La mine nu apare nimic. Am mapat categoriile si caracteristicile. Nu apare ca si cum ar trimite in logs. Doar category read, vat read si order read. Atat.

image.thumb.png.618e9c08224c84d015029c04f08e0232.png

Link to comment
Share on other sites

10 hours ago, TeodorFlorin said:

Iti trimite produsele? La mine nu apare nimic. Am mapat categoriile si caracteristicile. Nu apare ca si cum ar trimite in logs. Doar category read, vat read si order read. Atat.

image.thumb.png.618e9c08224c84d015029c04f08e0232.png

Asta pentru ca versiunea oferita de emag nu functioneaza.

Link to comment
Share on other sites

  • 2 years later...
  • 3 months later...
On 3/9/2017 at 3:09 PM, MihaiAlex said:

Deci modulul nu ii configurat bine sau ai  o regula in firewall de la hosting activa

ma ajuti cu modulul prestashop 1.6 - emag marketplace ( modulul pt presta 1.6 nu este functional decat pt presta 1.7

uite si contact 0725 763 311   si whatsapp

Link to comment
Share on other sites

  • 7 months later...
On 11/20/2016 at 11:57 PM, La Femme said:

BUna!

 

Am cumparat modulul eMag Merketplace de pe addons dar nu am reusit sa finalizam integrarea. IN coloana eMAG Family Type trebuia sa apara ceva?

 

Avem eroare de mai jos:

 

eMAG Marketplace API calls have failed in the last 5 minutes!

Please check your API Call Logs for more details (filter by Status = 'error')! 

 

 

Multumesc, Magda

hey te ajut eu sa l instalezi daca mai e valabil: 

un whatsapp 07; 50; 402; 940

Link to comment
Share on other sites

On 12/21/2016 at 12:33 PM, spiridus2008 said:

Buna ziua, 

 

Am o problema, cu modulul prestashop de la emag. sper ca ma puteti ajuta mai mult decat ei. 

Vreau sa pun produsele cu alte preturi decat cele din magazinul meu,

dar orice modificare facuta in marketplace se sterge la urmatorul import.

practic, pentru a avea stocurile automate prin acest modul, sunt obligat sa am pe site aceeasi descriere, poze si preturi ca cele care vreau sa fie pe emag.

hey te ajut eu sa l instalezi daca mai e valabil: ( ai reusit? mai ai modulul ca si eu il vreau) 

un whatsapp 07; 50; 402; 940

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...