Skip to content

Managing Product Data

The products endpoint can be used to create, read, update, and delete products associated with your webshop in Hello Retail's system

The main purpose of this endpoint is to provide you with an alternative to feeds for when you need to update changes to your product data as fast as possible in Hello Retail. Using this endpoint should be an addition to a product feed, not a replacement.

An alternative to using this for quick updates is delta feeds. On some shop platforms where it is difficult to run background tasks, this might be a better solution. The guide for implementing delta feeds can be found here.

To use the endpoint, you need to know your website UUID and have an API key. Log in to your account on https://my.helloretail.com/ and follow these instructions on how to find them.

Endpoints

GET Fetch product

Request Method: GET

Endpoint: https://core.helloretail.com/api/websites/{websiteUuid}/products?id={encodedProductUrl}&apiKey={apiKey}

Parameters

Path
Name    Type Description
websiteUuid  String UUID of the website.
Query
Name    Type Description  
id String The URL of the product. Remember to URL encode it.
apiKey String A valid API key. It can be created on your Hello Retail dashboard.

Example JavaScript request

fetch(`https://core.helloretail.com/api/websites/${websiteUuid}/products?id=${encodedProductUrl}&apiKey=${apiKey}`, {
    method: 'GET',
    credentials: 'include',
    headers: {
    'Content-Type': 'application/json'
    },
}).then((res) => {
    return res.json();
}).then((data) => {
    console.log(data)
});

Responses

200 OK        Product Data
{
    "data": {
        "id": "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
        "type": "products",
        "attributes": {
            "url": "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
            "title": "Cool white sneakers",
            "productNumber": 1,
            "variantProductNumbers": [1,2,3,4],
            "currency": "dkk",
            "price": 1337,
            "oldPrice": 1227,
            "priceExVat": 1000,
            "oldPriceExVat": 800,
            "brand": "Converse",
            "inStock": true,
            "ean": 123,
            "created": "2023-09-01 07:40:00",
            "description": "These shoes are incredible, everyone should own a pair!",
            "keywords": "these shoes are cool and white",
            "hierarchies": [
                    [
                        "Women",
                        "Shoes",
                        "Sneakers"
                    ],
                    [
                        "Women",
                        "Outlet",
                        "Shoes"
                    ]
                ]
            "extraData": {
                "color": "white"
            },
            "extraDataList": {
                "size": ["36","37","38","39","40","41","42"]
            }
        }
    }
}
POST Create product

Request Method: POST

Endpoint: https://core.helloretail.com/api/websites/{websiteUuid}/products?apiKey={apiKey}

Parameters

Path
Name    Type Description
websiteUuid  String UUID of the website.
Query
Name    Type Description  
apiKey String A valid API key. It can be created on your Hello Retail dashboard.
Body
Name    Type Description  
request body JSON The product data as JSON. See the example in the response section.

Example JavaScript request

fetch(`https://core.helloretail.com/api/websites/${websiteUuid}/products?apiKey=${apiKey}`, {
    method: 'POST',
    credentials: 'include',
    headers: {
    'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        data: {
            id: "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
            type: "products",
            attributes: {
                title: "Cool white sneakers",
                productNumber: 1,
                variantProductNumbers: [1,2,3,4],
                currency: "dkk",
                price: 1337,
                oldPrice: 1227,
                priceExVat: 1000,
                oldPriceExVat: 800,
                brand: "Converse",
                inStock: true,
                ean: 123,
                created: "2023-09-01 07:40:00",
                description: "These shoes are incredible, everyone should own a pair!",
                url: "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
                hierarchies: [
                    ["Women", "Shoes", "Sneakers"]
                ],
                imgUrl: "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers-image-100x100.jpg",
                keywords: "These shoes are cool and white",
                extraData: {
                    color: "white"
                },
                extraDataList: {
                    sizes: ["36","37","38","39","40","41","42"]
                }
            }
        }
    })
}).then((res) => {
    return res.json();
}).then((data) => {
    console.log(data)
});

Responses

