Get product by ID
curl --request GET \
--url https://api.ya.onl/v1/products/{product_id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.ya.onl/v1/products/{product_id}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.ya.onl/v1/products/{product_id}', 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.ya.onl/v1/products/{product_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.ya.onl/v1/products/{product_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.ya.onl/v1/products/{product_id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ya.onl/v1/products/{product_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"categories": [
{
"id": 1,
"name": "Ropa"
},
{
"id": 2,
"name": "Polos"
}
],
"characteristics": "Material: 100% algodón pima. Peso: 180g/m². Cuello redondo reforzado.",
"created_at": "2026-01-15T10:00:00Z",
"description": "Polo de algodón pima de alta calidad",
"id": 9876,
"name": "Polo Negro",
"options": [
{
"id": 10,
"name": "Talla",
"values": [
{
"id": 100,
"name": "S"
},
{
"id": 101,
"name": "M"
},
{
"id": 102,
"name": "L"
}
]
}
],
"status": "available",
"variants": [
{
"base_price": 49.9,
"currency": "PEN",
"id": 500,
"media": [
{
"id": 1000,
"title": "Front view",
"url": "https://cdn.yavendio.com/products/9876/polo-negro-m-front.jpg"
}
],
"name": "Polo Negro - Talla M",
"status": "available"
}
]
}{
"type": "<string>",
"detail": "<string>"
}{
"type": "<string>",
"detail": "<string>"
}{
"type": "<string>",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"type": "<string>",
"detail": "<string>"
}Products
Get product by ID
Retrieve a single product by its ID for the authenticated merchant.
GET
/
v1
/
products
/
{product_id}
Get product by ID
curl --request GET \
--url https://api.ya.onl/v1/products/{product_id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.ya.onl/v1/products/{product_id}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.ya.onl/v1/products/{product_id}', 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.ya.onl/v1/products/{product_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.ya.onl/v1/products/{product_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.ya.onl/v1/products/{product_id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ya.onl/v1/products/{product_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"categories": [
{
"id": 1,
"name": "Ropa"
},
{
"id": 2,
"name": "Polos"
}
],
"characteristics": "Material: 100% algodón pima. Peso: 180g/m². Cuello redondo reforzado.",
"created_at": "2026-01-15T10:00:00Z",
"description": "Polo de algodón pima de alta calidad",
"id": 9876,
"name": "Polo Negro",
"options": [
{
"id": 10,
"name": "Talla",
"values": [
{
"id": 100,
"name": "S"
},
{
"id": 101,
"name": "M"
},
{
"id": 102,
"name": "L"
}
]
}
],
"status": "available",
"variants": [
{
"base_price": 49.9,
"currency": "PEN",
"id": 500,
"media": [
{
"id": 1000,
"title": "Front view",
"url": "https://cdn.yavendio.com/products/9876/polo-negro-m-front.jpg"
}
],
"name": "Polo Negro - Talla M",
"status": "available"
}
]
}{
"type": "<string>",
"detail": "<string>"
}{
"type": "<string>",
"detail": "<string>"
}{
"type": "<string>",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"type": "<string>",
"detail": "<string>"
}Autorizaciones
Merchant API key for authentication
Parámetros de ruta
Unique product identifier
Respuesta
Successful Response
Unique product identifier
Product name
Ejemplo:
"Polo Negro"
Short product description
Product status
Ejemplo:
"available"
Product categories
Show child attributes
Show child attributes
Configurable product options (e.g. size, color)
Show child attributes
Show child attributes
Product variants with pricing and availability
Show child attributes
Show child attributes
Date and time when the product was created (merchant's local timezone)
Detailed product description or specifications

