Jump to content
Luc1979

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

 

Share this post


Link to post
Share on other sites

Pentru cine are nevoie suport referitor la conectare cu emag mesaj privat.

 

Multumesc Mihai!

Share this post


Link to post
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

Share this post


Link to post
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)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Salut!

Mai  exact, vrei ca in modulul respectiv tu sa poti pune un adaos preturilor produselor care se duc la ei. Corect?

Daca da, va trebui sa fie modificat acel modul, incat sa ai acea optiune.

Share this post


Link to post
Share on other sites

Cred mai poti face printr-o metoda treaba asta:

 

Iti activezi stocul avansat de produse, iti creezi un depozit si iti duplici produsele existente si le asignezi unei cateogorii doar pentru emag, categorie neafisata in magazin.

Share this post


Link to post
Share on other sites

Buna 

 
 

Nu am optiunea sa modific acel modul. 

 

Daca o sa creez o noua categorie si un nou depozit, nu o sa gaseasca google produsele duplicat ? 

stocurile o sa lucreze intre ele ? o sa se scada de la un produs la duplicat ? 

Share this post


Link to post
Share on other sites

Scuze: optiunea se face modificand modulul. Adica se poate face de catre cineva care stie programare web(in cazul de fata PHP). Daca nu gasesti pe nimeni, te pot ajuta eu. Stau cam prost cu timpul, insa pana la urma daca nu te grabesti ft rau...se rezolva

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
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? 

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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

 

Multumesc pentru raspuns! Voi verifica daca este regula iar daca nu - o iau de la capat cu modulul. 

Share this post


Link to post
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

Share this post


Link to post
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. 

Share this post


Link to post
Share on other sites

Ideea este urmatoarea: modulul trimite pretul dar si tva-ul. Deci tu trebuie sa ai setate preturi fara tva in site si o taxa activa(adica 19% tva-ul)

Share this post


Link to post
Share on other sites

Ideea este urmatoarea: modulul trimite pretul dar si tva-ul. Deci tu trebuie sa ai setate preturi fara tva in site si o taxa activa(adica 19% tva-ul)

Corect, asa am: pret fara TVA + taxa activata

Share this post


Link to post
Share on other sites

Iti trimite modulul tva-ul? Iita-te cu direbug in mozzila si vezi ce valori trimite catre mkp

Share this post


Link to post
Share on other sites

Iti trimite modulul tva-ul? Iita-te cu direbug in mozzila si vezi ce valori trimite catre mkp

 

Unde sa ma uit in mozzila? :)

Share this post


Link to post
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 ?

Share this post


Link to post
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

Share this post


Link to post
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? 

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Fill in the Orders form and then save your changes!  = completeaza /seteza valorile la pozitia MAIN CONFIGURATION -> Products and Orders

Share this post


Link to post
Share on other sites

Multumesc Marius05 pentru raspuns. Credeam ca mai trebuia sa fac si altceva si am sarit peste vreun pas. Facusem deja asta.

 

Alex

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
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 ...

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
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

Share this post


Link to post
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. 




Share this post


Link to post
Share on other sites

Am primit raspuns de la ei:
 

Log-urile arata ok.

 

 

Se prea poate ca totul sa fie ok; poti as incerci si tu, sa vezi daca iti merge?
 

Edited by JamayK (see edit history)

Share this post


Link to post
Share on other sites

A reusit cineva sa faca rost de un modul Prestashop actualizat cu noile metode API de la eMAG? Ma intereseaza pt Prestashoop 1.6.x 
Mi-l puteti trimite ca mesaj?

Multumesc

Share this post


Link to post
Share on other sites

Buna,

Am si eu o problema in ceea ce priveste urcarea produselor.

Imi raman in pending 

2018-03-25 18:41:54 product_offer save pending   0000-00-00 00:00:00

 

A mai patit cineva? Aveti idee ce e de facut mai departe? 

Multumesc anticipat

 

Share this post


Link to post
Share on other sites

The following cron jobs have been running for too long and have been restarted:
run_queue
This might indicate that there are issues that need to be resolved, especially if this happens frequently!

 

Primesc si mesajul asta de la ei de fiecare data cand rulez cronjobul. 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

:) Si ce e de facut in acest caz? Cum pot verifica daca am modulul corect si in cazul in care nu e cel actualizat de unde il pot lua pe cel bun? 

Am vazut ca pe partea de suport nu ai cu cine discuta...

Share this post


Link to post
Share on other sites

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.

 

Share this post


Link to post
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.

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
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

Share this post


Link to post
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?

Share this post


Link to post
Share on other sites
On 12/23/2018 at 10:29 AM, OvidiuP said:

Ai incercat postul de mai sus?

Da, nici o schimbare din pacate.....am sa incerc din ianuarie cu modulul lui Marius05 poate am mai mult noroc.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Salut! Pune toata eroarea aici, exact cum iti apare. Plus, daca poti pune si ce modificari ai facut in fisierul emagmarketplaceapicall.php  sa vedem si noi exact ce e acolo.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
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);

Share this post


Link to post
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();
	}

}

?>

 

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More