Skip to content

PHP wrapper for Smartweb API. Supports wannafind, hostedshop, smartweb.

Notifications You must be signed in to change notification settings

InkproDK/smartweb-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wrapper class for communication with the smartweb API.

Documentation for the API can be found here: https://api.hostedshop.dk/doc/
Smartweb uses a soap client to pool from their servers.

The easiest way to initiate:

$client = new \inkpro\smartwebapi\Client(["Username"=>"myuser", "Password"=>"mypassword"]);

If you need to specify a wsdl url, you can do like this:

$client = new \inkpro\smartwebapi\Client(
    ["Username"=>"myuser", "Password"=>"mypassword"],
    "https://customwsdl.url"
);

For available methods, take a look in /src/Client.php. Usage of available methods:

Retrieves all products

$products = $client->getAllProducts();

Retrieves a product

$product = $client->getProduct();

Updates a product

@param object $product Product object, should include either Id or ItemNumber prop.
$status = $client->updateProduct($product);

Deletes a product

$status = $client->deleteProduct($id);

Retrieves all categories

$categories = $client->getAllCategories();

Retrieves a category

$category = $client->getCategory($categoryId);

Retrieves all users.

$users = $client->getUsers();

Retrieves all newsletter users.

$users = $client->getNewsletterUsers();

UnSubscribe user from newsletter.

$status = $client->unsubscribeNewsletterUser($user);

Gets a user by id.

$user = $client->getUser($id);

Gets a user by email.

$user = $client->getUserByEmail($email);

Creates a user

@param object $user User object, corresponding to smartweb UserCreate schema.
* @see https://api.smart-web.dk/doc/Hosted%20Solution%20API/UserCreate.html
$status = $client->createUser($user);

Create order

@param object $order OrderData object, corresponding to smartweb Order_Create schema.
$status = $client->createOrder($order);

Get Order

$order = $client->getOrder($orderId);

Retrieves all Orders

* @param DateTime $start The first date to get orders from.
* @param DateTime $end The last date to get orders from.
* @param array $status The status codes of the orders you want to get.
$orders = $client->getOrders($start, $end, $status);

Gets all orders made by a certain user.

$orders = $client->getUsersOrders($userId);

Updates the comment on an order.

* @param $order Order to update.
$status = $client->updateOrderComment($order, $comment);

Updates the status on an order.

* @param $order Order to update.
$status = $client->updateOrderStatus($order, $status);

Creates invoice from an order.

* @param $order Order
* @param int $maturity_interval The amount of days from today's date to set the maturity date for the Invoice (0, 8, 14 or 30 days).
$status = $client->createInvoice($order, $maturity_interval);

Gets all images linked to a product id.

$images = $client->getProductImages($productId, $shopId);

Gets all orderlines from a certain order.

$orderLines = $client->getOrderLines($orderId);

Gets all orderlines from a certain order.

$orderLines = $client->getOrderLines($orderId);

Updates orderline status

* @param OrderLine $order_line Orderline to update. Must have Id property.
$status = $client->updateOrderLineStatus($orderline, $status);

Retrieves a customer

$order = $client->getCustomer($orderId);