200 OK        Product Data
{
    "data": {
        "id": "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
        "type": "products",
        "attributes": {
            "url": "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
            "title: "Cool white sneakers",
            "productNumber": 1,
            "variantProductNumbers": [1,2,3,4],
            "currency": "dkk",
            "price": 1337,
            "oldPrice": 1227,
            "priceExVat": 1000,
            "oldPriceExVat": 800,
            "brand": "Converse",
            "inStock": true,
            "ean": 123,
            "created": "2023-09-01 07:40:00",
            "description": "These shoes are incredible, everyone should own a pair!",
            "keywords": "these shoes are cool and white",
            "hierarchies": [
                    [
                        "Women",
                        "Shoes",
                        "Sneakers"
                    ],
                    [
                        "Women",
                        "Outlet",
                        "Shoes"
                    ]
                ]
            "extraData": {
                "color": "white"
            },
            "extraDataList": {
                "size": ["36","37","38","39","40","41","42"]
            }
        }
    }
}
PATCH Update product

Only the fields you send will be updated. To remove a field send the value null The data should be sent in the request body. Example:

{
    "data": {
        "id": "http://someshop.com/women/shoes/sneakers/cool-white-sneakers/",
        "type": "products",
        "attributes": {
            "keywords": null,
            "price": "320" 
        }
    }
}

Request Method: PATCH

Endpoint: https://core.helloretail.com/api/websites/{websiteUuid}/products?id={encodedProductUrl}&apiKey={apiKey}

Parameters

Path
Name    Type Description
websiteUuid  String UUID of the website.
Query
Name    Type Description  
id String The URL of the product. Remember to URL encode it.
apiKey String A valid API key. It can be created on your Hello Retail dashboard.
Body
Name    Type Description  
request body JSON The product data as JSON. See the example in the response section.

Example JavaScript request

fetch(`https://core.helloretail.com/api/websites/${websiteUuid}/products?id=${encodedProductUrl}&apiKey=${apiKey}`, {
    method: 'PATCH',
    credentials: 'include',
    headers: {
    'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        data: {
            id: "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
            type: "products",
            attributes: {
                title: "Cool white sneakers 2.0",
                productNumber: 1,
                variantProductNumbers: [1,2,3,4],
                currency: "dkk",
                price: 1337,
                oldPrice: 1227,
                priceExVat: 1000,"
                oldPriceExVat: 800,
                brand: "Converse",
                inStock: true,
                ean: 123,
                created: "2023-09-01 07:40:00",
                description: "These shoes are incredible, everyone should own a pair!",
                url: "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
                hierarchies: [
                    ["Women", "Shoes", "Sneakers"]
                ],
                imgUrl: "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers-image-100x100.jpg",
                keywords: "these shoes are cool white sport",
                extraData: {
                    color: "white"
                },
                extraDataList: {
                    sizes: ["36","37","38","39"]
                }
            }
        }
    })
}).then((res) => {
    return res.json();
}).then((data) => {
    console.log(data)
});

Responses

200 OK        Product Data
{
        "data": {
        "id": "https://shop.example.com/women/shoes/sneakers/cool-white-sneakers",
        "type": "products",
        "attributes": {
            "title": "Cool white sneakers 2.0",
            "productNumber": 1,
            "variantProductNumbers": [1,2,3,4],
            "currency": "dkk",
            "price": 1337,
            "oldPrice": 1227,
            "priceExVat": 1000,
            "oldPriceExVat": 800,
            "brand": "Converse",
            "inStock": true,
            "ean": 123,
            "created": "2023-09-01 07:40:00",
            "description": "These shoes are incredible, everyone should own a pair!",
            "keywords": "these shoes are cool and white",
            "hierarchies": [
                    [
                        "Women",
                        "Shoes",
                        "Sneakers"
                    ],
                    [
                        "Women",
                        "Outlet",
                        "Shoes"
                    ]
                ]
            "extraData": {
                "color": "white"
            },
            "extraDataList": {
                "size": ["36","37","38","39"]
            }
        }
    }
}
DELETE Delete product

Request Method: DELETE

Endpoint: https://core.helloretail.com/api/websites/{websiteUuid}/products?id={encodedProductUrl}&apiKey={apiKey}

Parameters

Path
Name    Type Description
websiteUuid  String UUID of the website.
Query
Name    Type Description  
id String The URL of the product. Remember to URL encode it.
apiKey String A valid API key. It can be created on your Hello Retail dashboard.

Example JavaScript request

fetch(`https://core.helloretail.com/api/websites/${websiteUuid}/products?id=${encodedProductUrl}&apiKey=${apiKey}`, {
    method: 'DELETE',
    credentials: 'include',
    headers: {
    'Content-Type': 'application/json'
    },
}).then((res) => {
    return res.json();
}).then((data) => {
    console.log(data)
});

Responses

200 OK        Product Data
{
    "status: delete"
}