wemalo connect rest api

The documentation for the interface wemalo connect REST API can be found here: connect-api.wemalo.com




container function

Creation of the containers

Any number of containers can be entered for a product via the product master.
To do this, you can view and add the container units via the Units tab. A container unit consists of a name (displayed during stock transfer, pick and pack) and a quantity (how many pieces are in a unit). You can also store dimensions (height/width/length and weight), since this could have an effect on billing (if you use pick categories).

Possible packaging unit types are carton, handle unit and pallet. From a technical point of view, however, there is no distinction.

With the help of a barcode, a specific barcode for the packaging unit can be stored, which is accepted at goods receipt, stock transfer, pick & pack.

container upload

Via the client master, containers can be uploaded as CSV files. For the structure of the CSV file, see Inline Help in wemalo.

Integration in billing

In the Shipping group, containers can be activated for billing.

Integration of Inbound Delivery and Goods Receipt

The container unit can be selected via a drop-down menu. The total sum is calculated and displayed according to the selected unit and the entered quantity.

If the specific container barcode is scanned, the corresponding container is already preselected.

Example: if a container unit with 6 pieces was selected and the quantity 2 was entered, the total number of pieces is 12.

Integration Stock transfer

In the MDE view, after scanning the product and entering the quantity, a proposal for removing the product as a container is displayed.

Integration Picking

When picking, the employee is shown a drop-down menu to select the container after the product has been scanned. As soon as a container has been selected, the display jumps to the quantity entry and the picker can continue with it. It is checked that the entered quantity multiplied by the container quantity (in the above example 6) does not exceed the quantity to be picked.

Example: the container has a stored quantity of 6 and the quantity entered is 2. If there are less than 12 picks, the picker will be prevented from continuing with a corresponding error message. At any time the picker gets the calculated total number of pieces.

Integration Pack

After scanning the product barcode, the packer can select the container and the number of scans is converted according to the container quantity. When the container barcode is scanned, the container is selected automatically.




Container management via REST

Creation/editing of containers: http://connect-api.wemalo.com/#api-Product-addUnit
Loading the available container units: http://connect-api.wemalo.com/#api-Product-getUnits

In addition: when creating a GR order, the ID of the container unit can be entered in the position: http://connect-api.wemalo.com/#api-GoodsReceipt-addGoodsReceipt
There is now the parameter “productUnitId”.

Example:

For one product a container unit “advantage pack 5 pieces” is created. This container unit contains 5 pieces of said product.
When the goods receipt is transmitted, this container unit can be specified with a number of pieces, e.g. 2 pieces.
In this case wemalo expects 10 pieces of the product (2 times the container with 5 pieces = > 2*5=10).




shipping matrix

Using the shipping costs matrix, the shipping costs for each parcel are stored in the client master according to recipient country, weight and shipping service provider, so that exact shipping prices can be determined during billing generation.

Template per client

A template for each shipping service provider can be downloaded from the client master under Accounting – >Shipping Costs Matrix. All shipping service providers that have been set up for the client are displayed to the user.

Template at warehouse level

At warehouse level, you can store a template that is used for dispatches that have not been defined via the client.

Specification

MatchingID;Dispatcher;Product;Comments;Country;Country DE;Country Code;ZIP;BasePrice;KiloPrice;Weight;Price
  • The values are separated by a semicolon.
  • It is to be paid attention to the correct order and the file must be coded as UTF-8.
  • There is one file per shipping company.
  • The matching ID is required so that who can assign a profile to an entry in the CSV file during price determination. This includes a combination of service provider, product and optional additional services (such as surname).
  • The Dispatcher column contains the shipping service provider (should always be identical for a complete file). The shipping product is entered in the Product column.
  • A meaningful name for the price list item can be stored in the Comments column. The entry in this column is included in the price calculation in the settlement.
  • The columns Country, Country DE and Country Code describe the recipient country (English and German designation, as well as the international matching code).
  • ZIP contains the postal code (not used in the first version of the matrix).
  • BasePrice can be used to enter a base price, which is extended by KiloPrice per kilo. This is not applied in the first implementation version of the matrix.
  • The two columns relevant for price determination are Weight and Price. Weight specifies the weight limit up to which the respective row is relevant. The template is structured in such a way that each combination of shipping product and country is listed with the weights 1KG to 40KG. If a package weighs 39.5 KG, the price for 40 KG is used. If it weighs 38,9KG, the price at 39KG is decisive etc. In the column Price the shipping price is indicated in Euro, whereby the input of . as a separator for decimal places is preferable (but not mandatory).

Create Matrix

To create a matrix for a client, you can build on a template. For this purpose, templates can be stored for each shipping service provider per warehouse. The client can also be used to download a template file tailored to the shipping profiles set up for the client.

Overview of the shipping matrices stored so far

Display of a stored matrix as HTML view

 

Download as CSV


View after CSV export

shipping profile

  • In the shipping profile, you can specify whether the profile is to be taken into account when prices are generated.

Apply Matrix

  • The option “Shipping costs” must be activated in the shipping area of the price list.



