Webshippy API EN

The software of Webshippy - which operates the orders and optimises the packages - makes it possible to view the orders in your webshop in real-time and in case the inventory makes it possible, we can instantly pack the orders and pass them to the transporter partners to deliver them. In this system you have the ability to follow up on the status of your packages and to get an up to date information about your finances.

Introduction

This description demonstrates how the E-commerce services are able to use the Webshippy system. The API supports three main cases that are required by E-commerce systems:

  • Order synchronisation (generate, modification, delete, query)

  • Product synchronisation (generate, modification, delete, query, stock info)

  • Transfer management (generate, modification, delete, query)

For safety reasons WSAPI uses HTTPS channel, supports UTF-8 character encoding and is capable to communicate both in XML and JSON formats as well.

  • API XML url: https://app.webshippy.com/wspyapi/{ACTION}/xml

  • API JSON url: https://app.webshippy.com/wspyapi/{ACTION}/json

Where the placeholder {ACTION} is the requested function/action.

Generating API key

In the Webshippy Admin's system each Webshippy API is a separate sales channel. In order to have a successful data communication you must have your own API key. So to create it navigate to Settings / Warehouse management page then click on the Webshippy.API button to create a new sales channel. After filling in the basic data the system will generate the API key which is ready for communication.

API requests briefly

API only uses POST methods, and the request field contains the given data either as a JSON or XML String.

An example for a PHP based API request:

$request = '<?xml version="1.0" encoding="UTF-8"?>
<request>
<apiKey>apiKey</apiKey>
<filters>
<lastMod>2018-01-01 00:00:00</lastMod>
</filters>
</request>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.webshippy.com/wspyapi/GetProduct/xml/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['request' => $request]));
$result = curl_exec($ch);

API Functions

Order requests

Filtering terms

Description

limit

Hits within a page (default: 100, maximum: 1000)

page

Number of the requested page (default: 0)

wspyId

Internal ID, API returns it when an order is created

referenceId

External ID, the ID given when an order is created

referenceName

Order's name, the name given when an order is created

paymentStatus

Payment status (e.g.: paid, pending, etc.)

paymentGateway

Method of payment (e.g.: cod, card, etc.)

lastMod

Last modification's date. Lists even several created or modified orders after the given date.

Filtering terms listed above are linked with ÉS , you need to add only the terms that you'd like to filter.

In case of XML:

Url: https://app.webshippy.com/wspyapi/GetOrder/xml

Request:

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<page>0</page>
<limit>10</limit>
<filters>
<wspyId></wspyId>
<referenceId></referenceId>
<referenceName></referenceName>
<paymentStatus></paymentStatus>
<paymentGateway></paymentGateway>
<lastMod>2018-01-01 00:00:00</lastMod>
</filters>
</request>

