UPS - Tarifs négociés = Clef développeur

  • Posts: 24
  • Thank you received: 4
12 years 1 week ago #76935

Bonjour,

En testant mon site de vente, j'utilise le plugin HikaShop UPS shipping plugin .

Celui-ci me donne un prix grand public - plein pot - lors de la création de la commande. Ce prix ne reflète pas le cout réel négocié avec UPS (du simple au double!) et crée un surcout non négligeable.

J'ai contacté UPS qui m'informe que pour avoir accès au prix négocié, il fallait fournir un 'clef de développeur' (qui est fourni lors de la création d'un compte client chez UPS) sinon le prix retourné sera systématiquement le prix grand public max.

L’échange d'information entre Hikashop et UPS se fait par fichier XML. Il y aurait a modifier un peu ce fichier XML pour y inclure le Clef de Développeur (UPS) afin de pouvoir récupérer le prix de transport tel qu'il à été négocié avec eux plutôt que le prix 'Grand Public', ce qui, vous en conviendrez, évitera de faire fuir des clients quand ils voient des prix de transport excessifs! :ohmy:

D'après UPS, les solutions e-commerce concurrents (il m'en a nommé plusieurs) ont tous intégré ce variable dans leurs système d’échange d'info avec UPS... avec également la possibilité de choisir le tarif appliqué : tarif négocié ou tarif Grand Public.

Je me demandais si vous avez prévu d'intégrer cette modification prochainement dans le ' HikaShop UPS shipping plugin ' car il me semble nécessaire.

Serait-il possible de m'orienter vers les fichiers qu'il faudrait modifier, car la boutique est prête a aller on-line une fois ce problème traité.

Merci
Enzo24 (pour patrickdumoncel).

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
12 years 1 week ago #76941

Bonjour,

Je pense que votre "clef développeur" se trouve etre le noeud "AccessLicenseNumber" dans le fichier XML.
Il s'agit du paramètre "access_code" de notre plugin UPS, se trouvant juste au dessus du UserId et du Password.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 24
  • Thank you received: 4
12 years 1 week ago #76971

Bonjour Jérome et Merci pour une réponse rapide.

Fort de votre réponse, j'ai ré-contacté le support tech. d'UPS France qui m'a bien confirmé qu'il s'agissait bien de la même chose.

Par contre, j'ai téléchargé le document 'Rating-Package-XML developers Guide.pdf' (que je vous joins a ce post) et j'ai demandé s'il fallait utiliser le nœud "NegotiatedRatesIndicator" (voir p52 du document joint) pour pouvoir avoir accès aux prix négociés. C'est bien le cas !

Est-ce que cette balise existe lors de la demande de prix auprès d'UPS ? En principe il y a 2 options :
1) Prix négocié pour le compte
2) Web/Promotional Discounts Bids

De ce que j'ai pu trouver comme info cette balise doit être entre les balises RateInfromation comme ceci...

    ..............
    </Package>          
    <RateInformation><NegotiatedRatesIndicator/></RateInformation>
  </Shipment>
</RatingServiceSelectionRequest>

Ce code m'est envoyé par le technicien UPS comme exemple. Je ne vois pas d'endroit pour choisir une option... il doit me rappeler pour donner plus de précisions.

Pouvez vous me dire si NegotiatedRatesIndicator est bien dans le code envoyé pour demander le prix du transport ?

Merci encore,
Enzo24 (pour le compte de patrickdumoncel)

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
12 years 1 week ago #76977

Bonjour,

Il n'y a pas d'option pour rajouter ces informations dans le XML, il est par contre rapide de le rajouter.
Fichier : plugins/hikashopshipping/ups/ups.php (~ ligne 540)

$data['XMLpackage'].=$this->_createPackage($data, $product, $rate, $order );
			if(!empty($rate->shipping_params->negotiated_rate)) {
				$data['XMLpackage'] .= '<RateInformation><NegotiatedRatesIndicator/></RateInformation>';
			}
			$usableMethods=$this->_UPSrequestMethods($data);
Fichier : plugins/hikashopshipping/ups/ups_configuration.php
A rajouter avant le block pour le "GROUP_PACKAGE", par exemple.
<tr>
		<td class="key">
			<label for="data[shipping][shipping_params][negotiated_rate]">
				<?php echo JText::_( 'NEGOTIATED_RATE' ); ?>
			</label>
		</td>
		<td>
			<?php echo JHTML::_('hikaselect.booleanlist', "data[shipping][shipping_params][negotiated_rate]" , '',@$this->element->shipping_params->negotiated_rate ); ?>
		</td>
	</tr>
