curl --request GET \
--url https://nexus.ticto.com.br/api/v1/products/{product_hash} \
--header 'X-Api-Client-Token: <api-key>'import requests
url = "https://nexus.ticto.com.br/api/v1/products/{product_hash}"
headers = {"X-Api-Client-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Client-Token': '<api-key>'}};
fetch('https://nexus.ticto.com.br/api/v1/products/{product_hash}', 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://nexus.ticto.com.br/api/v1/products/{product_hash}",
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-Client-Token: <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://nexus.ticto.com.br/api/v1/products/{product_hash}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Client-Token", "<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://nexus.ticto.com.br/api/v1/products/{product_hash}")
.header("X-Api-Client-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://nexus.ticto.com.br/api/v1/products/{product_hash}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Client-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"hash": "<string>",
"name": "<string>",
"category_id": 500000,
"description": "<string>",
"type": "course",
"support_email": "jsmith@example.com",
"support_phone": "11999999999",
"refund_deadline": 7,
"status": "draft",
"created_at": "2026-01-15 14:30:00",
"updated_at": "2026-01-15 14:30:00",
"soft_descriptor": "MEUPRODUTO",
"image_stock": "<string>",
"cover_picture": "<string>",
"is_active": true,
"has_auto_affiliation": true,
"allow_affiliation": true,
"affiliate_commission_type": "first",
"first_click_percentage": 60,
"last_click_percentage": 40,
"metadata": {
"links": {
"sales_page_url": "<string>",
"sales_page_absence_reason": "<string>",
"page_released": "<string>",
"without_sales_page": true
}
}
}Visualizar produto
Retorna os dados de um produto específico
curl --request GET \
--url https://nexus.ticto.com.br/api/v1/products/{product_hash} \
--header 'X-Api-Client-Token: <api-key>'import requests
url = "https://nexus.ticto.com.br/api/v1/products/{product_hash}"
headers = {"X-Api-Client-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Client-Token': '<api-key>'}};
fetch('https://nexus.ticto.com.br/api/v1/products/{product_hash}', 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://nexus.ticto.com.br/api/v1/products/{product_hash}",
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-Client-Token: <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://nexus.ticto.com.br/api/v1/products/{product_hash}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Client-Token", "<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://nexus.ticto.com.br/api/v1/products/{product_hash}")
.header("X-Api-Client-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://nexus.ticto.com.br/api/v1/products/{product_hash}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Client-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"hash": "<string>",
"name": "<string>",
"category_id": 500000,
"description": "<string>",
"type": "course",
"support_email": "jsmith@example.com",
"support_phone": "11999999999",
"refund_deadline": 7,
"status": "draft",
"created_at": "2026-01-15 14:30:00",
"updated_at": "2026-01-15 14:30:00",
"soft_descriptor": "MEUPRODUTO",
"image_stock": "<string>",
"cover_picture": "<string>",
"is_active": true,
"has_auto_affiliation": true,
"allow_affiliation": true,
"affiliate_commission_type": "first",
"first_click_percentage": 60,
"last_click_percentage": 40,
"metadata": {
"links": {
"sales_page_url": "<string>",
"sales_page_absence_reason": "<string>",
"page_released": "<string>",
"without_sales_page": true
}
}
}Authorizations
Token de autenticação do cliente obtido via endpoint /auth
Path Parameters
Hash do produto
Response
Dados do produto retornados com sucesso
Objeto de retorno com os dados do produto.
Hash único do produto.
Nome do produto.
ID da categoria do produto.
1 <= x <= 999999Descrição do produto.
Tipo do produto.
course, ebook, physical E-mail de suporte do produto.
Telefone de suporte do produto.
20"11999999999"
Prazo para reembolso (em dias).
7, 15, 30 7 <= x <= 30Status do produto.
draft, pre-approved, approved, pending, pending-correction, reproved Data de criação (formato YYYY-MM-DD HH:mm:ss)
"2026-01-15 14:30:00"
Data de atualização (formato YYYY-MM-DD HH:mm:ss)
"2026-01-15 14:30:00"
Descritor que aparece na fatura do cartão do comprador.
13"MEUPRODUTO"
URL do documento de garantia do produto (obrigatório para produtos físicos).
URL da imagem de capa (opcional).
Indica se o produto está ativo.
Se permite afiliação automática para este produto.
Se permite afiliação (campo do produto).
Tipo de atribuição de comissão do afiliado (first = primeiro clique, last = último clique, multi = dividido).
first, last, multi Percentual de comissão do primeiro clique (multiclick).
60
Percentual de comissão do último clique (multiclick).
40
Metadados complementares do produto.
Show child attributes
Show child attributes