Response (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>success</status>
<message/>
<result>
<elem>
<wspyId>176</wspyId>
<status>fulfilled</status>
<referenceId>87962-110037</referenceId>
<referenceName>87962-110037</referenceName>
<createdAt>2018-02-14 13:04:33</createdAt>
<fulfilledAt>2018-02-20 16:27:17</fulfilledAt>
<paymentGateway>cod</paymentGateway>
<paymentStatus>pending</paymentStatus>
<paymentTotalPrice>8940.00</paymentTotalPrice>
<paymentTotalDiscounts>1000.00</paymentTotalDiscounts>
<paymentCurrency>HUF</paymentCurrency>
<shippingMode>GLS</shippingMode>
<shippingPrice>1290.00</shippingPrice>
<shippingVat>0.27</shippingVat>
<paidAt/>
<codAmount>1500.00</codAmount>
<codCurrency>HUF</codCurrency>
<codStatus/>
<codReceivedAt/>
<trackingCode>WSHPY176</trackingCode>
<invoiceStatus/>
<invoiceCreatedAt>2018-02-16 00:00:00</invoiceCreatedAt>
<invoiceNo>inv#00001</invoiceNo>
<refusedInvoiceNo/>
<invoiceUrl/>
<refusedDate/>
<updatedAt>2018-02-26 12:18:17</updatedAt>
<products>
<elem>
<sku>szuperhos-polo-piros-xl</sku>
<productName>Szuperhős Póló</productName>
<variantName>Piros, XL</variantName>
<priceGross>1890.00</priceGross>
<vat>0.27</vat>
<quantity>3</quantity>
</elem>
<elem>
<sku>cicanaci-one-size</sku>
<productName>CicaNaci - One Size</productName>
<variantName/>
<priceGross>990.00</priceGross>
<vat>0.27</vat>
<quantity>1</quantity>
</elem>
<elem>
<sku>akcios-sapka</sku>
<productName>Akciós sapka</productName>
<variantName>Fekete</variantName>
<priceGross>1990.00</priceGross>
<vat>0.27</vat>
<quantity>1</quantity>
</elem>
</products>
</elem>
<elem>
[ ... ]
</elem>
[ ... ]
</result>
</response>

In case of a failed request (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>error</status>
<message>
<elem>[field: lastMod]The field must be a valid datetime (eg. yyyy-mm-dd hh:ii:ss)</elem>
</message>
</response>

In case of JSON:

Url: https://app.webshippy.com/wspyapi/GetOrder/json

Request:

{
"apiKey": "api-key-comes-here",
"page": "0",
"limit": "10",
"filters": {
"wspyId": "",
"referenceId": "",
"referenceName": "",
"paymentStatus": "",
"paymentGateway": "",
"lastMod": "2018-01-01 00:00:00"
}
}

Response (example):

{
"status": "success",
"message": [],
"result": [
{
"wspyId": "176",
"status": "fulfilled",
"referenceId": "87962-110037",
"referenceName": "87962-110037",
"createdAt": "2018-02-14 13:04:33",
"fulfilledAt": "2018-02-20 16:27:17",
"paymentGateway": "cod",
"paymentStatus": "pending",
"paymentTotalPrice": "8940.00",
"paymentTotalDiscounts": "1000.00",
"paymentCurrency": "HUF",
"shippingMode": "GLS",
"shippingPrice": "1290.00",
"shippingVat": "0.27",
"paidAt": null,
"codAmount": "1500.00",
"codCurrency": "HUF",
"codStatus": "",
"codReceivedAt": null,
"trackingCode": "WSHPY176",
"invoiceStatus": "",
"invoiceCreatedAt": "2018-02-16 00:00:00",
"invoiceNo": "inv#00001",
"refusedInvoiceNo": null,
"invoiceUrl": null,
"refusedDate": null,
"updatedAt": "2018-02-26 12:18:17",
"products": [
{
"sku": "szuperhos-polo-piros-xl",
"productName": "Szuperhős Póló",
"variantName": "Piros, XL",
"priceGross": "1890.00",
"vat": "0.27",
"quantity": "3"
},
{
"sku": "cicanaci-one-size",
"productName": "CicaNaci - One Size",
"variantName": null,
"priceGross": "990.00",
"vat": "0.27",
"quantity": "1"
},
{
"sku": "akcios-sapka",
"productName": "Akciós sapka",
"variantName": "Fekete",
"priceGross": "1990.00",
"vat": "0.27",
"quantity": "1"
}
]
},
{
[ ... ]
}
]
}

In case of a failed request (example):

{
"status": "error",
"message": [
"[field: lastMod]The field must be a valid datetime (eg. yyyy-mm-dd hh:ii:ss)"
]
}

Field

Description

status

Action's result. Possible values: success, error

message

Error messages are in this field in case of a failed request

result

Results of a successful request are in this field as a block in each case

wspyId

The Internal ID, API returns it when an order is created

status

Order's status, possible values: new: New draft: Draft ready: Ready packing: Packing fulfilled: Packed refused: Refused

referenceId

External ID, the ID given when an order is created

referenceName

Order's name, the name given when an order is created

createdAt

(Original) time when the order got created

fulfilledAt

Time when the order got packed

paymentStatus

Payment status

paidAt

In case it is paid, the time of payment

codAmount

Amount of Cash On Delivery

codCurrency

Currency of Cash On Delivery

codStatus

Status of Cash On Delivery

codReceivedAt

When the Cash On Delivery got recieved

trackingCode

Tracking code of the courier service

invoiceUrl

Invoice link to download (https://example.com/invoice.pdf)

invoiceStatus

Invoice status uninvoiced: Not yet invoiced invoiced: Invoiced storno: Canceled

invoiceCreatedAt

Time when the invoice got created

invoiceNo

ID number of invoice

refusedInvoiceNo

Canceled invoice's ID number

refusedDate

Time of package return, and date of canceled invoice

updatedAt

Date of last modification in our system

products

Products in an order, only in block form

sku

Product's SKU, item number

productName

Product's name

variantName

Product variant name

priceGross

Product's gross selling price

vat

VAT key

quantity

Ordered quantity

Generating and modifying orders

With this function you can create and modify your orders. In case the order does not have a referenceId, the API will generate one. In case you do have, and the status of the existing order is new, or draft, or there has not been manual modification, then the API modifies it. In case of a successful generation or modification, API gives back the order's Internal ID.

Field

Required?

Description

apiKey

Yes

API key

order

Yes

Order's details in generation or modification

referenceId

Yes

External ID, free word, recommended to use the order's ID

referenceName

No

Order name, free word, recommended to use the order's ID or a name created with it, for example ORDER#1221

createdAt

Yes

Time of order's creation

shipping

Yes

Delivery data

name

Yes

Recipient's name

company

No

Company name

email

No

E-mail address

phone

No

Phone number

countryCode

Yes

Two-digit country code (e.g.: HU)

stateOrProvinceCode

No

State, Province ( especially when addressed abroad)

zip

Yes

Post code

city

Yes

City

address1

Yes

First line of address

address2

No

Second line of address

note

No

Title's note, use of <![CDATA[]]> recommended

mode

No

Transfer method

packPoint

No

Type of Pack point, possible values: FOXPOST-HU, GLS

packPointId

No

Pack point's ID

billing

No*

Billing data, requested when we invoice

name

Yes

Invoice name

company

No

Company name

phone

No

Phone number

countryCode

Yes

Two-digit country code (e.g.: HU)

zip

Yes

Post code

city

Yes

City

address1

Yes

First line of address

address2

No

Second line of address

payment

Yes

Information about payment

paymentMode

Yes

Payment method, uses smart surveying, recommended values: cod, card, paypal, etc.

codAmount

No

Amount of Cash On Delivery, may differ from total, courier recieves it as COD amount

paymentStatus

Yes

Payment status, possible values: paid, pending. Other cases require consultation

paidDate

No*

Date of payment, reuired if the status is paid

shippingPrice

No

Price of delivery fee (Gross)

shippingVat

No

Price of delivery fee's VAT key

currency

Yes

Currency of order, three-digit (ISO) ID e.g.: HUF

discount

No

Discount from Total

products

No

Products in the Order

sku

Yes

Product's SKU, item number

productName

Yes

Product's name

variantName

No

Product variant name

priceGross

Yes

Product's gross selling price

vat

Yes

VAT key

quantity

Yes

Ordered quantity

invoiceUrl

No

Invoice link to download (https://example.com/invoice.pdf)

Required when API connection has Manual PDF invoice system (in this case the system uses it)

pdfSource

No

PDF format invoice file with base64 coding

Required when API connection has Manual PDF invoice system

In case of XML:

Url: https://app.webshippy.com/wspyapi/CreateOrder/xml

Request:

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<order>
<referenceId>87962-110037</referenceId>
<referenceName>87962-110037</referenceName>
<createdAt>2018-02-14 13:04:33</createdAt>
<shipping>
<name>Kováts Béla</name>
<company>Virág Bt.</company>
<email>bela@viragbt.hu</email>
<phone>+36301234567</phone>
<countryCode>HU</countryCode>
<stateOrProvinceCode></stateOrProvinceCode>
<zip>1234</zip>
<city>Budapest</city>
<address1>Virág utca 25.</address1>
<address2></address2>
<note><![CDATA[Szállításkor kérem a futárt, hogy ne csengessen!!!]]></note>
<mode>GLS</mode>
</shipping>
<billing>
<name>Kováts Béla</name>
<company>Virág Bt.</company>
<phone>+36301234567</phone>
<countryCode>HU</countryCode>
<zip>1234</zip>
<city>Budapest</city>
<address1>Virág utca 25.</address1>
<address2></address2>
</billing>
<payment>
<paymentMode>COD</paymentMode>
<codAmount>1500.00</codAmount>
<paymentStatus>pending</paymentStatus>
<paidDate></paidDate>
<shippingPrice>1290.00</shippingPrice>
<shippingVat>0.27</shippingVat>
<currency>HUF</currency>
<discount>1000.00</discount>
</payment>
<products>
<elem>
<sku>szuperhos-polo-piros-xl</sku>
<productName>Szuperhős Póló</productName>
<variantName>Piros, XL</variantName>
<priceGross>1890.00</priceGross>
<vat>0.27</vat>
<quantity>3</quantity>
</elem>
<elem>
<sku>cicanaci-one-size</sku>
<productName>CicaNaci - One Size</productName>
<priceGross>990.00</priceGross>
<vat>0.27</vat>
<quantity>1</quantity>
</elem>
<elem>
<sku>akcios-sapka</sku>
<productName>Akciós sapka</productName>
<variantName>Fekete</variantName>
<priceGross>1990.00</priceGross>
<vat>0.27</vat>
<quantity>1</quantity>
</elem>
</products>
</order>
</request>

Response (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>success</status>
<message>
<elem>The order creation was successful</elem>
</message>
<wspyId>176</wspyId>
</response>

In case of JSON:

Url: https://app.webshippy.com/wspyapi/CreateOrder/json

Request:

{
"apiKey": "api-key-comes-here",
"order": {
"referenceId": "87962-110037",
"referenceName": "87962-110037",
"createdAt": "2018-02-14 13:04:33",
"shipping": {
"name": "Kov\u00e1ts B\u00e9la",
"company": "Vir\u00e1g Bt.",
"email": "bela@viragbt.hu",
"phone": "+36301234567",
"countryCode": "HU",
"stateOrProvinceCode": "",
"zip": "1234",
"city": "Budapest",
"address1": "Vir\u00e1g utca 25.",
"address2": "",
"note": "",
"mode": "GLS"
},
"billing": {
"name": "Kov\u00e1ts B\u00e9la",
"company": "Vir\u00e1g Bt.",
"phone": "+36301234567",
"countryCode": "HU",
"zip": "1234",
"city": "Budapest",
"address1": "Vir\u00e1g utca 25.",
"address2": ""
},
"payment": {
"paymentMode": "COD",
"codAmount": "1500.00",
"paymentStatus": "pending",
"paidDate": "",
"shippingPrice": "1290.00",
"shippingVat": "0.27",
"currency": "HUF",
"discount": "1000.00"
},
"products": [
{
"sku": "szuperhos-polo-piros-xl",
"productName": "Szuperh\u0151s P\u00f3l\u00f3",
"variantName": "Piros, XL",
"priceGross": "1890.00",
"vat": "0.27",
"quantity": "3"
},
{
"sku": "cicanaci-one-size",
"productName": "CicaNaci - One Size",
"priceGross": "990.00",
"vat": "0.27",
"quantity": "1"
},
{
"sku": "akcios-sapka",
"productName": "Akci\u00f3s sapka",
"variantName": "Fekete",
"priceGross": "1990.00",
"vat": "0.27",
"quantity": "1"
}
]
}
}

Response (example):

{
"status": "success",
"message": [
"The order creation was successful"
],
"wspyId": 176
}

Additional response possibilities:

  • The order creation was successful

  • The order modification was successful

Order's delete

In case of JSON:

Url: https://app.webshippy.com/wspyapi/deleteOrder/json

Request:

{
"apiKey": "api-key-comes-here",
"filters": {
"wspyId": "917872738"
}
}

In case of XML:

Url: https://app.webshippy.com/wspyapi/deleteOrder/xml

Request:

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<filters>
<wspyId>917872738</wspyId>
</filters>
</request>

Filtering terms

Description

wspyId

The Internal ID, API returns it when an order is created

referenceId

External ID, the ID given when an order is created

referenceName

Order's name, the name given when an order is created

Only one order can be deleted at a time! An order which has been manually modified by a user in Webshippy can not be deleted with API request.

Product requests

Filtering terms

Description

limit

Hits within a page (default: 100, maximum: 1000)

page

Number of the requested page (default: 0)

wspyId

The Internal ID, API returns it when an order is created

referenceId

External ID, the ID given when an order is created

productName

Product name, name when the prodcut was created (SQL wildcards allowed)

sku

Product's SKU, item number

barcode

Product's barcode

lastMod

Last modification's date. Lists even several created or modified orders after the given date.

getAllProduct

Requests every product from the Webshippy system (not just the store involved)

Filtering terms listed above are linked with ÉS , you need to add only the terms that you'd like to filter.

In case of XML:

Url: https://app.webshippy.com/wspyapi/GetProduct/xml

Request:

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<page>0</page>
<limit>10</limit>
<filters>
<wspyId></wspyId>
<referenceId></referenceId>
<productName></productName>
<sku></sku>
<barcode></barcode>
<lastMod>2018-01-01 00:00:00</lastMod>
</filters>
</request>

Response (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>success</status>
<message/>
<result>
<elem>
<wspyId>74210</wspyId>
<referenceId>1231</referenceId>
<sku>szuperhos-polo-piros-xl</sku>
<barcode>126510305031</barcode>
<productName>Szuperhős Póló</productName>
<variantName>Piros, XL</variantName>
<type>product</type>
<productType>clothes</productType>
<quantity>191</quantity>
<available_quantity>189</available_quantity>
<reserved_by_orders>2</reserved_by_orders>
<updatedAt>2018-03-12 11:59:35</updatedAt>
</elem>
<elem>
<wspyId>74211</wspyId>
<referenceId>1232</referenceId>
<sku>cicanaci-one-size</sku>
<barcode>126510305032</barcode>
<productName>CicaNaci - One Size</productName>
<variantName/>
<type>product</type>
<productType>clothes</productType>
<quantity>197</quantity>
<available_quantity>196</available_quantity>
<reserved_by_orders>1</reserved_by_orders>
<updatedAt>2018-03-12 11:59:32</updatedAt>
</elem>
<elem>
[ ... ]
</elem>
[ ... ]
</result>
</response>

In case of a failed request (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>error</status>
<message>
<elem>[field: lastMod]The field must be a valid datetime (eg. yyyy-mm-dd hh:ii:ss)</elem>
</message>
</response>

In case of JSON:

Url: https://app.webshippy.com/wspyapi/GetProduct/json

Request:

{
"apiKey": "api-key-comes-here",
"page": "0",
"limit": "10",
"filters": {
"wspyId": "",
"referenceId": "",
"productName": "",
"sku": "",
"barcode": "",
"lastMod": "2018-01-01 00:00:00",
"getAllProduct": true
}
}

Response (example):

{
"status": "success",
"message": [],
"result": [
{
"wspyId": "74210",
"referenceId": "1231",
"sku": "szuperhos-polo-piros-xl",
"barcode": "126510305031",
"productName": "Szuperhős Póló",
"variantName": "Piros, XL",
"type": "product",
"productType": "clothes",
"quantity": "191",
"available_quantity": "189",
"reserved_by_orders": "2",
"updatedAt": "2018-03-12 11:59:35"
},
{
"wspyId": "74211",
"referenceId": "1232",
"sku": "cicanaci-one-size",
"barcode": "126510305032",
"productName": "CicaNaci - One Size",
"variantName": "",
"type": "product",
"productType": "clothes",
"quantity": "197",
"available_quantity": "196",
"reserved_by_orders": "1",
"updatedAt": "2018-03-12 11:59:32"
},
{
[ ... ]
}
]
}

In case of a failed request (example):

{
"status": "error",
"message": [
"[field: lastMod]The field must be a valid datetime (eg. yyyy-mm-dd hh:ii:ss)"
]
}

Field

Description

status

Action's result. Possible values: success, error

message

Error messages are in this field in case of a failed request

result

Results of a successful request are in this field as a block in each case

wspyId

The Internal ID, API returns it when an product is created

referenceId

External ID, the ID given when an product is created

sku

Product's SKU, item number

barcode

Product's barcode. The first will be the product's default barcode, further alternative barcodes can be added seperated with ;

Format: [a-zA-Z0-9-_]

(e.g.: HU-324;WSPY_3456;12345; AAA)

productName

Product name

variantName

Product variant name

type

Product type ("product", "virtual")

productType

Product description for customs

quantity

Product's stock state (contains both available and reserved quantity)

available_quantity

Contains only the available stock (reserved for orders quantity is not included)

updatedAt

Product's date of last modification

Generating and modifying a product

With this function you can create and modify a product. In case we do not have the product's sku the API creates one, in case we do have, the API modifies it. productName,variantName ,productType and referenceId fields are free to modify. However barcode, weight, width, height and deep fields are only modifiable if we do not have the data. In case of a successful generation or modification, API returns the order's Internal ID.

Field

Required?

Description

apiKey

Yes

API key

product

Yes

Created or modified product's data

referenceId

No

External ID, free word, recommended to use the product's ID

sku

Yes

Product's SKU, item number

barcode

No

Product's barcode. The first will be the product's default barcode, further alternative barcodes can be added seperated with ;

Format: [a-zA-Z0-9-_]

(e.g.: HU-324;WSPY_3456;12345; AAA)

productName

Yes

Product name

variantName

No

Product variant name (e.g.: color, size)

type

No

Product type ("product", "virtual")

productType

No

Product description for customs

weight

No

Product wight (in kg, floating-point number)

width

No

Product width (in cm, integer)

height

No

Product height (in cm, integer)

deep

No

Product depth (in cm, integer)

In case of XML:

Url: https://app.webshippy.com/wspyapi/CreateProduct/xml

Request:

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<product>
<referenceId>1231</referenceId>
<sku>szuperhos-polo-piros-xl</sku>
<barcode>126510305031</barcode>
<productName>Szuperhős Póló</productName>
<variantName>Piros, XL</variantName>
<type>product</type>
<productType>clothes</productType>
<weight>1.25</weight>
<width>32</width>
<height>35</height>
<deep>5</deep>
</product>
</request>

Response (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>success</status>
<message>
<elem>The order creation was successful</elem>
</message>
<wspyId>74210</wspyId>
</response>

In case of JSON:

Url: https://app.webshippy.com/wspyapi/CreateProduct/json

Request:

{
"apiKey": "api-key-comes-here",
"product": {
"referenceId": "1231",
"sku": "szuperhos-polo-piros-xl",
"barcode": "126510305031",
"productName": "Szuperhős Póló",
"variantName": "Piros, XL",
"type": "product",
"productType": "clothes",
"weight": "1.25",
"width": "32",
"height": "35",
"deep": "5"
}
}

Response (example):

{
"status": "success",
"message": [
"The order creation was successful"
],
"wspyId": 74210
}

Additional response possibilities:

  • The order creation was successful

  • The order modification was successful

  • No changes detected in product

Product deletion

Soon…

Creating transfer

You can create product transfers with this function.

Field

Required?

Description

apiKey

Yes

API key

direction

Yes

Direction of transfer in creation (in/out)

note

No

Note for transfer

date

Yes

Date of expected transfer

quantity

Yes

Quantity of product transfered (positive integer)

sku

Yes

Sku of product transfered

In case of XML:

Url: https://app.webshippy.com/wspyapi/CreateTransfer/xml

Request:

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<transfer>
<direction>in</direction>
<note>délután érkezik</note>
<date>2018-01-01</date>
<products>
<elem>
<quantity>3</quantity>
<sku>4345</sku>
</elem>
<elem>
<quantity>1</quantity>
<sku>67657</sku>
</elem>
<elem>
<quantity>1</quantity>
<sku>56464</sku>
</elem>
</products>
</transfer>
</request>

Response (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>success</status>
<message>
<elem>The transfer creation was successful</elem>
</message>
<transfer_id>74210</transfer_id>
</response>

In case of JSON:

Url: https://app.webshippy.com/wspyapi/CreateTransfer/json

Request:

{
"apiKey": "api-key-comes-here",
"transfer": {
"direction": "in",
"transfer_id": 59,
"note": "délután viszik el",
"date": "2018-08-20",
"products": [
{
"quantity": 3,
"sku": 343545
},
{
"quantity": 2,
"sku": 654564
},
{
"quantity": 1,
"sku": 32432432
}
]
}
}

Response (example):

{
"status": "success",
"message": [
"The transfer creation was successful"
],
"transfer_id": 176
}

Request:

Url: https://app.webshippy.com/wspyapi/CreateTransfer/json

In case of JSON:

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>success</status>
<message>
<elem>The transfer creation was successful</elem>
</message>
<transfer_id>74210</transfer_id>
</response>

Response (example):

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<transfer>
<direction>in</direction>
<note>délután érkezik</note>
<date>2018-01-01</date>
<products>
<elem>
<quantity>3</quantity>
<sku>4345</sku>
</elem>
<elem>
<quantity>1</quantity>
<sku>67657</sku>
</elem>
<elem>
<quantity>1</quantity>
<sku>56464</sku>
</elem>
</products>
</transfer>
</request>

Request:

Url: https://app.webshippy.com/wspyapi/CreateTransfer/xml

Requesting transfer details

Field

Required?

Description

apiKey

Yes

API key

limit

No

Hits within a page (default: 100, maximum: 1000)

page

No

Number of the requested page (default: 0)

lastMod

No

Last modification's date. Lists even several created or modified orders after the given date.

wspyId

No

Transfer's unique Webshippy ID

In case of XML:

Url: https://app.webshippy.com/wspyapi/getTransfer/xml

Request:

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<page>0</page>
<limit>1000</limit>
<filters>
<wspyId></wspyId>
<lastMod>2019-01-01 00:00:00</lastMod>
</filters>
</request>

Response (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>success</status>
<message/>
<result>
<elem>
<wspyId>7258</wspyId>
<warehouseId/>
<status>shipped</status>
<direction>in</direction>
<expectedArrival>2019-07-24</expectedArrival>
<note>t-takács</note>
<created>2019-07-23 10:54:33</created>
<updated>2019-07-24 07:24:10</updated>
<new>2019-07-23 11:51:25</new>
<arrived>2019-07-24 07:28:57</arrived>
<transfered>2019-07-24 07:30:45</transfered>
</elem>
</result>
</response>

In case of JSON:

Url: https://app.webshippy.com/wspyapi/getTransfer/json

Request:

{
"apiKey": "api-key-comes-here",
"page": "0",
"limit": "1000",
"filters": {
"wspyId": "",
"lastMod": "2019-01-01 00:00:00"
}
}

Response (example):

{
"status": "success",
"message": [],
"result": [
{
"wspyId": "7258",
"warehouseId": null,
"status": "shipped",
"direction": "in",
"expectedArrival": "2019-07-24",
"note": "t-takács",
"created": "2019-07-23 10:54:33",
"updated": "2019-07-24 07:24:10",
"new": "2019-07-23 11:51:25",
"arrived": "2019-07-24 07:28:57",
"transfered": "2019-07-24 07:30:45"
}
]
}

Requesting a transfer's items

Field

Required?

Description

apiKey

Yes

API key

wspyId

Yes

Transfer's unique Webshippy ID

In case of XML:

Url: https://app.webshippy.com/wspyapi/getTransferDetails/xml

Request:

<?xml version="1.0" encoding="utf-8"?>
<request>
<apiKey>api-key-comes-here</apiKey>
<filters>
<wspyId>6526</wspyId>
</filters>
</request>

Response (example):

<?xml version="1.0" encoding="utf-8"?>
<response>
<status>success</status>
<message/>
<result>
<elem>
<wspyProductId>267812</wspyProductId>
<productName>Teszt termék 2</productName>
<variantName/>
<produtSku>TESZT-2</produtSku>
<productBarcode>TESZT-2</productBarcode>
<quantity>10</quantity>
<checkedQuantity>15</checkedQuantity>
</elem>
</result>
</response>

In case of JSON:

Url: https://app.webshippy.com/wspyapi/getTransferDetails/json

Request:

{
"apiKey": "api-key-comes-here",
"filters": {
"wspyId": "6526"
}
}

Response (example):

{
"status": "success",
"message": [],
"result": [
{
"wspyProductId": "267812",
"productName": "Teszt termék 2",
"variantName": "",
"produtSku": "TESZT-2",
"productBarcode": "TESZT-2",
"quantity": "10",
"checkedQuantity": "15"
}
]
}