Get one product by GTIN
curl --request GET \
--url https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"gtin": "07318690000016",
"title": "<string>",
"brand": "<string>",
"description": "<string>",
"images": [
{
"url": "<string>"
}
],
"updated_at": "2023-11-07T05:31:56Z",
"offers": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"merchant": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Example Shop"
},
"network": "awin",
"sku": "<string>",
"price": "499.00",
"old_price": "599.00",
"currency": "SEK",
"availability": "in_stock",
"affiliate_url": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Products
Get one product by GTIN
GET
/
v0
/
channels
/
{channelId}
/
products
/
{gtin}
Get one product by GTIN
curl --request GET \
--url https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aggrefine.com/v0/channels/{channelId}/products/{gtin}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"gtin": "07318690000016",
"title": "<string>",
"brand": "<string>",
"description": "<string>",
"images": [
{
"url": "<string>"
}
],
"updated_at": "2023-11-07T05:31:56Z",
"offers": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"merchant": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Example Shop"
},
"network": "awin",
"sku": "<string>",
"price": "499.00",
"old_price": "599.00",
"currency": "SEK",
"availability": "in_stock",
"affiliate_url": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
An API key from Settings → Team → API keys in Aggrefine.
Path Parameters
From GET /channels.
EAN, UPC or GTIN; shorter ones are zero-padded.
Pattern:
^\d{1,14}$Example:
"7318690000016"
Response
The product
All offers sharing one GTIN. Title, brand, description and images come from the most recently changed offer.
14 digits, zero-padded.
Example:
"07318690000016"
Merchant text, cleaned to simple formatting (p, ul, b, a…): safe to render as HTML.
http(s) image URLs.
Show child attributes
Show child attributes
Every merchant selling this GTIN to the channel, each with its tracking link.
Show child attributes
Show child attributes