Si ces modifications fonctionnent de votre côté, je validerais cela de notre côté et elles seront ajoutées dans le plugin officiel.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 24
  • Thank you received: 4
12 years 1 week ago #76996

Merci !

J'ai donc rajouter le code comme indiqué.
Par contre, je ne vois rien de changé dans le backend d'hikashop alors que vous m'avez bien crée un champ 'NEGOTIATED_RATE' juste au dessus de 'GROUP_PACKAGE'
C'est normal ?

Voici extraits de code (j'ai un backup des originaux)

ups.php

/....
						$data['price']+=$product->prices[0]->unit_price->price_value_with_tax*$product->cart_product_quantity;
					}
				}
			}
// MODIFICATION POUR AVOIR LES TARIFS NEGOCIES
//			$data['XMLpackage'].=$this->_createPackage($data, $product, $rate, $order );
//			$usableMethods=$this->_UPSrequestMethods($data);
			$data['XMLpackage'].=$this->_createPackage($data, $product, $rate, $order );
			if(!empty($rate->shipping_params->negotiated_rate)) {
				$data['XMLpackage'] .= '<RateInformation><NegotiatedRatesIndicator/></RateInformation>';
			}
			$usableMethods=$this->_UPSrequestMethods($data);
			return $usableMethods;
		}

		if($rate->shipping_params->group_package){
			$data['weight']=0;
.../

ups_configuration.php
/.....

<table>
	<tr>
		<td class="key">
			<label for="data[shipping][shipping_params][services]">
				<?php echo JText::_( 'SHIPPING_SERVICES' ); ?>
			</label>
	
			.../...

		</td>
	</tr>
	<!-- RAJOUT POUR AVOIR TARIFS NEGOCIES AUPRES D'UPS -->
	<tr>
		<td class="key">
			<label for="data[shipping][shipping_params][negotiated_rate]">
				<?php echo JText::_( 'NEGOTIATED_RATE' ); ?>
			</label>
		</td>
		<td>
			<?php echo JHTML::_('hikaselect.booleanlist', "data[shipping][shipping_params][negotiated_rate]" , '',@$this->element->shipping_params->negotiated_rate ); ?>
		</td>
	</tr>
	<!-- FIN RAJOUT -->
	<tr>
		<td class="key">
			<label for="data[shipping][shipping_params][group_package]">
				<?php echo JText::_( 'GROUP_PACKAGE' ); ?>
			</label>

	....../

Est-il normal que je ne vois rien de changé dans le backend -> ups ??

Il faudra sans doute que je rajoute un petite ligne a la traduction ;)

MERCI !

Last edit: 12 years 1 week ago by patrickdumoncel. Reason: petit rajout

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
12 years 1 week ago #77005

Bonjour,

Le ligne de traduction n'est pas problématique, le texte apparaitra tel qu'il est (donc en majuscules).
Ce n'est pas normal que vous n'ayez pas la nouvelle ligne d'option, elle devrait apparaitre juste au dessus du "group packages".
Il est nécessaire de pouvoir voir cette option pour qu'elle soit sauvegardé dans la configuration et qu'elle soit prise en compte par le plugin.

Voyez-vous toujours les options "group packages", "include prices" etc ?
Avez-vous bien HikaShop 2.0 ? ("hikaselect.booleanlist" est spécifique à HikaShop 2.0, il faut utiliser "select.booleanlist" dans le cas échéant).

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 24
  • Thank you received: 4
12 years 1 week ago #77009

J'ai bien la version 2.0.0 d'Hikashop. Je tournes sous Joomla 2.5.8.

Je vois bien les autres selections (group etc...) mais pas l'ajout...

Curieux... j'ai essayer sous chrome (je suis sous FF) histoire de pas avoir de surprise de cache du navigateur...

Attachments:
Last edit: 12 years 1 week ago by patrickdumoncel. Reason: J'ai joint les 2 fichiers en question

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
12 years 1 week ago #77038

Bonjour,

Vous aviez édité les fichiers dans "administrator/components/com_hikashop/extensions/plg_hikashopshipping/ups/" et non dans "plugins/hikashopshipping/ups".
Le répertoires "extensions" dans la partie administrator permet à HikaShop de faire les installations de ces plugins.
Nous ne supprimons pas le répertoire après l'installation au cas où, mais ces fichiers ne sont plus utilisés par la suite.

J'ai fais les modifications directement sur les bons fichiers.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 24
  • Thank you received: 4
12 years 1 week ago #77217

Encore une fois, me suis gouré de fichier ! :silly:

Merci pour ton aide !

On test ça et je posterai les résultats après test.

Merci encore !

Please Log in or Create an account to join the conversation.

Time to create page: 0.073 seconds
Powered by Kunena Forum