Midocean - API implementation guide and integration overview - version 1.12.2
Midocean - API implementation guide and integration overview - version 1.12.2
Date : 23-10-2024
Version : 1.12.2
1 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Index
Changelog ............................................................................................................................... 3
How to integrate your website or IT system with the midocean IT systems. ....................... 4
Who can use the API? ....................................................................................................... 4
How can I request a Rest API key?.................................................................................. 4
Note about Test environment!...................................................................................... 5
What information files does API offer?........................................................................... 5
What services does API offer? ......................................................................................... 6
API Information Files .............................................................................................................. 7
Stock Information 2.0 ....................................................................................................... 7
Product information 2.0 .................................................................................................... 8
Print Data 1.0 ................................................................................................................... 10
API Pricelists ......................................................................................................................... 13
Product Pricelist 2.0 ........................................................................................................ 13
Print Pricelist 2.0 ............................................................................................................. 14
API Order Services................................................................................................................ 16
Order Entry 2.1 ................................................................................................................ 16
Fields Appendix .......................................................................................................... 17
Order Request format (JSON).................................................................................... 20
Order Response ........................................................................................................... 23
Error Resolutions ........................................................................................................ 24
Order Details 2.1 ............................................................................................................. 25
Approve Proof 1.0 ........................................................................................................... 27
Reject Proof 1.0 ............................................................................................................... 28
Add Artwork 1.0 ............................................................................................................. 28
APPENDIX A: Rest API integration with Postman ............................................................... 29
APPENDIX B: Download and import Postman collection ................................................... 32
Postman Collection: JSON ............................................................................................. 32
Postman Collection: URL ............................................................................................... 35
APPENDIX C: API integration errors .................................................................................... 37
APPENDIX D: Printed API Order flow ................................................................................... 37
APPENDIX E: List of rejection reasons ................................................................................ 38
APPENDIX F: Print pricing calculation................................................................................. 38
type culation examples ........................................................................................................39
2 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Changelog
➢ V.1.12.1
o Added Appendix F
▪ Pricing type calculation examples
➢ V.1.12
o Update of order entry endpoint (new version)
o Update of order details endpoint (additional values)
o Addition of new Proof management APIs.
▪ Proof approval API.
▪ Proof rejection API.
• List of rejection reasons
▪ Add artwork API.
o Postman collection is updated to include the new APIs.
o Added Appendix D: Print Order API flow diagram.
➢ V.1.11
o Order Entry
▪ Specified mandatory fields.
o Order Entry
▪ Added/Expanded fields explanations.
o Removed SFTP references completely (SFTP service is now deprecated and will be
discontinued in 2025).
o Customer API page rework.
▪ Adjusted API key retrieval instructions.
➢ V.1.10.1
o Compacted SFTP file information.
o Remade code snippets.
➢ V.1.10
o Rework of the Rest API method of request.
o Added entry about the new Customer API page in the webshop.
➢ V.1.9
o Complete removal of Webservices API references since it’s now obsolete.
o Addition of Order Entry Rest API.
o Addition of Order Details & Tracking Rest API.
o Rework of the whole layout.
o Added SFTP and Rest API setup guides.
o Added API error appendix.
➢ V.1.8
o Added Stock API Call.
o Added Print Data API Call.
3 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
The midocean API can be used by Distributors that have their own Website or IT system. By integrating our
API, you will get accurate product, stock, pricing and print configuration data to your End Users, without
having to perform any manual procedure (everything will run automatically).
In addition, the midocean API can be used to place orders, check order details, and order tracking.
Be aware that to make connections with the midocean systems you will require an API key to authorize
your connections with our Rest API environment.
Firstly, you need to have an account on the website https://www.midocean.com
• Log in to your midocean account, go to your Account, then access the Customer API tab.
• Click Register to create an API key that’s linked to your midocean account.
• Now you can choose which endpoint(s) to subscribe to by selecting them and clicking on Update
4 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
➢ Production:
o This is the normal environment, the calls made here are reflected on our live systems
and on the website, so real data and real orders.
➢ Test:
o Calls made in the Test Environment are just for testing and to familiarize yourself with
the API system, you can use the Test environment to practice with the Order Create
Rest API without any risk.
To request the API Key for Test please contact your regular midocean salesperson and ask for a Rest API
key for Test environment specifically.
To make use of our TEST environment, replace the URL header from https://api.midocean.com to
https://apitest.midocean.com and replace your production API key with your test API key
With this file you can upload in your system the current stock levels of our entire stock product
assortment.
Available in json, xml and csv.
Updated each hour.
5 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Contains all product data that midocean can share like descriptions, images, attributes, documents,
etc. You can upload in your system all the product information, including textiles, that we have
available in our Webshop.
NOTE: You can request the file in most European languages by changing the language key in the
enpoint URL, “en” is for English, but if requesting in Spanish the key is “es” instead on “en”
Available in multiple languages: en, es, pt, fr, it, nl, de, hu, ro, cs, sv, fi, da.
Available in json, xml and csv.
Updated daily.
This file contains the specific customer pricing per item (any discount or condition that you have will be
reflected on this file).
The price that you see will be the same prices that you can see on the midocean Webshop or the one
that will be given by the Customer Care.
Available in json, xml and csv.
Updated daily.
This file contains the print prices per print technique and handling costs per item.
The price that you see will be the same prices that you can see on the midocean Webshop or the one
that will be given by the Customer Care.
Available in json, xml and csv.
Updated daily.
By integrating this file you can upload in your system all the Printing options that are available for the
midocean products, print positions, available printing techniques per position, the max print size, max
print colors and template images of the positions.
Available in json and xml.
Updated daily.
We also offer some API services that allow customers to create and manage their orders from their own
systems without the need to access the Webshop or call Customer Care at all!
From version 1.11 onwards of the documentation we also give access to some APIs that allow you to
manage the proof status of print orders, so you can even Approve, Reject or Add artwork to printed orders.
Note that these calls require more configuration to setup, since they can be personalized for each case.
If you’re getting familiarized with the API, we recommend to follow the instructions to import the Postman
collection which automates the configuration of most of the setup.
▪ Order Entry
▪ https://api.midocean.com/gateway/order/2.1/create
6 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
This API will allow you to place orders to midocean without the need to use the Webshop or call
Customer Care.
To make use of this API you will need to send via POST a request json file that will contain all the
order details, once the details are sent the system will return the order confirmation along with the
order number and pricing details.
You can integrate this functionality in your ERP system or directly on your website, so when a
customer places an order the order is transferred directly to midocean.
▪ Order Details
▪ https://api.midocean.com/gateway/order/2.1/detail?order_number=order number
This API will return the fully updated order details for any of your orders placed in our midocean
systems, the updated tracking information for your orders, including forwarder ID, the tracking link and
in case of print orders the latest proof download link.
As of the 2.1 version of this call the proof status for printed orders is also available so you can check if
proof is ready or if there is an objection on the artwork provided. The list of proof statuses is explained
in the Order details section
▪ Proof Approval
(Print orders)
▪ https://api.midocean.com/gateway/proof/1.0/approve
This API will send an approve request on any order you placed in our midocean systems so you can
approve proofs without even having to visit the website.
▪ Proof Rejection
(Print orders)
▪ https://api.midocean.com/gateway/proof/1.0/reject
This API can be used to reject a proof for a printed order, you can send a request with the order
number, order line, rejection reason (see list of rejection reasons) and any additional files or new
artwork that you want to upload.
▪ Add Artwork
(Print orders)
▪ https://api.midocean.com/gateway/proof/1.0/addartwork
If your printed order gets a rejection because of the artwork, you can upload new artwork by sending a
request with this API.
The stock information file includes the available stock of all products available on the website.
The Stock Information Rest API has to be called at the following URL by making a GET call:
▪ https://api.midocean.com/gateway/stock/2.0
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
NOTE:
Available in JSON, XML and CSV formats, by default output is in JSON
Add a header with the key “Accept” and set the value depending on the wanted format, text/”format”
(text/json, text/xml, text/csv)
An example could look as follows. Note that this example only shows a small part of the result.
The header of the stock file indicates the last update time, since the stock information is updated hourly
this is reflected on the header
{
"modified_at": "2023-08-11T23:45:09+02:00",
"stock": [
The stock API returns the available stock in our warehouse and the next two stock arrivals if applicable.
In this case it tells us that item KC2364-37 does not have current stock, but on 25/08/2023 3000 pcs will
arrive to the Warehouse and also another shipment will arrive on 22/09/2023 with 5000 extra pcs.
{
"sku": "KC2364-37",
"qty": 811,
"first_arrival_date": "2023-08-25",
"first_arrival_qty": 3000,
"next_arrival_date": "2023-09-22",
"next_arrival_qty": 5000
},
At this moment it isn’t possible to retrieve only a portion of the product data. This functionality will also be
added during late 2024. That will be useful to only retrieve products that have changed since a certain date.
The Product Information Rest API has to be called at the following URL by making a GET call:
▪ https://api.midocean.com/gateway/products/2.0?language=en
Note that there’s a parameter added to the url that determines the language in which you’ll receive the
product data (?language=en). Available languages are (English, Czech, German, Spanish, French,
Hungarian, Italian, Dutch, Polish, Portuguese, Romanian, Russian, Swedish)
NOTE:
Available in JSON, XML and CSV formats, by default output is in JSON
Add a header with the key “Accept” and set the value depending on the wanted format, text/”format”
(text/json, text/xml, text/csv)
8 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
"master_code": "AR1804",
"master_id": "40000190",
"type_of_products": "stock",
"commodity_code": "4820 1030",
"number_of_print_positions": "5",
"country_of_origin": "CN",
"brand": "midocean",
"product_name": "ARCONOT",
"category_code": "MOBOFF_NOTOTH",
"product_class": "Notebooks & notepads",
"dimensions": "21X14X1,6 CM",
Next you can find a list of all included documents, certifications and compliancy documents for the product
in PDF format.
"digital_assets": [
{
"url": "https://cdn1.midocean.com/document/declaration-of-
sustainability/ar1804-green.pdf",
"type": "document",
"subtype": "declaration_of_sustainability"
},
{
"url": "https://cdn1.midocean.com/document/declaration-of-conformity/ar1804-
doc.pdf",
"type": "document",
"subtype": "declaration_of_conformity"
},
{
"url": "https://cdn1.midocean.com/document/test-reach/ar1804-test-reach.pdf",
"type": "document",
"subtype": "test_reach"
The short description and the long description, some more information about material and if it can be
printed or not.
"short_description": "A5 notebook 96 plain sheets",
"long_description": "A5 notebook with hard PU cover. Casebound. 192 plain pages (96 s
heets). Matching elastic closure strap and ribbon page-marker.",
"material": "PU",
"green": "yes",
"printable": "yes",
"polybag": "no",
After this section all the variants of the product are listed, a product will have one or multiple variants,
containing colours and/or sizes. Images are available on variant level
9 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
"variant_id": "10168709",
"sku": "AR1804-03",
"release_date": "2015-01-01",
"product_proposition_category": "295",
"category_level1": "Office & Writing",
"category_level2": "Notebooks",
"category_level3": "Hard cover",
"color_description": "black",
"color_group": "black",
"plc_status": "16",
"plc_status_description": "COLLECTION",
"gtin": "8719941012868",
"color_code": "03",
"pms_color": "BLACK",
"digital_assets": [
{
"url": "https://cdn1.midocean.com/image/700X700/ar1804-03.jpg",
"url_highress": "https://cdn1.midocean.com/image/original/ar1804-03.jpg",
"type": "image",
"subtype": "item_picture_front"
},
{
"url": "https://cdn1.midocean.com/image/700X700/ar1804-03-back.jpg",
"url_highress": "https://cdn1.midocean.com/image/original/ar1804-03-back.jpg",
"type": "image",
"subtype": "item_picture_back"
}
The Print data file contains the specifics of printing of each single item in our collection, every time that there
is a change on the printing information of a product in our system the file is updated overnight. Printing Data
has the following features:
The Print Data Rest API has to be called at the following URL by making a GET call:
▪ https://api.midocean.com/gateway/printdata/1.0
NOTE:
Available in JSON and XML formats, by default output is in JSON.
Add a header with the key “Accept” and set the value depending on the wanted format, text/”format”
(text/json, text/xml)
The printdata file starts with a set of labels with the translations of each Printing Technique in the different
languages, so you will not need to make the translations as they can be picked up directly from the file.
10 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
<printing_technique_descriptions>
<printing_technique_description>
<id>B</id>
<name>
<cs>Ražba</cs>
<da />
<de>Prägung</de>
<en>Debossing</en>
<es>Termo grabado</es>
<fi>Kohokuviointi</fi>
<fr>Embossage</fr>
<hu>Dombornyomás</hu>
<it>Debossing</it>
<nl>Blinddruk</nl>
<pl>Tłoczenie</pl>
<pt>Impressão à quente</pt>
<ro>Debossing</ro>
<ru>Тиснение</ru>
<sv>Prägling</sv>
</name>
</printing_technique_description>
<printing_technique_description>
<product>
<master_code>AR1804</master_code>
<master_id>40000190</master_id>
<item_color_numbers>
<item_color_number>03</item_color_number>
<item_color_number>04</item_color_number>
<item_color_number>05</item_color_number>
<item_color_number>06</item_color_number>
<item_color_number>10</item_color_number>
<item_color_number>48</item_color_number>
<item_color_number>12</item_color_number>
<item_color_number>37</item_color_number>
</item_color_numbers>
After that information you will get an specific data about the printing options per item. Please, notice that in
this case the relation is N:1 as the printing information is the same for the different colours of an item. In this
case you can relate the Product Information file with the Printing Information file by the label “master_code”.
The tag “print_manipulation” specifices the manipulation group of an item, it can be A, B, C, D, E or Z (in
some cases if there is none the code will show as null)
If you search this letter code in the print pricelist file you can get the prices for the handling of a product.
<print_manipulation>Z</print_manipulation>
<print_template>https://printtemplates-v2.cdn.midocean.com/AR1804-print-
template.pdf</print_template>
The tags “print_template” contain a pdf with the different print position images which show the layout of the
print area, sizes and technique codes.
11 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
In case that there are several Print Positions in one item, you will see that reflecting on the file as different
“position_id” will be shown. Each one of them will have their specific Printing Techniques, Max. Print Size
and Max. Print Colours.
<printing_position>
<position_id>FRONT</position_id>
<print_size_unit>mm</print_size_unit>
<max_print_size_height>190.00</max_print_size_height>
<max_print_size_width>120.00</max_print_size_width>
<rotation>0.00</rotation>
<print_position_type>Rectangle</print_position_type>
<printing_techniques>
<printing_technique>
<default>false</default>
<id>TD</id>
<max_colours>0</max_colours>
</printing_technique>
<printing_technique>
<default>false</default>
<id>B</id>
<max_colours>1</max_colours>
</printing_technique>
<printing_technique>
<default>false</default>
<id>T1</id>
<max_colours>8</max_colours>
</printing_technique>
<printing_technique>
<default>true</default>
<id>S2</id>
<max_colours>4</max_colours>
</printing_technique>
<printing_technique>
<default>false</default>
<id>TR</id>
<max_colours>1</max_colours>
</printing_technique>
</printing_techniques>
This file also includes a <points> tag, it indicates the exact location of the printing points in pixels.
12 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
<point>
<distance_from_left>67</distance_from_left>
<distance_from_top>45</distance_from_top>
<sequence_no>1</sequence_no>
</point>
<point>
<distance_from_left>632</distance_from_left>
<distance_from_top>940</distance_from_top>
<sequence_no>2</sequence_no>
</point>
Then it links to the images used in each print position, one with printable area drawn and the other without.
API Pricelists
Product Pricelist 2.0
The output will be a complete file with the specific customer pricing (based on the api key on the input)
for the entire midocean Product assortment.
You will have to integrate the content of the output json file into your database.
The Print Pricelist API has to be called at the following URL by making a GET call:
▪ https://api.midocean.com/gateway/pricelist/2.0
Your API key needs to be added to the header of the GET call.
13 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
{
"currency": "EUR",
"date": "2023-10-31",
"price": [
{
"sku": "AR1249-16",
"variant_id": "10134325",
"price": "4,22",
"valid_until": "2024-01-31",
"scale": [
{
"minimum_quantity": "1000",
"price": "3,77"
},
{
"minimum_quantity": "500",
"price": "3,92"
},
{
"minimum_quantity": "250",
"price": "4,07"
},
{
"minimum_quantity": "1",
"price": "4,22"
}
]
},
Note that tier prices might or might not be available, depending on your region and account.
The Print Pricelist Rest API will return your specific midocean Print Prices.
You can the use the prices included to make your own printed orders using our Order Entry API.
The Print Pricelist Rest API has to be called at the following URL by making a GET call:
▪ https://api.midocean.com/gateway/printpricelist/2.0
NOTE:
Available in JSON, XML and CSV formats, by default output is in JSON
Add a header with the key “Accept” and set the value depending on the wanted format, text/”format”
(text/json, text/xml, text/csv)
Sample response:
The print pricelist starts with a header that shows the pricelist currency, validity date.
After that there’s a section with the different print manipulations prices and codes to relate to the printing
data information.
14 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
{
"currency": "EUR",
"pricelist_valid_from": "2023-10-31",
"pricelist_valid_until": "2023-12-15",
"print_manipulations": [
{
Next it shows the manipulation (handling) prices based on the code available in the Print Data in the field
“print_manipulation”
{
"code": "A",
"description": "Simple",
"price": "0,08"
},
The printing specific section, here you can check the ID based on info in Print Data file, the pricing type,
which defines the way that the prices are calculated for the print technique, calculation types can be found
in Appendix B
"print_techniques": [
{
"id": "B",
"description": "Embossing",
"pricing_type": "NumberOfPositions",
"setup": "60,00",
"setup_repeat": "20,00",
"next_colour_cost_indicator": "false",
"var_costs": [
{
"range_id": "",
"area_from": "0",
"area_to": "0",
"scales": [
{
"minimum_quantity": "1",
"price": "1,56",
"next_price": ""
},
{
"minimum_quantity": "50",
"price": "0,94",
"next_price": ""
},
{
"minimum_quantity": "100",
"price": "0,81",
"next_price": ""
},
General explanation of Scales: Scales are based on the item quantity. If you find the scales 1, 50, 100,
… in the file and your item quantity is 60, you have to use the price of scale 50.
General explanation of Manipulation cost: In your calculation you have to multiply the item quantity with
the corresponding cost of the manipulation for that item.
The way print prices need to be calculated is described in the former chapter.
15 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Number of Print prices are based on the number of Price calculation in case of a 4 colors logo with
colours colors of the logo. next_colour_cost_indicator=’ ’ =
If next_colour_cost_indicator=’X’ than the price_1st * 4 * item-quantity
2nd and next colors have another price Price calculation in case of a 4 colors logo with
(price_next) next_colour_cost_indicator=’X’ =
price_1st * 1 * item-quantity + price_next * 3 * item
quantity
AreaRange Print prices are assigned depending on the Price calculation in case of a 6 cm2 Logo with
print area to be used (surface / cm2 of the print technique Embroidery = 2,162 * item-quantity
logo to be printed). There are different price
ranges depending on the area. Once the
range is located you can use the price
assigned (there is no need to multiply it by
the logo area size). See example of
technique E:
ColourAreaR Print prices are based on the combination of print-price (selection of range based on area cm2)
ange Area ranges and colors of the logo. * number-of-colors * item-quantityea and price
(Selection of area range depending on the multiplied by the number of colors of the logo).
area and price multiplied by the number of
colors of the logo).
Special calculation for Printing Technique id ST: For this technique, there is a difference in the
calculation between white items and colored items. In the calculation you have to add 1x price_next * item -
quantity extra in case of colored items. The reason behind this extra cost for non-white items is that an
extra white layer needs to be printed before printing the actual logo to get the right quality and expected
result.
You can find Appendix B with a table that contains a sample calculation for each pricing type.
16 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
By using this API, the Distributors of midocean will be able to place orders directly to the midocean SAP
Logistics System. Placing an order using this method will have the same response as of placing it through
our Customer Care Agents or by placing the order on the midocean Webshop.
The types of orders that can be placed using this Service are:
▪ Normal Orders
o Unprinted with no quantity limit
▪ Print Orders
o Printed with no quantity limit
▪ Sample Orders
o Unprinted with 5 piece per line limit
NOTE: It’s not possible to combine different types of orders in the same order request.
IMPORTANT TO AVOID ERRORS: The body of the request has to use (“) in between all fields even if
they are numerical due to system limitations, for example “order_line_id”:”1”
Depending on your expertise with the creation and design of proofs, you can arrange with your Sales
Manager to directly be able to submit your confirmed artworks without having to go through the process of
validation, waiting for proof creation and having to check the proofs, which will make the whole process
faster and easier.
Once the order is placed in the midocean system the only way to cancel it or modify it is by direct contact
with our Customer Care Agents.
Notice that to make use of this service the following files need to be integrated in your system:
▪ Normal/Sample orders:
o Stock Information
o Product Information
o Pricing Information
▪ Print orders:
o Stock Information
o Product Information
o Printing Information
o Pricing Information
o Print Pricing Information
Just once the above mentioned files are integrated; it is then possible to make full use of the Order Entry
Rest API
Before explain the format of the Input for the Order Entry 2.1, it is important that in order to minimise errors
a pre-stock check tool is used on the Distributor Website or ERP to avoid placing orders for which the
stock cannot be fulfilled. This can be simply done by integrating the Stock file and doing a simple check at
the order entry stage.
The Order Entry Rest API has to be called at the following URL by making a POST call:
▪ https://api.midocean.com/gateway/order/2.1/create
Fields Appendix
Here’s a list of the fields that are specified in the Order Entry 2.0 POST call along with explanations .
Mandatory fields need to have values, (e.g. printing_technique_id: “S2”,)
If a field is not specified to be mandatory it can have an empty value, (e.g. po_number: “”,)
17 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Regular fields
order_header
➢ check_price
Can be set to true or false.
o If set to true, the system will check the price specified in “expected_price” and if there’s a
mismatch with the prices calculated by our systems the order entry is cancelled.
o If set to false, the system automatically applies the price based on the product
information provided and doesn’t consider the “expected_price”.
➢ timestamp
YYYY-MM-DD followed by a T and the HH:MM:SS. (e.g. 2023-03-20T08:17:00).
➢ currency
Your prices currency
➢ po_number:
Here you can enter a purchase order number in order to reference your order.
Note that the API blocks the order entry if it detects that you use the same po_number for a
different order as to avoid duplicated orders.
➢ contact_name
➢ contact_email
shipping_address
➢ order_type
Choose if the order is unprinted “NORMAL”, a sample “SAMPLE” or has printing “PRINT”
➢ preferred_shipping_date
If you prefer to have the order delivered on a specific date you can specify it here. If set to a
previous date than the order the field won’t be used and the order will be delivered always as
soons as possible. Optional field, if left empty the first system date will be used
YYYY-MM-DD | Ex: 2023-03-20
➢ country
Set the shipping destination country code, i.e. ES, FR, NL, etc.
NOTE: Depending on your account’s region the number of countries you can ship to is limited
For more information on which countries allowed for your sales organization please contact your
regular midocean salesperson.
The list of countries is 1 to 1 the same as in the webshop so you can check your allowed region
shipping destinations in My account > Saved addresses.
order_lines
➢ order_line_id
If an order has multiple lines then each line uses unique ID, you can assign any number here.
As many order lines as wanted can be added (up to a Max of 50 items per order). This number
will be replaced by midocean order line numbers in our system.
18 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
The product specific variant SKU which is the {master code}-{variant code}, for textiles it’s
{master_code}-{variant_code}-{size_code}
“sku” field in product information 2.0
➢ expected_price
Can be set to 0 always if “check_price” is set to false since the calculation is done by our
systems.
If “check_price” is set to true you have to specify the total price of the order line here.
➢ print_size_height
➢ Area height in mm, must be lower than the maximum height size
“max_print_size_height” field in print data 1.0
➢ print_size_width
Area width in mm, must be lower than the maximum width size
“max_print_size_width” field in print data 1.0
➢ printing_technique_id
ID of the print technique
“position_id” field in print data 1.0
➢ number_of_print_colours
The number of colours that your logo has
“max_colours” fields in print data 1.0
NOTE: Techniques with “0” “max_colours” have no limit on number of colours
➢ print_artwork_url
URL in which the logotype to be printed can be found.
➢ print_mockup_url
URL in with the representation / indications of the logotype position in the print area
➢ print_instruction
Instructions for our pre-press department (Max. 300 characters)
➢ color
Pantone colours that the logotype will be printed with (Max. 12 characters)
Note that the number of “color” specified depends on the “number_of_print_colours”
➢ item_color_number
The code of the variant
“variant_color” in print data 1.0 OR “color_code” field in product information 2.0
19 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Regular Order
These are the usual order types, plain and unprinted, they can have multiple lines.
NOTE: It’s not possible to order textile products with NORMAL orders, use SAMPLE or PRINT instead.
Here’s an example of the format for a NORMAL order with one line:
{
"order_header":{
"preferred_shipping_date":"2024-05-01",
"currency":"EUR",
"contact_email":"contact e-mail",
"check_price":"false",
"shipping_address":{
"contact_name":"Contact name",
"company_name":"Company name",
"street1":"Street",
"postal_code":"Postal code",
"city":"City",
"region":"",
"country":"NL",
"email":"contact e-mail",
"phone":"phone"
},
"po_number":"your order reference",
"timestamp":"2024-04-24T00:00:00",
"contact_name":"Contact name",
"order_type":"NORMAL"
},
"order_lines": [
{
"order_line_id": "",
"sku": "KC3314-32",* Mandatory Field
"variant_id": "10144631", * Mandatory Field
"quantity": "1",* Mandatory Field
"expected_price": "0"
}
]
}
20 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Print Order
With print orders you can specify the printing configuration for each product print position for each order
line and also order multiple variants (colors or sizes) in the same line.
You can’t combine printed and unprinted in the same order request.
NOTE: To make printed orders it’s needed to integrate the Print Data and Print Pricelist APIs to get the
details.
Here’s an example of the format for a PRINT order with one line :
{
"order_header":{
"preferred_shipping_date":"2024-05-01",
"currency":"EUR",
"contact_email":"contact e-mail",
"check_price":"false",
"shipping_address":{
"contact_name":"Contact name",
"company_name":"Company name",
"street1":"Street",
"postal_code":"Postal code",
"city":"City",
"region":"",
"country":"NL",
"email":"contact e-mail",
"phone":"phone"
},
"po_number":"your order reference",
"timestamp":"2024-04-24T00:00:00",
"contact_name":"Contact name",
"order_type":"PRINT"
},
"order_lines": [
{
"order_line_id": "10",
"master_code": "AR1804",* Mandatory Field
"quantity": "", * Mandatory Field
"expected_price": "",
"printing_positions": [
{
"id": "FRONT",* Mandatory Field
"print_size_height": "24",* Mandatory Field
"print_size_width": "45",* Mandatory Field
"printing_technique_id": "S2",* Mandatory Field
"number_of_print_colors": "1",* Mandatory Field
"print_artwork_url": "https://www.url.com/logo",*
Mandatory Field
21 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
"print_mockup_url": "https://www.url.com/mockup",
"print_instruction": "None",
"print_colors": [
{
"color": "PMS 0 C"
}
]
}
],
"print_items": [
{
"item_color_number": "05",* Mandatory Field
"quantity": "10"* Mandatory Field
}
]
}
]
}
Sample Order
These type of orders and Normal orders are structurally almost the same, difference is that these orders are
locked to 5 pieces or less for each line and that you can order unprinted textile with these.
They also can’t have printing
NOTE: With sample orders you can order unprinted textile, but only up to 5 pieces.
{
"order_header": {
"check_price": "",
"proof_approved": "",
"timestamp": "",
"currency": "",
"po_number": "",
"contact_name": "",
"contact_email": "",
"shipping_address": {
"contact_name": "Name",* Mandatory Field
"company_name": "",
"street1": "Address",* Mandatory Field
"postal_code": "0000",
"city": "City",* Mandatory Field
"region": "Region",
"country": "ES", * Mandatory Field
22 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
"email": "[email protected]",
"phone": "000000000"
},
"po_number":"your order reference",
"timestamp":"2024-04-24T00:00:00",
"contact_name":"Contact name",
"order_type":"SAMPLE" * Mandatory Field
},
"order_lines": [
{
"order_line_id": "1",
"sku": "KC3314-32", * Mandatory Field
"quantity": "1",* Mandatory Field
"expected_price": "0"
}
]
}
Order Response
After the POST request is made our systems will respond with the “status_code” and “status_text” to
indicate if the order went through or failed. To check on possible error resolutions go here.
Response for all types of orders is the same, only difference is for PRINT orders the print costs will show a
the price, for the rest they will be at 0.
In this example you can see the response to the PRINT order that we set as example, at the header the
prices are indicated. The rest of the response is just the order details we specified on the request.
23 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
{
"order_header": {
"status_code": "0",
"status_text": "Sales order successfully created",
"direct_confirmation": "",
"proof_approved": "false",
"check_price": "false",
"currency": "EUR",
"po_number": "test order 2.0",
"order_type": "PRINT",
"order_number": "2623021",
"total_item_price": "68,00",
"total_print_costs": "208,40",
"total_net_price": "297,35",
"freight_charge": "16.000000000 ",
"tax": "68,39",
"print_setup": "140,00",
"print_cost": "67,40",
"print_handling": "1,00",
"shipping_address": {
"contact_name": "Name",
"company_name": "Company",
"street1": "Address",
"street2": "",
"street3": "",
"postal_code": "0000",
"city": "City",
"region": "Region",
"country": "ES",
"email": "[email protected]",
"phone": "000000000"
}
},
Error Resolutions
When making an order through the API it is possible that the system exports an error with a message.
Usually the responds with “status_code” 99 and the error itself is explained in the “status_text” field.
The message usually is pretty self-explanatory but for some cases here, is a list.
IMPORTANT TO AVOID ERRORS: The body of the request has to use quotes (“) in between all fields
even if they are numerical due to system limitations, for example “order_line_id”:”1”
Insufficient stock
The product set on the order request doesn’t have enough stock, or the preferred shipping date is set too
soon for the stock to arrive to the warehouse.
To check stock availability, you can import the stock file
{
"order_header": {
"status_code": "999",
"status_text": "Insufficient stock",
"direct_confirmation": "",
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
You can bypass the need to set a different po_number for each order by leaving the field empty
For more information on which countries allowed for your sales organization please contact your regular
midocean salesperson.
The list of countries is 1 to 1 the same as in the webshop so you can check your allowed region shipping
destinations in My account > Saved addresses.
In this example the highlighted fields are not quoted which causes this error
For errors related with the general integration with the API you can check Appendix C
By using this API the Distributors of midocean will be able to retrieve all order information, details and
updated tracking from any order they already placed in the system
The Order details & tracking Rest API has to be called at the following URL by making a GET call:
▪ https://api.midocean.com/gateway/order/2.1/detail?order_number=Order Number
*Change the “Order Number” part for the specific order number to check
25 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
The OUPUT will be a file with the updated order details from midocean systems, here’s an example
response:
First part, the order_header gives details about the order, the customer and the shipping address.
For instance the order creation,date, the order status which can be “OPEN”, “COMPLETED” or “CLOSED”
order found by the call and the customer that made it as well as about the shipping address, the creation
date, the sales organization of the customer(see Sales organizations table), the order status, etc.
"order_header": {
"order_found": "true",
"order_number": "2622891",
"order_date": "2023-08-10",
"order_status": "OPEN",
"sales_org": "0101",
"currency": "EUR",
"customer_number": "80865772",
"contact_person": "Customer Care",
"po_number": "test order 2.0",
"order_type": "PRINT",
"shipping_address": {
"company_name": "Company",
"contact_name": "Name",
"street1": "Address",
"street2": "",
"postal_code": "0000",
"city": "City",
"region": "",
"country": "ES",
"email": "[email protected]",
"phone": "000000000"
Order pricing & transport details – This next section shows the total: product, printing, discount,
transport and tax prices. It also displays the transport mode (Standard or Express) and the incoterms.
26 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
"total_item_price": "111.0",
"discounts": "0.0",
"total_print_costs": "96.0",
"freight_charge": "24.95",
"total_net_price": "231.95",
"tax": "0.0",
"total_gross_price": "231.95",
"incoterms": "DAP",
"delivery_service": "STANDARD"
"order_lines": [
{
"order_line_id": "100",
"master_code": "AR1804",
"master_id": "40000190",
"quantity": "1",
"item_price": "0.0",
"print_setup": "50.0",
"print_cost": "5.76",
"print_handling": "0.24",
"proof_url": "",
"shipping_status": "OPEN",
"proof_status": "InProgress",
"shipping_date": "2023-08-22",
"print_items": [
{
"sku": "AR1804-03",
"variant_id": "10168709",
"quantity": "6",
"item_price": "1.2"
}
],
"printing_positions": [
{
"id": "FRONT",
"print_size_height": "190",
"print_size_width": "120",
"printing_technique_id": "B",
"number_of_print_colors": "1"
Notes:
By using this API the Distributors of midocean will be able to confirm an existing proof on an order. This
API can only be used on proofs that have status “WaitingApproval” returned from the Order Detail API.
27 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
The Approve Proof Rest API has to be called at the following URL by making a POST call:
➢ https://api.midocean.com/gateway/proof/1.0/approve
{
"order_number": "xxxxxxx",
"order_line_id": "100"
}
Where “order_number” and “order_line_id” specify the affected order/order line combination, numbers to
be used are provided in the order detail API response.
Expected OUTPUT for successful calls is 200 status code and proof status changed to “Approved” in
Order Detail API.
Reject Proof 1.0
By using this API the Distributors of midocean will be able to reject an existing proof on an order. This API
can only be used on proofs that have status “WaitingApproval” returned from the Order Detail API.
The Reject Proof Rest API has to be called at the following URL by making a POST call:
➢ https://api.midocean.com/gateway/proof/1.0/reject
{
"order_number": " xxxxxxx",
"order_line_id": "100",
"rejection_code": 3,
"rejection_comment": "Your rejection comments or instructions here",
"additional_files": ["https://www.url.com/file1",
"https://www.url.com/file2", “…”],
"new_artworks": ["https://www.url.com/artwork1",
"https://www.url.com/artwork2", “…”],
}
Where:
• “order_number” and “order_line_id” specify the affected order/order line combination, numbers to
be used are provided in the order detail API response.
• “rejection_code” refers to the numeric code of the rejection reason to be used (see Appendix E
for full table)
• “rejection_comment” is a placeholder for any additional instructions that you would like to give to
prepress department
• “additional_files” and “new_artworks” are arrays that you can fill with different URLs for
instructions (additional_files) or new artworks (“new_artworks” in combination with rejection
reason “Change artwork”).
Expected OUTPUT for successful calls is 200 status code and proof status changed to “InProgress” in
Order Detail API.
28 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
By using this API the Distributors of midocean will be able to submit an artwork to be used by prepress to
prepare a new proof for an order. This API can only be used on proofs that have status “ArtworkRequired”
returned from the Order Detail API.
The Reject Proof Rest API has to be called at the following URL by making a POST call:
➢ https://api.midocean.com/gateway/proof/1.0/addartwork
{
"order_number": " xxxxxxx",
"order_line_id": "100",
"position_name": "ROUNDSCREEN",
"artwork_url": "https://www.url.com/artwork"
}
Where:
• “order_number” and “order_line_id” specify the affected order/order line combination, numbers to
be used are provided in the order detail API response.
• “position_name” refers to the print position where the artwork will be used, provided in the order
detail API response.
• “artwork_url” is a unique URL with the artwork to be used
Expected OUTPUT for successful calls is 200 status code and proof status changed to “InProgress” in
Order Detail API.
For testing the communication with our Rest API, you can have a look at Postman.
Postman is collaboration platform for API development which is available in open source on Windows,
Linux and Mac OS.
Website: https://www.postman.com/
When testing with our Rest API it is handy to have a test environment available.
Instead of using live URLs (located at https://api.midocean.com) you may use our test environment,
reachable at https://apitest.midocean.com.
(NOTE: You have to request a separate key to use this environment)
Here’s a quick guide of how to create and manage your Postman Rest API calls.
29 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
▪ To add the API calls follow same procedure, but select HTTP Request
▪ Once created you can change the name to know which API it is,
in this example we create a request for Product Information file, but the procedure is the same for
all files, just changing the link.
▪ In the request URL type the url of the specific request you are going to make, in this case:
https://api.midocean.com/gateway/products/2.0?language=en
▪ Press on the Save button to save the HTTP Request, set a name to identify which call you’re
making, then select the collection you created and click save to add it in the collection folder
30 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
▪ Now last step is to add the authorization, meaning the Rest API key.
To do that select the Authorization tab
▪ Key: x-Gateway-APIKey
▪ Value: (your Rest API key)
▪ Key: Accept
▪ Value:
▪ text/xml - to request in xml
▪ text/json - to request in json
▪ Now save the call and click on Send to request the data, and that’s it! Later on the guide we’ll
present you the many options for API information and service calls you can make.
31 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
To obtain the JSON Postman collection, customers need to access the Midocean website.
▪ Navigate to the Customer API section and click on 'Download Postman Collection'."
After successfully downloading the Postman Collection as a ZIP file from the Midocean website, proceed
with the following:
▪ Extract the contents of the ZIP file on your computer's file system.
To import the extracted JSON file into the Postman application, adhere to the subsequent steps:
▪ Access the "File" menu situated at the top-left corner of the Postman interface.
32 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
▪ Drag and drop the JSON file into the designated import area within the Postman interface.
▪ Once successfully imported, the Postman collection is readily accessible within the Postman
application:
▪ Navigate to the "Collections" tab situated in the sidebar of the Postman interface.
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
After configuring the collection within Postman, it's imperative to authenticate your requests by integrating
your unique API Key:
▪ Replace the placeholder text with your personal API Key provided by Midocean.
With your API Key successfully integrated, you're now equipped to initiate requests to the API endpoint:
▪ Ensure all necessary parameters are appropriately configured within the request.
▪ Observe the response status and data returned to verify successful communication with the
Midocean API
34 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
To obtain the JSON Postman collection URL, customers need to follow next steps.
▪ Access the "File" menu situated at the top-left corner of the Postman interface.
▪ After opening the import window, copy the following URL and paste it into the Postman
▪ https://midocean.com/midoceanAPI
▪ Once successfully imported, the Postman collection is readily accessible within the Postman
application:
▪ Navigate to the "Collections" tab situated in the sidebar of the Postman interface.
35 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
After configuring the collection within Postman, it's imperative to authenticate your requests by integrating
your unique API Key:
▪ Replace the placeholder text with your personal API Key provided by midocean.
With your API Key successfully integrated, you're now equipped to initiate requests to the API endpoint:
▪ Ensure all necessary parameters are appropriately configured within the request.
▪ Execute the request by clicking the "Send" button.
▪ Observe the response status and data returned to verify successful communication with the
midocean.
36 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
This error means that communication to the API service is not available or that there are connection
issues, this can be for many reasons:
This error means that the authorization to make the request is not working, can happen for the following
reasons:
▪ The Rest API Key is invalid or doesn’t have the right API permissions.
o Solution: From the Webshop, go to Account > Customer API and click on “Request
new API key” button to request an API key.
Select the missing APIs and click on “Subscribe” to gain permission to
access the calls.
▪ Make sure you’re using the right API key for the right environment, Test and Production use
different keys.
Both errors usually mean the endpoint URL is not correct | List of API endpoint URLs found here.
37 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Code Description
1 This is a repeat order
2 Change the print technique
3 The logo looks blurred
4 The proof is not according to my expectations
6 Change the imprint size
8 Change the logo
9 Move logo or artwork within selected position
10 Change the print position
11 Change the number of imprint colours
12 Change the item colour
13 Change the imprint colour
14 Remove or change part of the logo
15 Change the item quantity
16 I'd like to approve a previous proof version
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.
Customer Manual
Below is a table that contains examples of calculations for each pricing type. If a cell is colored grey, it
means that for that pricing type that information is not important.
Pricing Sample Prices Quantity Nr. of cm2 Nr. of Setup cost Printing cost Handling cost Total print
Type Colors Positions cost
Number Setup cost = 29,25 100 3 12 1 29,25 * 3 (100 * 0,16 * 3) 0,05 * 100 = 5 88,5 + 48 + 5 =
of Print cost 1st colour = 0,16 colors = 88,5 = 48 141,5
colours Print cost Next colour = 0,8
Handling A = 0,05
Colour Setup cost = 31,5 350 5 Up to 1 31,5 * 5 colors (350 * 0,44) + 0,05 * 350 =17,5 157,5 + 476 +
Area Print cost Range A 1st colour 150 = 157,5 (350 * 0,23 * 4) 17,5 = 651
Range = 0,44 = 476
Print cost Range A Next
colour = 0,23
Handling A = 0,05
Area Setup Costs = 29,5 350 4 5 2 29,5 350 * 1,64 = 574 0,05 * 350 = 17,5 (29,5 + 574 +
Range Printing Costs Range A= 1,64 17,5) * 2 =
Printing Costs Range B= 1,86 1242
Printing Costs Range D= 2,21 350 4 10 2 29,5 350 * 1,86 = 651 0,05 * 350 = 17,5 (29,5 + 651 +
Handling A = 0,05 17,5) * 2 =
1396
350 4 25,01 2 29,5 350 * 2,21 = 0,05 * 350 = 17,5 (29,5 + 773,5
773,5 + 17,5) * 2 =
1641
Number Setup Costs = 45 250 4 25 3 45 250 * 0,48 = 120 0,14 * 250 = 35 (45 + 120 +
of Printing Costs = 0,48 35) * 3 = 600
positions Handling C = 0,14
39 Version 1.12.1
Confidential Information - Property of Midocean BV - For dissemination among Midocean employees and authorized representatives. This
document is confidential, may be protected by legal privilege, represent proprietary information, or be otherwise protected from disclosure.
This document and all content, artwork, photographs, names, logos and marks contained in it are protected by c opyright, trademarks and
other intellectual property rights owned by Midocean BV. This document must not be used, copied or reproduced in whole or in part for any
purposes without the consent of Midocean BV.