curl --request POST \
--url https://api.hubfy.io/v1/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"metadata": {
"reference": "exemplo"
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({metadata: {reference: 'exemplo'}})
};
fetch('https://api.hubfy.io/v1/products/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.hubfy.io/v1/products/{id}"
payload = { "metadata": { "reference": "exemplo" } }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "pro_1234567890abcdef",
"benefit": null,
"cover_url": null,
"created_at": "2030-01-01T00:00:00.000Z",
"description": null,
"metadata": {},
"name": "Curso de exemplo",
"object": "product",
"prices": [
"prc_1234567890abcdef"
],
"status": "draft",
"updated_at": "2030-01-01T00:00:00.000Z"
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}Atualizar um produto
Operação sobre produtos da conta.
curl --request POST \
--url https://api.hubfy.io/v1/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"metadata": {
"reference": "exemplo"
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({metadata: {reference: 'exemplo'}})
};
fetch('https://api.hubfy.io/v1/products/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.hubfy.io/v1/products/{id}"
payload = { "metadata": { "reference": "exemplo" } }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "pro_1234567890abcdef",
"benefit": null,
"cover_url": null,
"created_at": "2030-01-01T00:00:00.000Z",
"description": null,
"metadata": {},
"name": "Curso de exemplo",
"object": "product",
"prices": [
"prc_1234567890abcdef"
],
"status": "draft",
"updated_at": "2030-01-01T00:00:00.000Z"
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}{
"error": {
"code": "invalid_parameter",
"doc_url": null,
"message": "The request contains invalid parameters",
"param": null,
"type": "invalid_request_error"
}
}initial_price é aceito apenas na criação; para cadastrar outra oferta, use a criação de preço.
Requer products:write ou write. Use Idempotency-Key ao repetir a mesma operação. Veja campos, relacionamentos e eventos.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Chave única por operação lógica, de 1 a 255 caracteres ASCII imprimíveis, sem espaços. Reutilize-a somente para repetir a mesma operação.
1 - 255Path Parameters
ID público do produto na conta.
^pro_[a-z0-9]{16}$Body
Tipo de conteúdo entregue: files (arquivos), courses (cursos) ou links (links). Pode ser null. Definir o tipo não vincula conteúdos ao produto.
files, courses, links, null 10000Descrição do produto; null quando não informada. Envie null para limpar.
10000Objeto JSON livre para referências da integração, limitado a 16 KB. Ao enviar, substitui todo o metadata anterior; use {} para limpar. Não aceita null.
Nome do produto. Obrigatório e não vazio na criação.
1 - 10000Estado do produto: draft (rascunho), published (publicado) ou archived (arquivado).
draft, published, archived 10000Response
Operação concluída
Identificador público estável. Use o valor retornado pela API nas consultas e relacionamentos; não derive IDs de nomes.
^pro_[a-z0-9]{16}$Tipo de conteúdo entregue: files (arquivos), courses (cursos) ou links (links). Pode ser null. Definir o tipo não vincula conteúdos ao produto.
files, courses, links, null URL pública da capa do produto; null quando ausente. Somente leitura, definida no painel.
Data e hora da criação, em ISO 8601 com fuso horário. Somente leitura.
Descrição do produto; null quando não informada. Envie null para limpar.
Objeto JSON livre para referências da integração, limitado a 16 KB. Ao enviar, substitui todo o metadata anterior; use {} para limpar. Não aceita null.
Nome do produto. Obrigatório e não vazio na criação.
Tipo do objeto retornado. O valor é fixo para este recurso.
"product"IDs dos preços vinculados, ordenados por criação e ID. Consulte cada preço em /v1/prices/{id}. Somente leitura.
^prc_[a-z0-9]{16}$Estado do produto: draft (rascunho), published (publicado) ou archived (arquivado).
draft, published, archived Data e hora da última alteração, em ISO 8601 com fuso horário. Somente leitura.