tracking number upload

wemalo offers a manual upload of tracking numbers for some shipping service providers (e.g. GLS). To do this, an upload button is displayed in DockManagement, which can be used to upload a CSV file for the respective shipping service provider.

Specification

NOT USED;Client Order Number;Tracking Number;NOT USED(Optional);NOT USED(Optional)

Please note: the first column is not used, but must still be filled (the import only goes to columns 2 and 3).

Example

21.09.2017;test 2;123456789;wemalo customer;1030
21.09.2017;7531;987654321;Max Mustermann;1170

Where only the second and third columns are used!

 




Rolling Inventory

The rolling inventory is a random inventory that takes place during picking, depending on the interval set. Rolling inventory is first activated at warehouse level. For the individual clients, you can then specify whether the rolling inventory is to be carried out and which interval is to be used.

Adjustment at bearing level

By selecting the “Activate rolling inventory” option, rolling inventory can be activated at warehouse level. This checkbox can be used to determine for the entire warehouse whether rolling inventories may be carried out in general or not.

Setting in the client master

In the client master, the rolling inventory is set via “Configuration”- > “Rolling inventory”:

  • “Activate rolling inventory” activates rolling inventory for the client. Rolling inventory is only carried out in those warehouses in which it has been activated globally.
  • “Perform rolling inventory with number of parts” defines after how many picks an inventory count should take place.
  • The e-mail address entered in “Recipient for Rolling Inventory Result” is sent an overview of the inventory result by e-mail.

method

During the pick, the inventory counter is incremented. When the limit defined in the client master has been reached, the picker is prompted to perform a rolling inventory. All articles of the current client must be counted on the parking space from which the picker has just picked. The result is processed and sent by e-mail.

The differences are not posted!

If there are differences, a normal inventory order must be created for the client and the parking space and the parking space must be checked again.




REST API workflow

Is using wemalos rest api, at least the following calls might be used for interacting with wemalo.

First of all, an account needs to be set up for you. You’ll get a rest api token that is being used for authorization. Please see header information: Authorization

Product master data

Orders




Insert tracking number e-mail at WooCommerce

Our WooCommerce plugin writes the tracking number into the order field tracking_number. It is possible that an order consists of several packages and that the tracking numbers are separated by commas in the field.

In addition, the carrierfield is used to enter the shipping service provider (e.g. DHL, DPD, etc.) with which the parcel was sent.

You can use the template customer-completed-order.phpto set the template for sending e-mails. Via the admin menu WooCommerce- > Settings- >E-Mails the template file can be adapted into the template and over it afterwards.

The tracking numbers could be displayed in the file e.g. above the footer, i.e. directly above:

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );

The following code excerpt reads out the tracking numbers and shows them as DHL link in the e-mail. For production use, you would also have to read out the carrier at this point and put the link together accordingly depending on the carrier.

$post_id = $order->ID;
echo "tracking number for $post_id ";
$tn = get_post_meta($post_id, "tracking_number");
if ($tn) {
 $numbers = explode(',', $tn[0]);
 if ($numbers) {
 foreach ($numbers as $code) {
 echo '<a href="https://nolp.dhl.de/nextt-online-public/de/search?piececode="'.$code.'>'.$code.'</a><br/>';
 }
 }
}

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );

 




WordPress Wemalo API 2

With the second version of the WordPress plugin, Wemalo has considerably extended the range of functions.

furnishing

  • Download and activate the Wemalo Connectplugin from the WordPress shop.
  • A user account must then be set up in wemalo-connect(by a Wemalo employee).
  • The security key generated in wemalo-connect must be stored in the plugin configuration (a Wemalo entry has been added to the admin menu).

products

  • If a product is updated, the change is sent directly to Wemalo via wemalo-connect.
  • In addition, the product master data is requested by Wemalo at regular intervals. Since this is primarily required for the initial setup, the frequency of periodic queries is reduced.

mandatory fields

The only real mandatory field is the article number. However, they are also important for the warehouse processes:

  • EAN (if article number cannot already be scanned)
  • Article dimensions and weight (for storage and shipping)
  • Product image (for visual verification)
  • Product name (for name matching when picking/packing)

Expansion of products

The plugin extends the products and variants and adds the following information:

  • New alternative stock field (for example, B goods)
  • new field EAN (Tab Wemalo in main product)
  • new setting possibility serial number (Tab Wemalo in main product)
  • Overview of serial numbers/batches (Tab Wemalo in main product)

data transfer

  • When the main product is saved, the data record is transmitted directly to Wemalo. The time stamp of the last data transfer is displayed in the Wemalo tab.
  • A direct transmission also takes place when saving variants. Here the timestamp is displayed in the variant view.
  • If an error occurs during transmission, the return of the server is output.

product bundles

  • The WooCommerce product Bundle plugin has been supported since version 2.0.2 of the Wemalo plugin. The WooCommerce product Bundle plugin has been supported since version 2.0.2 of the Wemalo plugin.
  • As an alternative to using a plugin in WooCommerce, sets can also be defined in Wemalo. To do this, the set product must be created as a normal product in WooCommerce and configured accordingly in Wemalo (done by the Wemalo customer consultant).

