Het forum voor de webwinkel eigenaar en bezoeker van webwinkels.

 
jessevdv10
Berichten: 1
Lid geworden op: 15 november 2019

Order doorgeven met behulp van XML-file probleem

15 november 2019

Beste Leden,

Op dit moment ben ik bezig met het ontwikkelen van een webshop voor erotische artikelen. Mijn leverancier is EDC (Ik weet dat veel deze leverancier gebruikt en het niet echt een unieke niche is).
Ik gebruik wordpress/Woocommerce voor het maken van mijn webshop.

EDC wil dat ik mijn orders doorgeef met behulp van een XML-feed. Hierin staan alle details van de bestelling deze moet ik opsturen via een POST-methode. Dit doe ik momenteel via ''postman''. Op het moment dat ik een test order door wil geven loop ik tegen een Error aan Namelijk dat ''De XML-code dient in het POST-variabele “data” te staan ($_POST[‘data’])''. Mijn XML-feed ziet er als volgt uit.
<?php
/*
Example Automatic Orders EDC Internet
www.edc-internet.nl / www.erotischegroothandel.nl / www.wholesale-sextoys.com
For Questions: Please contact helpdesk@edc-internet.nl
*/

// Configuration
$email = 'testaccount@edc-internet.nl';
$apikey = '7651320RK8RD972HR966Z40752DDKZKK';

// API URL
// Change this to the relevant link for your language
// NL: https://www.erotischegroothandel.nl/ao/
// DE: https://www.erotikgrosshandel.de/ao/
// EN: https://www.wholesale-sextoys.com/ao/
$apiurl = 'https://www.erotischegroothandel.nl/ao/';

// Make sure that you put your data (name, street, city etc) in utf8
// use utf8_encode() if your website uses another charset (iso-8859-1 or windows-1252)

// Make the XML
// This example script uses the "advanced" output mode
$xml = '<?xml version="1.0"?>
<orderdetails>
<customerdetails>
 <email>'.$email.'</email>
 <apikey>'.$apikey.'</apikey>
 <output>advanced</output>
</customerdetails>
<receiver>
 <name>Test Person</name>
 <street>Test street</street>
 <house_nr>24</house_nr>
 <postalcode>2628BL</postalcode>
 <city>Test city</city>
 <country></country>
 <phone>+31567234939</phone>
</receiver>
<products>
 <artnr>05633310000</artnr>
</products>
</orderdetails>';

// Check whether the config vars are all set
if(empty($email) || empty($password)){
 die('Please enter your config vars');
}

// Check whether the cURL module has been installed
if(!function_exists('curl_init')){
 die('You do not have the cURL functions installed! Ask your host for more info.');
} else {

 // Send the XML request
 $postfields = 'data='.$xml;
 $ch = curl_init($apiurl);
 curl_setopt($ch,CURLOPT_HEADER,0);
 curl_setopt($ch,CURLOPT_POST,1);
 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 curl_setopt($ch,CURLOPT_POSTFIELDS,$postfields);
 $result = curl_exec($ch);
 curl_close($ch);

 if($ch === false || $result === false){
 die('There was a problem with the connection to EDC');
 } else {
 $json = json_decode($result,true);

 // Success
 if($json['result'] == 'OK'){

 echo '<pre>';
 echo 'The order was successful. The following output was received from EDC:'.PHP_EOL;
 print_r($json);
 echo '</pre>';
 
 // Failure
 } else {
 echo '<pre>';
 echo 'There was a problem with the order request. The following output was received from EDC:'.PHP_EOL;
 print_r($json);
 echo '</pre>';
 }
 }
}
?>
 
Error:
13. De XML-code dient in het POST-variabele “data” te staan ($_POST[‘data’])'

Mijn vragen aan jullie zijn:

1. Is er geen simpele manier om een XML door te sturen naar me leverancier bijvoorbeeld dat het ge-automatiseerd wordt zodat het na de bestelling direct naar de leverancier gaat
2. Wat betekend de fout-melding en wat moet er veranderen

Ik hoor graag meer van jullie!
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht