ETIM-Mapper RESTful API 3.18 documentation for suppliers


Introduction

The purpose of the document is to define the communication principles of the ETIM-Mapper application with systems of external companies. The external systems should develop their own RESTful API that allows the mutual access to the available resources of both sides. Both API interfaces should work according to the same principles described below.


Communication

In order to use the RESTful API, the client sends an HTTPS request to the server. The server parses the request and sends a response. The response code and its structure for each resource are described in the detailed specification below. The format of the answer is JSON. The API provides GET, PUT and DELETE requests. GET is used to read data from the server, PUT to update data on the server (create or modify), and DELETE to remove the existing data from the server. Not all resources must have all types of requests (see the specification for details).

The application uses the 24-hour Central European Time (CET). All queries in the API should be given in the CET time.


URL format

https://etim-mapper.com/api/company/resource

Example (request refers to products of the XYZ company):

https://etim-mapper.com/api/XYZ/products


Authentication

Each request requires authentication, which is performed using the HTTP basic authentication method. The header contains the authentication data in the form "Basic username:password" where the phrase "username:password" is Base64 encoded. Username and password are set individually for each external system.


List of all IDs of products | ETIM-Mapper API: products

https://etim-mapper.com/api/XYZ/products?limit={limitOfProductsOnPage}&page={pageNumber}

Method: GET

The request is sent by an external system. ETIM-Mapper responds by sending products IDs and their last modification date (according to specified limit and page).

Parameters of the request:

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/products?limit=100&page=2" -u XYZ:password

Example of response (JSON):

[ { "productId":"XYZ123", "lastModifiedDate":"2018-01-02 10:17:23" }, ... ]

Fields description:

Filter products | ETIM-Mapper API: products

https://etim-mapper.com/api/XYZ/products/filter?wildcards={filteringWithWildcards}&limit={limitOfProductsOnPage}&page={pageNumber}

Method: GET

The request is sent by an external system. ETIM-Mapper responds by sending IDs of the products that meet the filter conditions and their last modification dates (according to specified limit and page).

Parameters of the request:

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/products/filter" -u XYZ:password -H "Content-Type: application/json" --data-binary "@filterData.json"

The filterData.json file example:

{ "descriptionShort":{ "pl":"kana" }, "labels":{ "names":[ "Sold", "Gold" ], "selection_type":"at_least_one" }, "totalDescriptionCompleteness":{ "from":"20", "to":"40" }, "lastModifiedDate":{ "from":"2018-08-28 22:13:49" }, "creationDate":{ "to":"2016-06-01 00:00:00" } }

Description of filter fields:

Example of response (JSON):

[ { "productId":"XYZ123", "lastModifiedDate":"2018-01-02 10:17:23" }, ... ]

Fields description:

Get specified product(s) data | ETIM-Mapper API: products

https://etim-mapper.com/api/XYZ/products

Method: GET

Request is sent by an external system. ETIM-Mapper responds with the detailed information of the specified product(s). It is necessary to send the list of product IDs (as a JSON data) that you want to get. You can request by default up to 100 products in this way.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/products" -u XYZ:password -H "Content-Type: application/json" --data-binary "@productsIDs.json"

The productsIDs.json file example:

[ "XYZ123", "XYZ124" ]

Example of response (JSON):

[ { "productId":"XYZ123", "lastModifiedDate":"2018-01-02 10:17:23", "modifiedBy":"user2", "lastModifiedDateByType":{ "general":[ "date":"2018-01-02 10:17:23", "modifiedBy":"user2" ], "etim":[ "date":"2017-09-14 12:45:04", "modifiedBy":"user1" ], ... }, "creationDate":"2017-03-01 09:34:24", "createdBy":"user1", "overallInformation":{ "gtin":"1111111111111", "upc":"222222222222", "altPid":"123ABC", "descriptionShort":{ "pl":"XYZ nazwa123", "en":"XYZ name123", ... }, "descriptionLong":{ "pl":"XYZ opis szczeg\u00f3\u0142owy 123", "en":"XYZ detailed description 123", ... }, "descriptionVeryShort":{ "pl":"XYZ-n123", "en":"XYZn123", ... }, "tenderText":{ "pl":"XYZ nazwa123 - prawdopodobnie najlepszy produkt na rynku", "en":"XYZ nazwa123 - probably the best product on the market", ... }, "manufacturerName":"AA", "manufacturerPid":"12", "manufacturerTypeDesc":{ "pl":"pl123", "en":"en123", ... }, "manufacturerAcronym":"BB", "manufacturerAltPid":"AA12", "brandName":"XYZ", "productSeries":{ "pl":"seria 1", "en":"serie 1", ... }, "productVariation":{ "pl":"typ 12", "en":"type 12", ... }, "regionOfOrigin":"PL-LD", "countryOfOrigin":"PL", "productToStock":"true", "validFrom":"2016-01-01", "expirationDate":"2020-01-01", "netVolume":"0.03", "netWeight":"12", "netLength":"1", "netWidth":"0.3", "netDepth":"0.1", "netDiameter":"1", "discountGroupManufacturer":"KL", "discountGroupSupplier":"KK", "bonusGroupSupplier":"K1", "keyword":{ "pl":[ "s\u0142owo kluczowe 1", "s\u0142owo kluczowe 2", "s\u0142owo kluczowe 3", ... ], "en":[ "keyword 1", "keyword 2", "keyword 3", ... ], ... }, "remark":{ "pl":[ "uwaga1", "uwaga2", ... ], "en":[ "remark1", "remark2", ... ], ... }, "productStatus":{ "pl":[ { "type":"core_product", "value":"Asortyment podstawowy" }, { "type":"new", "value":"Fabrycznie nowy" }, ... ], "en":[ { "type":"core_product", "value":"Core product" }, { "type":"new", "value":"Brand new" }, ... ], ... }, "specialTreatmentClass":[ { "type":"MSDS", "value":"true" }, { "type":"ECCN", "value":"3A001" }, ... ], "countryBranchNumber":[ { "value":"00123456", "type":"electrical", "country":"PL", "supplierId":"6543" }, { "value":"00321654", "type":"electrical", "country":"DE", "supplierId":"8765" }, ... ], "reverseChargeInfo":"false", "pkwiu":"11.22.11.0", "additionalPriceFactor":"0.95", "additionalFactorInfo":{ "pl":"promocja sezonowa", "en":"season discount", ... }, "surchargePriceAmount":"0.01", "reachInfo":"true", "reachListDate":"2015-01-01", "customsNumber":"12" }, "etimDescription":{ "version":"7", "classId":"EC000722", "features":{ "EF002169":"EV000179", "EF000025":"false", "EF001742":[ "2", "4.5" ], "EF001438":"80", "EF000007":"", "EF000116":"NA", "EF006007":"UN", ... } }, "orderInformation":{ "orderUnit":"LTR", "contentUnit":"LTR", "noCuPerOu":"1", "priceQuantity":"1", "quantityMin":"1", "quantityInterval":"1" }, "packingInformation":[ { "packingUnitCode":"CT", "quantityMin":"1", "quantityMax":"2", "volume":"1", "weight":"1", "length":"1", "width":"1", "depth":"1", "diameter":"1", "packingUnitName":{ "pl":"pak", "en":"f-pak", ... }, "packageBreak":"false", "packingParts":"1", "gtin":"1111111111111", "gs1_128":"(01)01234567890128(15)051231", "packingProductId":"PACK123" }, ... ], "priceInformation":[ { "priceType":"net_list", "priceAmount":"7.22", "priceCurrency":"EUR", "tax":"0.19", "lowerBound":"1", "territory":[ "FR", "DE", ... ], "validStartDate":"2016-06-01", "validEndDate":"2018-06-01", "priceFactor":"0.9" }, ... ], "mime":[ { "mimeCode":"MD01", "mimeSource":{ "pl":"https://files.etim-mapper.com/zdjecie1", "en":"https://files.etim-mapper.com/zdjecie1", ... }, "mimeFilename":{ "pl":"zdjecie1.jpg", "en":"zdjecie1.png", ... }, "mimeDesignation":{ "pl":"Główne zdjęcie produktu", "en":"Main product picture", ... }, "mimeAlt":{ "pl":"zdjecie produktu XYZ123", "en":"picture of product XYZ123", ... } }, ... ], "relatedProducts":[ { "relatedProductId":"ABC123", "relationType":"accessories", "quantity":"1", "description":{ "pl":"akcesorium do produktu", "en":"product accessory", ... } }, ... ], "additionalTechnicalDescription":{ "tech data 1 name":"tech data 1 value", "tech data 2 name":"tech data 2 value", ... }, "additionalAttributes":{ "A1":{ "pl":"wartosc", "en":"value", ... }, "L2":"false", "N3":"5.2", "A4":{ "pl":"", "en":"", ... }, ... }, "relationsByAttribute":[ "relation1", "relation2", ... ], "categories":{ "leaves":{ "TC1":[ "C1", "SC5", ... ], ... }, "paths":{ "TC1":[ "/C1", "/C5/SC5", ... ], ... }, "descriptionCompleteness":{ "TC1":"83", ... } }, "descriptionCompleteness":{ "totalDescriptionCompleteness":"90", "generalDescriptionCompleteness":"80", "etimDescriptionCompletentess":"95", "orderDescriptionCompleteness":"100", "packingDescriptionCompleteness":"100", "priceDescriptionCompleteness":"91", "mimeDescriptionCompleteness":"80", "attributesDescriptionCompleteness":"80", "totalDescriptionCompletenessUserDefined":"86", "generalDescriptionCompletenessUserDefined":"81", "etimDescriptionCompletentessUserDefined":"85", "orderDescriptionCompletenessUserDefined":"100", "packingDescriptionCompletenessUserDefined":"100", "priceDescriptionCompletenessUserDefined":"70", "mimeDescriptionCompletenessUserDefined":"85", "attributesDescriptionCompletenessUserDefined":"75" }, "labels":[ "label1", "label2", ... ] }, { "productId":"XYZ124", "lastModifiedDate":"2018-01-02 11:34:22", ... } ]

Fields description:

Get specified product(s) data in a language-dependent version | ETIM-Mapper API: products

https://etim-mapper.com/api/XYZ/products?lang={langId}

Method: GET

Request is sent by an external system. ETIM-Mapper responds with the detailed information of the specified product(s). All the coded information is sent in the requested language. It is necessary to send the list of product IDs (as a JSON data) that you want to get. You can request by default up to 100 products in this way.

Required parameter of the request:

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/products?lang=en" -u XYZ:password -H "Content-Type: application/json" --data-binary "@productsIDs.json"

The productsIDs.json file example:

[ "XYZ123", "XYZ124" ]

Example of response (JSON):

[ { "productId":"XYZ123", "lastModifiedDate":"2018-01-02 10:17:23", "modifiedBy":"user2", "lastModifiedDateByType":{ "general":[ "date":"2018-01-02 10:17:23", "modifiedBy":"user2" ], "etim":[ "date":"2017-09-14 12:45:04", "modifiedBy":"user1" ], ... }, "creationDate":"2017-03-01 09:34:24", "createdBy":"user1", "overallInformation":{ ... }, "etimDescription":{ "version":"7", "classId":"On-floor installation duct (EC000722)", "groupId":"Cable trunking systems for wall and ceilings (EG000006)", "features":{ "Material":"Steel", "Halogen free":"false", "Working temperature":[ "2", "4.5" ], "Length":"80", "Colour":"", "RAL-number":"Not applicable", ... } }, ... }, ... ]

The rest of the response is similar as in the above section (except of other coded values, like for order and packing units; for example, carton instead of CT or litre instead of LTR).

Update/write data of specified product(s) | ETIM-Mapper API: products

https://etim-mapper.com/api/XYZ/products?new={newProductsOption}&existing={existingProductsOption}&empty={emptyOverwritesExistingFields}

Method: PUT

Request is sent by an external system. ETIM-Mapper writes the received information in its database and responds with a short report. Only string values (delimited by double quotes) are accepted. Also numbers should be transfered as strings delimited by quotations marks. Strings should not contain spaces at the beginning and at the end (such spaces will be anyway skiped/trimmed when importing).

Parameters of the request:

Example of request (curl):

curl -X PUT "https://etim-mapper.com/api/XYZ/products" -u XYZ:password -H "Content-Type: application/json" --data-binary "@productsData.json"

The productsData.json file example:

[ { "productId":"XYZ123", "overallInformation":{ "gtin":"1111111111111", "upc":"222222222222", "altPid":"123ABC", "descriptionShort":{ "pl":"XYZ nazwa123", "en":"XYZ name123", ... }, "descriptionLong":{ "pl":"XYZ opis szczeg\u00f3\u0142owy 123", "en":"XYZ detailed description 123", ... }, "descriptionVeryShort":{ "pl":"XYZ-n123", "en":"XYZn123", ... }, "tenderText":{ "pl":"XYZ nazwa123 - prawdopodobnie najlepszy produkt na rynku", "en":"XYZ nazwa123 - probably the best product on the market", ... }, "manufacturerName":"AA", "manufacturerPid":"12", "manufacturerTypeDesc":{ "pl":"pl123", "en":"en123", ... }, "manufacturerAcronym":"BB", "manufacturerAltPid":"AA12", "brandName":"XYZ", "productSeries":{ "pl":"seria 1", "en":"serie 1", ... }, "productVariation":{ "pl":"typ 12", "en":"type 12", ... }, "regionOfOrigin":"PL-LD", "countryOfOrigin":"PL", "productToStock":"true", "validFrom":"2016-01-01", "expirationDate":"2020-01-01", "netVolume":"0.03", "netWeight":"12", "netLength":"1", "netWidth":"0.3", "netDepth":"0.1", "netDiameter":"1", "discountGroupManufacturer":"KL", "discountGroupSupplier":"KK", "bonusGroupSupplier":"K1", "keyword":{ "pl":[ "s\u0142owo kluczowe 1", "s\u0142owo kluczowe 2", "s\u0142owo kluczowe 3", ... ], "en":[ "keyword 1", "keyword 2", "keyword 3", ... ], ... }, "remark":{ "pl":[ "uwaga1", "uwaga2", ... ], "en":[ "remark1", "remark2", ... ], ... }, "productStatus":{ "pl":[ { "type":"core_product", "value":"Asortyment podstawowy" }, { "type":"new", "value":"Fabrycznie nowy" }, ... ], "en":[ { "type":"core_product", "value":"Core product" }, { "type":"new", "value":"Brand new" }, ... ], ... }, "specialTreatmentClass":[ { "type":"MSDS", "value":"true" }, { "type":"ECCN", "value":"3A001" }, ... ], "countryBranchNumber":[ { "value":"00123456", "type":"electrical", "country":"PL", "supplierId":"6543" }, { "value":"00321654", "type":"electrical", "country":"DE", "supplierId":"8765" }, ... ], "reverseChargeInfo":"false", "pkwiu":"11.22.11.0", "additionalPriceFactor":"0.95", "additionalFactorInfo":{ "pl":"promocja sezonowa", "en":"season discount", ... }, "surchargePriceAmount":"0.01", "reachInfo":"true", "reachListDate":"2015-01-01", "customsNumber":"12" }, "etimDescription":{ "version":"7", "classId":"EC000722", "features":{ "EF002169":"EV000179", "EF000025":"false", "EF001742":[ "2", "4.5" ], "EF001438":"80", "EF000007":"", "EF000116":"NA", "EF006007":"UN", ... } }, "orderInformation":{ "orderUnit":"LTR", "contentUnit":"LTR", "noCuPerOu":"1", "priceQuantity":"1", "quantityMin":"1", "quantityInterval":"1" }, "packingInformation":[ { "packingUnitCode":"CT", "quantityMin":"1", "quantityMax":"2", "volume":"1", "weight":"1", "length":"1", "width":"1", "depth":"1", "diameter":"1", "packingUnitName":{ "pl":"pak", "en":"f-pak", ... }, "packageBreak":"false", "packingParts":"1", "gtin":"1111111111111", "gs1_128":"(01)01234567890128(15)051231", "packingProductId":"PACK123" }, ... ], "priceInformation":[ { "priceType":"net_list", "priceAmount":"7.22", "priceCurrency":"EUR", "tax":"0.19", "lowerBound":"1", "territory":[ "FR", "DE", ... ], "validStartDate":"2016-06-01", "validEndDate":"2018-06-01", "priceFactor":"0.9" }, ... ], "mime":[ { "mimeCode":"MD01", "mimeSource":{ "pl":"https://files.etim-mapper.com/zdjecie1", "en":"https://files.etim-mapper.com/zdjecie1", ... }, "mimeFilename":{ "pl":"zdjecie1.jpg", "en":"zdjecie1.png", ... }, "mimeDesignation":{ "pl":"Główne zdjęcie produktu", "en":"Main product picture", ... }, "mimeAlt":{ "pl":"zdjecie produktu XYZ123", "en":"picture of product XYZ123", ... } }, ... ], "relatedProducts":[ { "relatedProductId":"ABC123", "relationType":"accessories", "quantity":"1", "description":{ "pl":"akcesorium do produktu", "en":"product accessory", ... } }, ... ], "additionalTechnicalDescription":{ "tech data 1 name":"tech data 1 value", "tech data 2 name":"tech data 2 value", ... }, "additionalAttributes":{ "A1":{ "pl":"wartosc", "en":"value", ... }, "L2":"false", "N3":"5.2", "A4":{ "pl":"", "en":"", ... }, ... }, "categories":{ "leaves":{ "TC1":[ "C1", "SC5", ... ], ... } }, "labels":[ "label1", "label2", ... ] }, ... ]

Fields description:

Example of response (JSON):

{ "all":"10", "rejected (product ID longer than 32 characters)":"1", "unique":"9", "new":"5", "modified":"4", "classified":"2", "reclassified":"1", "deletedClassifications":"0", "limitExceeded":"0", "options":{ "newProductsOption":"add", "existingProductsOption":"merge", "emptyOverwritesExistingFields":"false" } }

Fields description:

Delete specified product(s) | ETIM-Mapper API: products

https://etim-mapper.com/api/XYZ/products

Method: DELETE

The is sent by an external system. It is necessary to send a list of product IDs (as a JSON data) that you want to delete. ETIM-Mapper deletes the product(s) in its database and responds with a short report.

Example of request (curl):

curl -X DELETE "https://etim-mapper.com/api/XYZ/products" -u XYZ:password -H "Content-Type: application/json" --data-binary "@productsIDs.json"

The productsIDs.json file example:

[ "XYZ123", "XYZ124" ]

Example of response (JSON):

{ "deletedProducts":"2" }

Fields description:


List of all identifiers of attributes | ETIM-Mapper API: attributes

https://etim-mapper.com/api/XYZ/attributes

Method: GET

The request is sent by an external system. ETIM-Mapper responds by sending all identifiers of attributes.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/attributes" -u XYZ:password

Example of response (JSON):

[ "A1", "L2", "N3", "DESCR", "GASCAT" ]

Get specified attribute(s) data | ETIM-Mapper API: attributes

https://etim-mapper.com/api/XYZ/attributes

Method: GET

Request is sent by an external system. ETIM-Mapper responds with the detailed information of the specified attribute(s). It is necessary to send the list of attributes identifiers (as a JSON data) that you want to get.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/attributes" -u XYZ:password -H "Content-Type: application/json" --data-binary "@attributeIdentifiers.json"

The attributeIdentifiers.json file example:

[ "A1", "DESCR", "GASCAT" ]

Example of response (JSON):

[ { "identifier":"A1", "global":"true", "type":"A", "name":{ "pl":"Atrybut 1", "en":"Attribute 1", ... } }, { "identifier":"DESCR", "global":"true", "type":"BMECAT", "importance":"5", "assignedTo":"overallInformation: descriptionLong", "name":{ "pl":"Opis produktu", "en":"Long description", ... } }, { "identifier":"GASCAT", "global":"true", "type":"ETIM", "importance":"9", "assignedTo":"EF003997", "name":{ "pl":"Kategoria ochrony przeciwwybuchowej dla gaz\u00f3w", "en":"Explosion safety category for gas", ... } } ]

Fields description:


List of all identifiers of labels | ETIM-Mapper API: labels

https://etim-mapper.com/api/XYZ/labels

Method: GET

The request is sent by an external system. ETIM-Mapper responds by sending all identifiers of labels.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/labels" -u XYZ:password

Example of response (JSON):

[ "Public", "label1", "label2", "label3" ]

Get specified label(s) data | ETIM-Mapper API: labels

https://etim-mapper.com/api/XYZ/labels

Method: GET

Request is sent by an external system. ETIM-Mapper responds with the detailed information of the specified label(s). It is necessary to send the list of label identifiers (as a JSON data) that you want to get.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/labels" -u XYZ:password -H "Content-Type: application/json" --data-binary "@labelIdentifiers.json"

The labelIdentifiers.json file example:

[ "Public", "label1" ]

Example of response (JSON):

[ { "identifier":"Public", "permanent":"true", "letter":"P", "color":"grey", "description":"Products having this label are visible for external users" }, { "identifier":"label1", "permanent":"false", "letter":"E", "color":"green", "description":"" } ]

Fields description:


List of all identifiers of relations by attribute | ETIM-Mapper API: relations by attribute

https://etim-mapper.com/api/XYZ/relations-by-attribute

Method: GET

The request is sent by an external system. ETIM-Mapper responds by sending all identifiers of relations by attribute and their last modification date.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/relations-by-attribute" -u XYZ:password

Example of response (JSON):

[ { "identifier":"ST", "lastModifiedDate":"2019-10-27 08:28:22" }, ... ]

Get specified relation(s) by attribute data | ETIM-Mapper API: relations by attribute

https://etim-mapper.com/api/XYZ/relations-by-attribute

Method: GET

Request is sent by an external system. ETIM-Mapper responds with the detailed information of the specified relation(s) by attribute. It is necessary to send the list of relation identifiers (as a JSON data) that you want to get.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/relations-by-attribute" -u XYZ:password -H "Content-Type: application/json" --data-binary "@relationIdentifiers.json"

The relationIdentifiers.json file example:

[ "ST", "EF1", ]

Example of response (JSON):

[ { "identifier":"ST", "lastModifiedDate":"2019-10-27 08:28:22", "attribute":"STAT", "name":{ "pl":"Status produktu", "en":"Product status", ... }, "products":[ "XYZ", "XYZ212", ... ], "productValues":{ "XYZ212":{ "pl":[ { "type":"core_product", "value":"121" } ], "en":[ { "type":"core_product", "value":"121" } ], ... }, ... }, "virtualProducts":[ "XYZ" ] }, { "identifier":"EF1", "lastModifiedDate":"2019-10-27 13:48:44", "attribute":"EF000363", "name":{ "pl":"Oznaczenie rozmiaru", "en":"Size indication", ... }, "products":[ "XYZ12", ... ], "productValues":{ "XYZ12":"EV000877", ... }, "virtualProducts":[] } ]

Fields description:

Get specified relation(s) by attribute data in a language-dependent version | ETIM-Mapper API: relations by attribute

https://etim-mapper.com/api/XYZ/relations-by-attribute?lang={langId}

Method: GET

Request is sent by an external system. ETIM-Mapper responds with the detailed information of the specified relation(s) by attribute. All the coded information is sent in the requested language. It is necessary to send the list of relation identifiers (as a JSON data) that you want to get.

Required parameter of the request:

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/relations-by-attribute?lang=en" -u XYZ:password -H "Content-Type: application/json" --data-binary "@relationIdentifiers.json"

The relationIdentifiers.json file example:

[ "ST", "EF1", ]

Example of response (JSON):

[ { "identifier":"ST", "lastModifiedDate":"2019-10-27 08:28:22", "attribute":"STAT", "name":"Product status", "products":[ "XYZ", "XYZ212", ... ], "productValues":{ "XYZ212":[ "Core product (121)" ], ... }, "virtualProducts":[ "XYZ" ] }, { "identifier":"EF1", "lastModifiedDate":"2019-10-27 13:48:44", "attribute":"EF000363", "name":"Size indication", "products":[ "XYZ12", ... ], "productValues":{ "XYZ12":"Mignon", ... }, "virtualProducts":[] } ]

Update/write data of specified relation(s) by attribute | ETIM-Mapper API: relations by attribute

https://etim-mapper.com/api/XYZ/relations-by-attribute

Method: PUT

Request is sent by an external system. ETIM-Mapper writes the received information in its database and responds with a short report. Only string values (delimited by double quotes) are accepted. Also numbers should be transfered as strings delimited by quotations marks. Strings should not contain spaces at the beginning and at the end (such spaces will be anyway skiped/trimmed when importing).

Example of request (curl):

curl -X PUT "https://etim-mapper.com/api/XYZ/relations-by-attribute" -u XYZ:password -H "Content-Type: application/json" --data-binary "@relationsData.json"

The relationsData.json file example:

[ { "identifier":"ST", "attribute":"STAT", "name":{ "pl":"Status produktu", "en":"Product status", ... }, "products":[ "XYZ212", ... ] }, { "identifier":"EF1", "attribute":"EF000363", "name":{ "pl":"Oznaczenie rozmiaru", "en":"Size indication", ... }, "products":[ "XYZ12", ... ] }, ... ]

Fields description:

Example of response (JSON):

{ "all":"5", "rejected": "1", "unique":"4", "replaced":"1", "new":"1" }

Fields description:

Delete specified relation(s) by attribute | ETIM-Mapper API: relations by attribute

https://etim-mapper.com/api/XYZ/relations-by-attribute

Method: DELETE

The is sent by an external system. It is necessary to send a list of relation identifiers (as a JSON data) that you want to delete. ETIM-Mapper deletes the relation(s) by attribute in its database and responds with a short report.

Example of request (curl):

curl -X DELETE "https://etim-mapper.com/api/XYZ/relations-by-attribute" -u XYZ:password -H "Content-Type: application/json" --data-binary "@relationIdentifiers.json"

The relationIdentifiers.json file example:

[ "ST", "EF1" ]

Example of response (JSON):

{ "deletedRelationsByAttribute":"2" }

Fields description:


List of all identifiers of category trees | ETIM-Mapper API: categories

https://etim-mapper.com/api/XYZ/categories

Method: GET

The request is sent by an external system. ETIM-Mapper responds by sending all identifiers of category trees.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/categories" -u XYZ:password

Example of response (JSON):

[ "TC1", "TC2" ]

Get specified category tree(s) data | ETIM-Mapper API: categories

https://etim-mapper.com/api/XYZ/categories

Method: GET

Request is sent by an external system. ETIM-Mapper responds with the detailed information of the specified category tree(s). It is necessary to send the list of category trees identifiers (as a JSON data) that you want to get.

Example of request (curl):

curl -X GET "https://etim-mapper.com/api/XYZ/categories" -u XYZ:password -H "Content-Type: application/json" --data-binary "@categoryTreeIdentifiers.json"

The categoryTreeIdentifiers.json file example:

[ "TC1", "TC2" ]

Example of response (JSON):

[ { "categoryTreeIdentifier":"TC1", "categoryTreeName":{ "pl":"Sklep1", "en":"Shop1", ... }, "categoryTreeAttributes":[ "A1", "L2" ], "categories":[ { "identifier":"C1", "parent":"", "name":{ "pl":"Kategoria 1", "en":"Category 1", ... }, "attributes":[ ] }, { "identifier":"C2", "parent":"", "name":{ "pl":"Kategoria 2", "en":"Category 2", ... }, "attributes":[ ] }, { "identifier":"SC1", "parent":"C1", "name":{ "pl":"Podkategoria 1", "en":"Subcategory 1", ... }, "attributes":[ "N3", "A4", "GASCAT" ] }, { "identifier":"SC2", "parent":"C1", "name":{ "pl":"Podkategoria 2", "en":"Subcategory 2", ... }, "attributes":[ "N3", "A4" ] }, ... ] }, ... ]

Fields description:

Update/write data of specified category tree(s) | ETIM-Mapper API: categories

https://etim-mapper.com/api/XYZ/categories

Method: PUT

Request is sent by an external system. ETIM-Mapper writes the received information in its database and responds with a short report. Only string values (delimited by double quotes) are accepted. Also numbers should be transfered as strings delimited by quotations marks. Strings should not contain spaces at the beginning and at the end (such spaces will be anyway skiped/trimmed when importing).

Example of request (curl):

curl -X PUT "https://etim-mapper.com/api/XYZ/categories" -u XYZ:password -H "Content-Type: application/json" --data-binary "@categoryTreesData.json"

The categoryTreesData.json file example:

[ { "categoryTreeIdentifier":"TC1", "categoryTreeName":{ "pl":"Sklep1", "en":"Shop1", ... }, "categoryTreeAttributes":[ "A1", "L2" ], "categories":[ { "identifier":"C1", "parent":"", "name":{ "pl":"Kategoria 1", "en":"Category 1", ... }, "attributes":[ ] }, { "identifier":"C2", "parent":"", "name":{ "pl":"Kategoria 2", "en":"Category 2", ... }, "attributes":[ ] }, { "identifier":"SC1", "parent":"C1", "name":{ "pl":"Podkategoria 1", "en":"Subcategory 1", ... }, "attributes":[ "N3", "A4", "GASCAT" ] }, { "identifier":"SC2", "parent":"C1", "name":{ "pl":"Podkategoria 2", "en":"Subcategory 2", ... }, "attributes":[ "N3", "A4" ] }, ... ] }, ... ]

Fields description:

Example of response (JSON):

{ "all":"3", "rejected": "1", "unique":"2", "replaced":"1", "new":"1" }

Fields description:

Delete specified category tree(s) | ETIM-Mapper API: categories

https://etim-mapper.com/api/XYZ/categories

Method: DELETE

The is sent by an external system. It is necessary to send a list of category trees identifiers (as a JSON data) that you want to delete. ETIM-Mapper deletes the category tree(s) in its database and responds with a short report.

Example of request (curl):

curl -X DELETE "https://etim-mapper.com/api/XYZ/categories" -u XYZ:password -H "Content-Type: application/json" --data-binary "@categoryTreeIdentifiers.json"

The categoryTreeIdentifiers.json file example:

[ { "categoryTreeIdentifier":"TC1" }, { "categoryTreeIdentifier":"TC2" } ]

Fields description:

Example of response (JSON):

{ "TC1":"deleted", "TC2":"deleted" }

Delete specified categories | ETIM-Mapper API: categories

https://etim-mapper.com/api/XYZ/categories

Method: DELETE

The is sent by an external system. It is necessary to send a list of category trees identifiers with category identifiers (as a JSON data) that you want to delete. ETIM-Mapper deletes the categories in its database and responds with a short report.

Example of request (curl):

curl -X DELETE "https://etim-mapper.com/api/XYZ/categories" -u XYZ:password -H "Content-Type: application/json" --data-binary "@categoryIdentifiers.json"

The categoryIdentifiers.json file example:

[ { "categoryTreeIdentifier":"TC1", "categories":[ "C1", "SC2" ] }, ... ]

Fields description:

Example of response (JSON):

{ "TC1":{ "categoriesDeleted":[ "C1", "SC2" ] }, ... }

Handle a list of new, modified and deleted products in ETIM-Mapper | External API: products

Method: PUT

The request is sent by ETIM-Mapper. Company receives the request and handles identifiers of products, that has been added, modified or deleted in ETIM-Mapper.

Example of request (JSON):

{ "new":[ "XYZ123", "XYZ245", ... ], "modified":[ "XYZ567", "XYZ568", ... ], "deleted":[ "XYZ45", "XYZ12", ... ] }
Start using ETIM-Mapper

Contact

MediaLab s.c.
Bożena Rożenek, Zbigniew Rożenek

Beskidzka 25
91-612 Lodz, Poland

+48 512 555 879
+48 42 209 14 37
+48 505 202 200

gnowak@medialab.pl
zbyszek@medialab.pl


Some of our customers

Spółdzielnia Inwalidów ElektrometNatrium sp. z o.o.Kopos Elektro PL Sp. z o. o."Pokój" Spółdzielnia ElektrotechnicznaAH HardtGrudnik sp. z o. o.