Jump to content

[Résolu] Technique pour récupérer fichier produits Starnet


Recommended Posts

Bonjour,

 

Je souhaite travailler avec starnet (starnet-world)

J'ai déjà un compte chez eux mais pour fonctionner comme j'en ai l'habitude et alimenter/mettre à jour mon catalogue automatiquement je souhaite accéder quotidiennement au fichier des produits.

 

J'ai l'url mais celle ci n'est accessible qu'après une authentification.

Evidemment cela fonctionne à la main dans mon interface.

 

J'ai donc tenté une authentification par CURL puis une récupération du fichier (toujours par CURL)

 

Après quelques difficultés j'ai réussi à m'authentifier. Du moins je pense. Par contre impossible de récupérer le fichier CSV...

 

Quelqu'un aurait il déjà fait ça ou aurait une idée d'une technique?

 

Starnet me renvoit vers mon développeur... LOL! c'est moi!

 

J'ai juste besoin de récupérer le csv tous les matins sur mon serveur... Parait que d'autres le font... mais comment???

 

D'avance merci pour les pistes

 

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

Bonjour,

 

j'ai résolu le problème.

En gros j'avais plusieurs choses qui bloquaient.

- déjà l'url d'action du formulaire se trouve dans un sous répertoire (/dhtml/) et non directement derrière starnet-world.com

- ensuite j'avais quelque ajustements à faire avec les follow et header (d'ailleurs c'est la récupération des headers qui m'a permis d'y voir clair)

 

Voici le code qui fonctionne :

//------- connexion à starnet avec mon compte
	$lien = 'http://www.starnet-world.com/dhtml/acces.php';		//-- url de post du login
	$postfields=array( 	"acces_mail" => '[email protected]',
						"acces_password" => 'votrepassword'); //-- champs du formulaire (identifiant et pass acces starnet
	$cookie ='connexion_starnet_temporaire.txt';		//--fichier servant de cookie pour connexion persistante
	$ch = curl_init($lien);

	@curl_setopt($ch, CURLOPT_HEADER, 1);
	@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
	@curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	@curl_setopt($ch, CURLOPT_POST, 1);
	@curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
	@curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
	@curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
	$return=curl_exec($ch);
	curl_close($ch);

	//---- verif connexion
	if (preg_match('#CSID#i', $return)){
	//	echo 'Connexion reussie.<br />';
	}else{
	//	echo 'Connexion echouee.';
	//	echo $return;
	//	exit();
	}
	//----récupération du fichier produits
	$lien='http://www.starnet-world.com/dhtml/spe_export_produits.php';
	$timeout = 300;			//-- pour avoir le temps de recupérer le fichier
	$fp = @fopen('/chemin_filesysteme_vers_ficher_recupere/produits_starnet.csv','w');
	$ch = curl_init($lien);

	curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
	@curl_setopt($ch, CURLOPT_HEADER, 0);
	@curl_setopt($ch, CURLOPT_URL, $lien);
	@curl_setopt($ch, CURLOPT_FILE, $fp);
	@curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
	@curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);

	$return=curl_exec($ch);
	curl_close($ch);

	@fclose($fp);

Reste le plus difficile vu la structure du fichier :

- extraire les marques (fait) mais obligation de saisir les logo à la mimine puisque les images ne sont pas dans le flux

- extraire les categories : pas encore compris comment c'était organisé et je pense que je vais avoir un pb puisqu'il y a des categ ayant des libellés identiques mais dans des arborescences différentes... et rien pour les différencier... va falloir ruser....

- extraire les produits : ca devrait le faire à part une chose : on a aucune indication sur la tva à appliquer à un article. Tous les articles n'ont pas non plus de prix de vente renseigné... là aussi va falloir être rusé.

 

Sans jeter la pierre, cela fait maintenant 15 ans que je travaille en dropshipping et je ne comprends toujours pas comment des boites aussi importantes que Starnet (il n'y a pas qu'eux!) qui disent travailler en dropshipping ne puissent fournir des flux/fichiers structurés proprement et avec toutes les informations.

Pourtant d'autres y arrivent! avec beaucoup moins de moyens et parfois en une seule journée de boulot...

C'était le coup de gueule du jour.

 

J'en veux à personne!! ;)

 

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