orders

  • As soon as an order is set to “in progress”, data is transmitted to wemalo-connect and thus directly to Wemalo.
  • The download timestamp is set immediately. If an error occurs during transmission, the error message is stored as a custom field.
  • If the order could be completely reserved, it changes to a new fulfillment status.
  • As long as the order has not been reserved and is being processed in the order, it can also be cancelled in Wemalo using the WordPress stroning function. However, if the order is ready for fulfillment, it must be cancelled manually in Wemalo.
  • Once an hour, WooCommerce queries the current order status as long as the order has not yet been reserved.

Update orders

  • If the order is not yet in fulfillment, it can be processed at any time.

status extension

  • Returns registered (see Returns)
  • Returns posted (see Returns)
  • Order in fulfillment

If an order was sent to Wemalo, but cannot be set to Wemalo status open there (and thus released for picking), it will remain in processing status in WooCommerce and can still be cancelled from WooCommerce.

Wemalo fields in orders

  • Blocked: if the checkbox is checked, a transfer is made to Wemalo and the order is picked and packed. In Wemalo, however, it lands in the status “blocked packed” and is sent only after release.
  • Note: the text field can be used to send a note to the picker or packer.
  • ETD: if the date field has been set and is in the future, the goods will be reserved, but in Wemalo no pick list can be created yet. Only when the date has been reached, the picking list can be created and the order further processed/sent.

Additionally there is the panel with wemalo with the following data:

  • Priority: determines the priority of the order and can be distinguished between normal, high and very high. The priority affects the order of picking and reservation.
  • Order: another WooCommerce order can be linked via order, in which the order number is entered. A function that goes beyond this does not exist (no link in wemalo or similar).
  • Document upload: enables the upload of documents such as invoices or customs declarations.
  • Promi: allows you to mark an order as a Promi dispatch. In addition, a text can be entered which is sent to an e-mail address stored in the configuration. This can be used, for example, to write individual texts for orders and attach them to the packages.
  • Shipping: to hire the shipping service provider.
  • Product: Depending on the shipping service provider, the shipping products can be selected.
  • Returns no SN check: if products contain serial numbers, this flag can be used to switch off the validation of correctly returned serial numbers. The flag is transferred to wemalo when a return is registered.

tracking numbers

Tracking numbers are entered as notes and in the tracking_number field.

If wp_liste for Amazon or Ebay have been installed, the shipping service provider is entered in the field _wpla_tracking_provider (Amazon) / _wpl_tracking_provider (Ebay) and the tracking number in _wpla_tracking_number (Amazon) / _wpl_tracking_number (Ebay).

The tracking number can also be integrated into the e-mails sent automatically by WooCommerce when orders are completed. A manual can be found here: Insert tracking number e-mail at WooCommerce

shipping profiles

An external ID can be stored in Wemalo for matching the shipping profile to be sent. This comes from the WordPress installation and can be found under WooCommerce- > Settings- >Shipping.


Stock

  • Wemalo’s doing a stock update. This means that the stocks changed in Wemalo are transferred to the WooCommerce shop at regular intervals. The stocks of A-goods are transferred to the normal warehouse stock. All other stocks (B-stock, C-stock, etc.) are entered in a separate field for alternative stocks.
  • In order to be able to transfer stocks to WooCommerce, inventory management must be activated in the products on the shop side.

returns

  • The Wemalo API plug-in offers the possibility to turn an order into a registered return. As soon as the status of the order has been changed accordingly, the return is sent to Wemalo.
  • The return can then be scanned against the original order and the goods can therefore be validated.
  • Wemalo reports the received goods back to the plugin and sets the status to Return booked.

Supported Plugins

Supported WordPress plugins




Supported WordPress plugins

Supported versions in Plugin 2.x:

WordPress/ WooCommerce 3.1.2 3.2.6
4.7.1 X ?
4.8.3 X X
4.8.4 X X
4.9.2 ? X

Version 1.x

WordPress/ WooCommerce 2.6.9 3.1.2
4.5.10 ? X
4.7.1 X ?

X = > This combination is supported
? => Diese Kombination wird nicht aktiv unterstützt, könnte aber funktionieren
– = > This combination is not supported.

When using the Wemalo API, the following plugins are supported by Wemalo:

  • Akismet from Automattic
  • FAQ from Etoile Web Design
  • Wp Cookie Choice by Marcus Franke
  • Yoast SEO from Team Yoast
  • WP-Lister for ebay Version 2.0.15 from WPLab
  • WP-Lister for amazon Version 0.9.6.31 von WPLab
  • WooCommerce Multilingual 4.2.6 (from version 2.0.1) from OnTheGoSystems
  • Antispam Bee 2.7.1 by pluginkollektiv
  • WooCommerce product bundle (from version 2.0.2)

If other plugins are used in the shop, the functionality of the Wemalo plugin cannot be guaranteed. If necessary, the plugin must be adapted so that it works together with other plugins.