Jump to content

I am getting 400 Bad Request when adding New Category by using PrestaShop WebService


mbargoti

Recommended Posts


<?php

 

// Here we define constants /!\ You need to replace this parameters

define('DEBUG', true);

define('PS_SHOP_PATH', 'http://localhost/store');

define('PS_WS_AUTH_KEY', 'LM8ZFU5ETB996DZ7CCR1F542GSWCU89G');

require_once('../PSWebServiceLibrary.php');

 

 

// Here we use the WebService to get the schema of "customers" resource

try

{

$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);

$opt = array('resource' => 'categories');

if (isset($_GET['Create']))

$xml = $webService->get(array('url' => PS_SHOP_PATH.'/api/categories?schema=blank'));

else

$xml = $webService->get($opt);

$resources = $xml->children()->children();

}

catch (PrestaShopWebserviceException $e)

{

// Here we are dealing with errors

$trace = $e->getTrace();

if ($trace[0]['args'][0] == 404) echo 'Bad ID';

else if ($trace[0]['args'][0] == 401) echo 'Bad auth key';

else echo 'Other error<br />'.$e->getMessage();

}

 

if (count($_POST) > 0)

{

// Here we have XML before update, lets update XML

foreach ($resources as $nodeKey => $node)

{

$resources->$nodeKey = $_POST[$nodeKey];

}

try

{

$opt = array('resource' => 'categories');

if ($_GET['Create'] == 'Creating')

{

$opt['postXml'] = $xml->asXML();

$xml = $webService->add($opt);

echo "Successfully added.";

}

}

catch (PrestaShopWebserviceException $ex)

{

// Here we are dealing with errors

$trace = $ex->getTrace();

if ($trace[0]['args'][0] == 404) echo 'Bad ID';

else if ($trace[0]['args'][0] == 401) echo 'Bad auth key';

else echo 'Other error<br />'.$ex->getMessage();

}

}

 

// We set the Title

echo '<h1>Category\'s ';

if (isset($_GET['Create'])) echo 'Creation';

else echo 'List';

echo '</h1>';

 

// We set a link to go back to list if we are in creation

if (isset($_GET['Create']))

echo '<a href="?">Return to the list</a>';

 

if (!isset($_GET['Create']))

echo '<input type="button" onClick="document.location.href=\'?Create\'" value="Create">';

else

echo '<form method="POST" action="?Create=Creating">';

 

echo '<table border="5">';

if (isset($resources))

{

 

echo '<tr>';

if (count($_GET) == 0)

{

echo '<th>Id</th></tr>';

 

foreach ($resources as $resource)

{

echo '<tr><td>'.$resource->attributes().'</td></tr>';

}

}

else

{

echo '</tr>';

foreach ($resources as $key => $resource)

{

echo '<tr><th>'.$key.'</th><td>';

if (isset($_GET['Create']))

echo '<input type="text" name="'.$key.'" value=""/>';

echo '</td></tr>';

}

}

 

}

echo '</table><br/>';

 

if (isset($_GET['Create']))

echo '<input type="submit" value="Create"></form>';

 

?>

 

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