Je dois définir la méthode d'expédition sur le panier, et je peux afficher toutes les méthodes d'expédition disponibles, et j'ai donné une méthode d'expédition valide comme paramètre d'entrée à la méthode de service Web SOAP "shoppingCartShippingMethod", donc pour cela, y a-t-il besoin de changer la configuration dans le panneau d'administration Magento?
<?php
$proxy = new SoapClient('http://127.0.0.1/magento/index.php/api/v2_soap/?wsdl');
$sessionId = $proxy->login('cats', 'sudhir123');
echo "\nSession Id = ";
var_dump($sessionId);
$cartId = $proxy->shoppingCartCreate($sessionId, '3');
echo "\nCart Id = ";
var_dump($cartId);
$customerData = array(
"firstname" => "testFirstname",
"lastname" => "testLastName",
"email" => "[email protected]",
"mode" => "guest",
"website_id" => "0"
);
$resultCustomerSet = $proxy->shoppingCartCustomerSet($sessionId, $cartId, $customerData);
echo "\nCustomer Set to Shopping Cart = ";
var_dump($resultCustomerSet);
$customeraddress = $proxy->shoppingCartCustomerAddresses($sessionId, $cartId, array(array(
'mode' => 'billing',
'firstname' => 'Sudhir',
'lastname' => 'Belagali',
'street' => 'street address',
'city' => 'city',
'region' => 'region',
'postcode' => 'postcode',
'country_id' => 'US',
'telephone' => '123456789',
'is_default_billing' => 1
)));
echo "\nCustomer Address Set to Shopping Cart = ";
var_dump($customeraddress);
$shoppingcartproduct = $proxy->shoppingCartProductAdd($sessionId, $cartId, array(array(
'product_id' => '917',
'sku' => 'cricketbat',
'qty' => '5',
'options' => null,
'bundle_option' => null,
'bundle_option_qty' => null,
'links' => null
)));
echo "\nProduct has been added to cart = ";
var_dump($shoppingcartproduct);
$cartInfo = $proxy->shoppingCartInfo($sessionId, $cartId);
echo "\nCart Information for this Cart Id is ( ".$cartId." )";
var_dump($cartInfo);
$result = $proxy->shoppingCartShippingList($sessionId, $cartId);
echo "\nAvailable Shipping methods = ";
var_dump($result);
?>
magento-1.9
soap
soap-api-v2
Sudhir Belagali
la source
la source
Réponses:
Essayez de définir le système> Configuration> Méthodes d'expédition> "Afficher la méthode si non applicable" sur Oui à partir du "Non" par défaut dans le panneau d'administration Magento.
la source
Oui même j'avais l'habitude de faire face à ce problème ... Essayez de faire ça, ça a marché dans mon cas:
RÉFÉRENCE DU SAVON - CART.CREATE De créer un panier, ajouter un produit au panier, mettre le client au panier, ajouter l'adresse au panier tout, inclure un paramètre nommé "store_id" .. Je sais qu'il n'est pas correctement affiché pour SOAP v2 pour beaucoup de les appels SOAP .. Mais vous pouvez prendre la référence de SOAP v1 et ajouter ce paramètre comme ceci ci-dessous pour tous les cas:
Tout d'abord pour obtenir le store-id: procédez comme suit en haut de votre code, je pense que vous utilisez peut-être ce fichier hors de l'environnement magento en le conservant dans le répertoire racine de magento ..
Utilisez maintenant cet identifiant de magasin dans les appels suivants comme celui-ci:
Essayez maintenant de faire cet appel:
Je suis sûr qu'il vous renverra les adresses de livraison.
Assurez-vous également d'indiquer le même pays dans votre adresse pour laquelle vous avez activé le mode d'expédition.
la source
Essaye ça
la source