Pular para o conteúdo principal

Admin API

Esta API reúne ações administrativas. Ela nunca deve ser chamada pelo client-side.

Autenticação

Você deve chamar a API de autenticação, para que possa utilizar os demais endpoints de nossa API administrativa

Obtendo chaves de autenticação

Acesse o Dashboard e navegue até Configurações > Integrações. Em seguida, clique em API. Você encontrará:

  • Customer key: seu identificador de cliente, utilizado como parâmetro {customer} nas URLs dos endpoints
  • Client ID: identificador da sua aplicação para autenticação
  • Client Secret: chave secreta para autenticação

POST https://reviews-api.konfidency.com.br/oauth/token

Campos do corpo da requisição (JSON)

ParâmetroDescrição
audienceFixo: https://reviews-api.konfidency.com.br
grant_typeFixo: client_credentials
client_idClient ID — consulte Obtendo chaves de autenticação
client_secretClient Secret — consulte Obtendo chaves de autenticação

Exemplo de corpo da requisição

{
"audience": "https://reviews-api.konfidency.com.br",
"grant_type": "client_credentials",
"client_id": "eSRTjDtxTaprkd6Yb97DouqFORbTT1dV",
"client_secret": "cSrP6TF1ktSAH1IV1p24Vztd9Lc4AoLA62f0KIPU1vkymSjd7a5QzpTy0Tqo51PZ"
}
Exemplo de Resposta
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 86400,
"token_type": "Bearer"
}

Campos

campodescrição
access_tokentoken de acesso gerado
expires_intempo de validade do token
token_typetipo de token, sempre será Bearer

Permite obter o link de avaliação para um pedido

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação
orderIdnúmero do pedido em sua plataforma

Exemplo de Resposta

{
"link": "https://www.kfy.app/rate/konfidency/62b266a92bbbb599f720bb22/123456-1"
}

Campos da resposta

campodescrição
linkURL única para avaliação do pedido

Criar Pedido

Integra um novo pedido na plataforma Konfidency Reviews

POST /{customer}/orders

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação

Parâmetros do corpo da requisição

ParâmetroDescrição
orderIdNúmero do pedido, identificação única na plataforma do cliente
createdDateData de criação do pedido
userIdID do usuário na plataforma do cliente não utilizar dados sensíveis
statusStatus do produto, created, authorized, shipped ou delivered
estimatedDeliveryDateData de entrega prevista do pedido
deliveredDateData da entrega do pedido
nameNome do cliente
emailE-mail do cliente - obrigatório para notificações por e-mail
phoneCelular do cliente - obrigatório para notificações por SMS e WhatsApp
pointOfSaleOrigem do pedido (ex: "Loja Física", "E-commerce", "Marketplace")
deliveryMethodMétodo de entrega (ex: "Correios", "Transportadora", "Retirada")
optOutEmailIndica se o cliente realizou opt-out para receber e-mails
optOutSMSIndica se o cliente realizou opt-out para receber mensagens SMS
optOutWhatsAppIndica se o cliente realizou opt-out para receber mensagens via WhatsApp
items.skuSKU do produto

Exemplo de corpo da requisição

{
"orderId": "P123456-1",
"createdDate": "2022-06-01 12:34",
"userId": "12345",
"name": "João da Silva",
"email": "[email protected]",
"phone": "551191234-5678",
"status": "created",
"estimatedDeliveryDate": "2022-07-15",
"pointOfSale": "E-commerce",
"deliveryMethod": "Correios",
"optOutEmail": false,
"optOutWhatsApp": false,
"optOutSMS": true,
"items": [
{
"sku": "01001"
}
]
}

Resposta

Esta API não gera um JSON de resposta, um status 200 significa que os dados foram salvos corretamente

Criar Pedido (V2)

Versão otimizada da API de integração de pedidos com suporte a marketplace, dados expandidos de produtos e atualização de pedidos existentes.

POST /{customer}/orders

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação

Parâmetros do corpo da requisição

ParâmetroDescrição
versionDeve ser 2 para usar esta versão da API
orderIdNúmero do pedido, identificação única na plataforma do cliente
userIdID do usuário na plataforma do cliente não utilizar dados sensíveis
createdDateData de criação do pedido
authorizedDateData de autorização/pagamento do pedido (opcional)
estimatedDeliveryDateData de entrega prevista do pedido (opcional)
deliveredDateData de entrega efetiva do pedido (opcional)
modifiedDateData de última modificação do pedido (opcional)
nameNome do cliente
emailE-mail do cliente - obrigatório para notificações por e-mail
phoneCelular do cliente - obrigatório para notificações por SMS e WhatsApp
pointOfSaleOrigem do pedido (ex: "Loja Física", "E-commerce", "Marketplace") (opcional)
deliveryMethodMétodo de entrega (ex: "Correios", "Transportadora", "Retirada") (opcional)
statusStatus do pedido, created, authorized, paid, invoiced, shipped, delivered ou cancelled
optOutEmailIndica se o cliente realizou opt-out para receber e-mails
optOutSMSIndica se o cliente realizou opt-out para receber mensagens SMS
optOutWhatsAppIndica se o cliente realizou opt-out para receber mensagens via WhatsApp
itemsArray de itens do pedido (veja estrutura abaixo)

Estrutura de items (V2)

ParâmetroDescrição
items.productIdSKU/ID principal do produto
items.skuSKU da variante do produto (opcional)
items.skuNameNome/descrição da variante (ex: "Tamanho P - Cor Azul") (opcional)
items.statusStatus específico do item (opcional, usa status do pedido se omitido)
items.cancelledIndica se o item foi cancelado (boolean) (opcional)
items.sellerInfoInformações do seller/marketplace (opcional, veja estrutura abaixo)
items.productDataDados completos do produto (opcional, veja estrutura abaixo)

Estrutura de items.sellerInfo (Marketplace)

ParâmetroDescrição
items.sellerInfo.idID único do seller/vendedor
items.sellerInfo.nameNome do seller/vendedor

Estrutura de items.productData

ParâmetroDescrição
items.productData.nameNome do produto
items.productData.productNameNome do produto (alternativo)
items.productData.brandMarca do produto
items.productData.brandNameMarca do produto (alternativo)
items.productData.mpnManufacturer Part Number (opcional)
items.productData.eanCódigo EAN (opcional)
items.productData.gtinGlobal Trade Item Number (opcional)
items.productData.urlURL da página do produto (será normalizada com a URL da loja)
items.productData.imageURL da imagem principal do produto
items.productData.categoriesArray de categorias do produto
items.productData.categoryNameNome da categoria (alternativo, será convertido em array)

Exemplo de corpo da requisição (V2)

{
"version": 2,
"orderId": "P123456-1",
"userId": "12345",
"name": "João da Silva",
"email": "[email protected]",
"phone": "551191234-5678",
"createdDate": "2022-06-01 12:34",
"authorizedDate": "2022-06-01 13:00",
"estimatedDeliveryDate": "2022-06-15",
"deliveredDate": "2022-06-14",
"pointOfSale": "E-commerce",
"deliveryMethod": "Transportadora",
"status": "delivered",
"optOutEmail": false,
"optOutWhatsApp": false,
"optOutSMS": true,
"items": [
{
"productId": "CAM-001",
"sku": "CAM-001-P-AZUL",
"skuName": "Tamanho P - Cor Azul",
"status": "authorized",
"cancelled": false,
"sellerInfo": {
"id": "SELLER123",
"name": "Loja Parceira ABC"
},
"productData": {
"name": "Camiseta Básica",
"brand": "Konfidency Store",
"mpn": "CAM001",
"ean": "7891234567890",
"url": "/produtos/camiseta-basica",
"image": "https://example.com/camiseta.jpg",
"categories": ["Roupas", "Camisetas", "Masculino"]
}
}
]
}

Diferenças da V2

CaracterísticaV1V2
Atualização de pedidos existentesNão (retorna duplicate)Sim (atualiza dados)
Suporte a marketplace/sellersNãoSim
Dados expandidos de produtosNãoSim (productData)
Status por itemNãoSim
Cancelamento por itemNãoSim
Variantes de produtoLimitadoCompleto (sku + skuName)
Normalização de URL de produtosNãoSim

Resposta

{
"_id": "62b266a92bbbb599f720bb22",
"customer": "konfidency",
"orderId": "P123456-1",
"userId": "12345",
"name": "João S.",
"createdDate": "2022-06-01T15:34:00.000Z",
"authorizedDate": "2022-06-01T16:00:00.000Z",
"email": "[email protected]",
"phone": "551191234-5678",
"status": "authorized",
"optOutEmail": false,
"optOutSMS": true,
"optOutWhatsApp": false,
"__v": 0
}

Atualizar Pedido

Atualiza o status do pedido na plataforma Konfidency Reviews

PUT /{customer}/orders/{orderId}

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação
orderIdNúmero do pedido, identificação única na plataforma do cliente

Parâmetros do corpo da requisição

ParâmetroDescrição
createdData de criação do pedido
statusStatus, created, authorized, shipped ou delivered
authorizedDateData de pagamento do pedido
deliveredDateData de entrega do pedido

Exemplo de corpo da requisição

{
"status": "authorized",
"authorizedDate": "2022-06-01 12:34"
}

Resposta

Esta API não gera um JSON de resposta, um status 200 significa que os dados foram salvos corretamente

Obter avaliações

Obtém as avaliações de acordo com os critérios de busca

GET /{customer}/reviews/all

POST /{customer}/reviews/all

O método POST permite filtros adicionais através do corpo da requisição (ver seção abaixo).

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação

Parâmetros de Query (todos opcionais)

ParâmetroTipoDescrição
skustringSKU do produto que deseja buscar
statusstringStatus das avaliações a serem buscadas (consulte tabela abaixo)
orderstringOrdenação dos resultados (consulte tabela abaixo)
ratingintegerFiltrar por nota específica (1 a 5)
skipintegerQuantidade de registros a serem omitidos (paginação)
tagsstringFiltrar por tags de moderação
topicsstringFiltrar por tópicos
fromstringData inicial em formato YYYY-MM-DD
tostringData final em formato YYYY-MM-DD
hasTextbooleanFiltrar avaliações que possuem texto
hasPicturebooleanFiltrar avaliações que possuem fotos
hasVideobooleanFiltrar avaliações que possuem vídeos
hasReplybooleanFiltrar avaliações que possuem resposta do lojista
completebooleanFiltrar avaliações completas
autoModeratedbooleanFiltrar por avaliações moderadas automaticamente
includeOrderDatabooleanIncluir dados do pedido e seller (orderId, sellerInfo, orderName, orderEmail, orderPhone)

Status de avaliações

StatusDescrição
Omitir este campo ou enviar uma string vazia trará avaliações em qualquer status
publishedAvaliações publicadas
removedAvaliações reprovadas/removidas
filteredAvaliações filtradas pelo filtro de palavras proibidas
pendingAvaliações na fila de moderação

Ordenação de resultados

A ordenação segue o padrão campo,ordem. A ordem pode ser 1 para ascendente ou -1 para descendente.

CampoDescrição
createdData de envio da avaliação
moderatedAtData de moderação da avaliação
skuSKU do produto
ratingNota da avaliação (1 a 5)
helpfulMais marcadas como úteis
unhelpfulMais marcadas como não úteis

Parâmetros adicionais do método POST (corpo da requisição)

ParâmetroTipoDescrição
categoriesarrayArray de categorias de produtos para filtrar
sentimentstringFiltrar por sentimento da avaliação (positive, negative, neutral)

Exemplo de chamada GET com filtros

GET /konfidency/reviews/all?status=published&rating=5&hasPicture=true&from=2024-01-01&to=2024-12-31&skip=0

Exemplo de chamada GET com dados de pedido e seller

GET /konfidency/reviews/all?status=published&includeOrderData=true

Exemplo de corpo da requisição POST

{
"categories": ["Camisetas", "Masculino"],
"sentiment": "positive"
}

Os parâmetros de query permanecem os mesmos para o método POST e podem ser combinados com o corpo da requisição.

Resposta

{
"results": [
{
"_id": "630adeb56a21590014e4e200",
"helpful": 0,
"unhelpful": 0,
"verified": true,
"moderationTags": [],
"status": "published",
"created": "2022-08-28T03:19:17.374Z",
"pictures": [
{
"_id": "629f79d569ede80012ca7172",
"url": "https://uploads.konfidency.com.br/a98cd120-abe9-436f-b4de-78e8a0b52071"
}
],
"customer": "konfidency",
"userId": "a6c42ec0-ed92-4464-8dfc-fd7593472767",
"name": "Dominic T",
"sku": "307645",
"text": "Produto diferenciado. Do forno direto para a mesa. Lindíssimo. Não há quem não elogie à mesa.\nA comida servida nesta travessa fica até mais saborosa.😍",
"recommended": true,
"rating": 5,
"source": "sdk",
"__v": 1,
"attributes": [
{
"_id": "61f7162480088014770d11af",
"title": "Custo/benefício",
"type": "stars",
"scaleMin": 0,
"scaleMax": 5,
"value": 5
},
{
"_id": "627da5f10d1b0c410a99a1eb",
"title": "Qualidade",
"type": "stars",
"scaleMin": 0,
"scaleMax": 5,
"value": 5
}
],
"product": {
"_id": "6284033fb0b7371985a42200",
"customer": "konfidency",
"sku": "307645",
"name": "FOLHA TRAVESSA OVAL 33 CM X 23 CM",
"categories": [
"Ambientes",
"Sala de Jantar",
"Cozinha",
"Acessórios para Servir",
"Louças",
"Louças",
"Porcelana e cerâmica",
"Acessórios",
"Mesa",
"Travessas para Servir",
"Louças e Utensílios para Servir"
],
"url": "https://www.site.com.br/travessa-oval-33-cm-x-23-cm-verde-folha",
"image": "https://images.site.com.br/arquivos/ids/1857460-200-200/Travessa-Oval-33-Cm-X-23-Cm-Verde-Folha.jpg?v=637020162237200000"
}
}
],
"total": 30958
}

Campos de resposta

campodescrição
results._idID da avaliação
results._idID único da avaliação
results.skuSKU do produto
results.namenome do cliente que avaliou
results.ratingnota atribuída pelo cliente
results.texttexto de avaliação do cliente
results.helpfulquantidade de pessoas que consideraram a avaliação útil
results.unhelpfulquantidade de pessoas que não consideraram a avaliação útil
results.verifiedindica se o cliente é um comprador verificado
results.createddata de envio da avaliação
results.recommendedindica se o cliente avaliou o produto positivamente
results.picturesfotos enviadas com a avaliação
results.pictures._idID único da foto
results.pictures.urlURL da foto
results.orderIdnúmero do pedido (apenas quando includeOrderData=true)
results.sellerInfoinformações do seller/marketplace (apenas quando includeOrderData=true)
results.sellerInfo.idID do seller (apenas quando includeOrderData=true)
results.sellerInfo.namenome do seller (apenas quando includeOrderData=true)
results.orderNamenome do cliente no pedido (apenas quando includeOrderData=true)
results.orderEmaile-mail do cliente no pedido (apenas quando includeOrderData=true)
results.orderPhonetelefone do cliente no pedido (apenas quando includeOrderData=true)
totaltotal de avaliações obtidas com os critérios de busca

Obter perguntas

Obtém as perguntas de acordo com os critérios de busca

GET {customer}/questions/all

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação
skuSKU do produto que deseja buscar
statusStatus das avaliações a serem buscadas (consulte tabela abaixo)
orderOrdenação dos resultados (consulte tabela abaixo)
skipQuantidade de registros a serem omitidos (paginação)

Status de perguntas

StatusDescrição
Omitir este campo ou enviar uma string vazia trará perguntas publicadas
allPerguntas em qualquer status
publishedPerguntas publicadas
removedPerguntas reprovadas/removidas
filteredPerguntas filtradas pelo filtro de palavras proibidas
sentPerguntas na fila de moderação

Resposta

{
"results": [
{
"_id": "669daa280a3d4e00135eb618",
"status": "published",
"created": "2024-07-22T00:39:04.246Z",
"customer": "demoshakers",
"sku": "9311078449466",
"name": "Tony S.",
"text": "esse produto tem em qual cor?",
"email": "[email protected]",
"__v": 1,
"reply": {
"unhelpful": 0,
"helpful": 0,
"created": "2024-11-05T12:22:48.259Z",
"text": "Tem azul, vermelha e amarela"
},
"product": {
"_id": "669cfc8d64e4456616dd9a6d",
"sku": "9311078449466",
"customer": "demoshakers",
"brand": "Bonne Soirée",
"categories": [
"Blazer e Jaqueta"
],
"image": "https://cdn.shopify.com/s/files/1/0875/0976/2362/files/BONNE_SOIREE-329.jpg?v=1716429969",
"isKit": false,
"modified": "2024-07-29T19:38:57-04:00",
"name": "Blazer Jeans Isabelle",
"url": "https://demo-shakers-pro.myshopify.com/products/blazer-jeans-isabelle-1",
"variants": [
"85259071",
"85259072",
"85259073",
"85259074"
],
"status": "active",
"sumRatings": 234,
"totalReviews": 51
}
}
],
"total": 1
}

Obter respostas pesquisa NPS

Obtém as respostas à pesquisa NPS

GET {customer}/nps/responses

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação
skuSKU do produto que deseja buscar
typeClassificação de resposta (consulte tabela abaixo)
sortOrdenação dos resultados (consulte tabela abaixo)
skipQuantidade de registros a serem omitidos (paginação)
fromData inicial em formato YYYY-MM-DD (opcional)
toData final em formato YYYY-MM-DD (opcional)

Classificação de respostas NPS

StatusDescrição
allTodas as respostas
promotersPromotores (9 e 10)
neutralNeutros (7 e 8)
detractorsDetratores (0 a 6)

Ordenação de resultados

A ordenação segue o padrão campo,ordem. A ordem pode ser 1 para ascendente ou -1 para descendente.

CampoDescrição
createdData de envio da avaliação
ratingNota da avaliação (1 a 5)

Resposta

{
"result": [
{
"_id": "674dad491dceb80011018301",
"customer": "stanley",
"surveyId": "663d4588fe42f52137cfd3a2",
"requestId": "6709e7cef1a3f86303b6242",
"name": "Antony S.",
"phone": "11912345678",
"orderId": "12345678",
"rating": 10,
"comment": "",
"partial": true,
"created": "2024-12-02T12:51:21.037Z",
"__v": 0
},
{
"_id": "674d96411dceb80011005121",
"customer": "stanley",
"surveyId": "663d4588fe42f52137cfd3a2",
"requestId": "6709e7cef1a3f86303b6241",
"name": "Bruce B.",
"phone": "11987654321",
"orderId": "12345679",
"rating": 10,
"comment": "Entrega rápida. ",
"partial": false,
"created": "2024-12-02T11:13:05.762Z",
"__v": 0,
"sendDate": "2024-12-02T11:13:17.390Z"
}
],
"total": 12740
}

Campos de resposta

campodescrição
results._idID da resposta
results.namenome do cliente que respondeu
results.phonetelefone do cliente que respondeu
results.orderIdNúmero do pedido que gerou a pesquisa
results.partialIndica se a resposta foi submetida ou se é parcial (gravada automaticamente)
results.ratingnota atribuída pelo cliente
results.commenttexto de comentário do cliente
results.createddata de primeiro envio da resposta
results.sendDatedata submissão da resposta final
totaltotal de respostas obtidas com os critérios de busca

Relatório de produtos

Retorna uma lista paginada de produtos com seus respectivos dados de avaliações, permitindo análise de desempenho por produto.

GET /{customer}/products/report

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação

Parâmetros de query (todos opcionais)

ParâmetroTipoDescrição
orderstringOrdenação dos resultados (consulte tabela abaixo)
limitintegerQuantidade máxima de registros a retornar (padrão: 100)
skipintegerQuantidade de registros a omitir para paginação (padrão: 0)
categorystringFiltrar por categoria de produto (pode ser repetido para múltiplas categorias)
dateFromstringData de início do período em formato YYYY-MM-DD
dateTostringData de fim do período em formato YYYY-MM-DD
onlyPublishedbooleanQuando true, considera apenas avaliações com status published (padrão: false)

Opções de ordenação (order)

ValorDescrição
MoreReviewsProdutos com mais avaliações primeiro
LessReviewsProdutos com menos avaliações primeiro
MostPositiveProdutos com melhor nota média primeiro
MostNegativeProdutos com pior nota média primeiro
PositiveMoreReviewsMelhores avaliados com mais avaliações primeiro
PositiveLessReviewsMelhores avaliados com menos avaliações primeiro
NegativeMoreReviewsPiores avaliados com mais avaliações primeiro
NegativeLessReviewsPiores avaliados com menos avaliações primeiro

Comportamento por período

Quando dateFrom e dateTo são fornecidos, o relatório é calculado dinamicamente a partir das avaliações no intervalo de datas indicado. Quando omitidos, os dados são obtidos dos agregados pré-computados, representando o histórico completo do produto.

Exemplo de chamada

GET /konfidency/products/report?order=PositiveMoreReviews&limit=50&skip=0&dateFrom=2024-01-01&dateTo=2024-12-31&onlyPublished=true

Exemplo de resposta

{
"result": [
{
"customer": "konfidency",
"sku": "CAM-M-AZUL",
"name": "Camiseta Masculina Azul",
"categories": ["Roupas", "Camisetas", "Masculino"],
"url": "https://example.com/camiseta-masculina-azul",
"image": "https://example.com/camiseta-masculina-azul.jpg",
"reviews": {
"reviewCount": 42,
"aggregateRating": 4.7
}
}
],
"total": 150
}

Campos de resposta

campodescrição
result.customerIdentificador do cliente
result.skuSKU do produto
result.nameNome do produto
result.categoriesCategorias do produto
result.urlURL da página do produto
result.imageURL da imagem principal do produto
result.reviews.reviewCountQuantidade de avaliações no período ou no total
result.reviews.aggregateRatingNota média das avaliações
totalTotal de produtos encontrados com os critérios de busca

Moderação de Avaliações

Permite aprovar ou reprovar uma avaliação.

PUT /{customer}/reviews/{id}/moderate

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação
idID da avaliação a ser moderada

Parâmetros do corpo da requisição

ParâmetroDescrição
approvedValor booleano: true para aprovar, false para reprovar

Exemplo de corpo da requisição

{
"approved": true
}

Resposta

Esta API não gera um JSON de resposta. Um status 200 significa que a moderação foi registrada com sucesso.


Listar grupos de produtos

Obtém todos os grupos de produtos cadastrados.

GET /{customer}/products/groups/all

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação

Parâmetros de query (opcionais)

ParâmetroDescrição
skipQuantidade de registros a serem omitidos (paginação)
limitQuantidade máxima de registros a serem retornados

Exemplo de resposta

{
"result": [
{
"_id": "6284033fb0b7371985a42200",
"customer": "konfidency",
"name": "Camiseta Masculina",
"skus": ["CAM-M-AZUL", "CAM-M-PRETA"],
"__v": 0,
"products": [
{
"_id": "6284033fb0b7371985a42300",
"customer": "konfidency",
"sku": "CAM-M-AZUL",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-azul.jpg",
"name": "Camiseta Masculina Azul",
"url": "https://example.com/camiseta-masculina-azul",
"variants": ["CAM-M-AZUL-P", "CAM-M-AZUL-M", "CAM-M-AZUL-G", "CAM-M-AZUL-GG"]
},
{
"_id": "6284033fb0b7371985a42301",
"customer": "konfidency",
"sku": "CAM-M-PRETA",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-preta.jpg",
"name": "Camiseta Masculina Preta",
"url": "https://example.com/camiseta-masculina-preta",
"variants": ["CAM-M-PRETA-P", "CAM-M-PRETA-M", "CAM-M-PRETA-G", "CAM-M-PRETA-GG"]
}
]
},
{
"_id": "6284033fb0b7371985a42201",
"customer": "konfidency",
"name": "Camiseta Feminina",
"skus": ["CAM-F-ROSA", "CAM-F-BRANCA"],
"__v": 0,
"products": [
{
"_id": "6284033fb0b7371985a42302",
"customer": "konfidency",
"sku": "CAM-F-ROSA",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Feminino"],
"image": "https://example.com/camiseta-feminina-rosa.jpg",
"name": "Camiseta Feminina Rosa",
"url": "https://example.com/camiseta-feminina-rosa",
"variants": ["CAM-F-ROSA-P", "CAM-F-ROSA-M", "CAM-F-ROSA-G"]
},
{
"_id": "6284033fb0b7371985a42303",
"customer": "konfidency",
"sku": "CAM-F-BRANCA",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Feminino"],
"image": "https://example.com/camiseta-feminina-branca.jpg",
"name": "Camiseta Feminina Branca",
"url": "https://example.com/camiseta-feminina-branca",
"variants": ["CAM-F-BRANCA-P", "CAM-F-BRANCA-M", "CAM-F-BRANCA-G"]
}
]
}
],
"total": 2
}

Campos de resposta

campodescrição
result._idID único do grupo
result.customerCliente ao qual o grupo pertence
result.nameNome do grupo de produtos
result.skusArray com os SKUs dos produtos do grupo
result.__vVersão do documento
result.productsArray com dados completos dos produtos do grupo
result.products._idID único do produto
result.products.skuSKU do produto
result.products.nameNome do produto
result.products.brandMarca do produto
result.products.categoriesCategorias do produto
result.products.imageURL da imagem principal do produto
result.products.urlURL da página do produto
result.products.variantsVariantes/SKUs filhos do produto
totalTotal de grupos cadastrados

Obter grupo de produtos

Obtém os detalhes de um grupo de produtos específico.

GET /{customer}/products/groups/{id}

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação
idID do grupo de produtos

Exemplo de resposta

{
"_id": "6284033fb0b7371985a42200",
"customer": "konfidency",
"name": "Camiseta Masculina",
"skus": ["CAM-M-AZUL", "CAM-M-PRETA"],
"__v": 0,
"products": [
{
"_id": "6284033fb0b7371985a42300",
"customer": "konfidency",
"sku": "CAM-M-AZUL",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-azul.jpg",
"name": "Camiseta Masculina Azul",
"url": "https://example.com/camiseta-masculina-azul",
"variants": ["CAM-M-AZUL-P", "CAM-M-AZUL-M", "CAM-M-AZUL-G", "CAM-M-AZUL-GG"]
},
{
"_id": "6284033fb0b7371985a42301",
"customer": "konfidency",
"sku": "CAM-M-PRETA",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-preta.jpg",
"name": "Camiseta Masculina Preta",
"url": "https://example.com/camiseta-masculina-preta",
"variants": ["CAM-M-PRETA-P", "CAM-M-PRETA-M", "CAM-M-PRETA-G", "CAM-M-PRETA-GG"]
}
]
}

Campos de resposta

campodescrição
_idID único do grupo
customerCliente ao qual o grupo pertence
nameNome do grupo de produtos
skusArray com os SKUs dos produtos do grupo
__vVersão do documento
productsArray com dados completos dos produtos do grupo
products._idID único do produto
products.skuSKU do produto
products.nameNome do produto
products.brandMarca do produto
products.categoriesCategorias do produto
products.imageURL da imagem principal do produto
products.urlURL da página do produto
products.variantsVariantes/SKUs filhos do produto (ex: tamanhos)

Criar grupo de produtos

Cria um novo grupo de produtos.

POST /{customer}/products/groups

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação

Parâmetros do corpo da requisição

ParâmetroDescrição
nameNome do grupo de produtos
skusArray com os SKUs dos produtos a serem agrupados

Exemplo de corpo da requisição

{
"name": "Camiseta Masculina",
"skus": ["CAM-M-AZUL", "CAM-M-PRETA"]
}

Exemplo de resposta

{
"_id": "6284033fb0b7371985a42200",
"customer": "konfidency",
"name": "Camiseta Masculina",
"skus": ["CAM-M-AZUL", "CAM-M-PRETA"],
"__v": 0,
"products": [
{
"_id": "6284033fb0b7371985a42300",
"customer": "konfidency",
"sku": "CAM-M-AZUL",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-azul.jpg",
"name": "Camiseta Masculina Azul",
"url": "https://example.com/camiseta-masculina-azul",
"variants": ["CAM-M-AZUL-P", "CAM-M-AZUL-M", "CAM-M-AZUL-G", "CAM-M-AZUL-GG"]
},
{
"_id": "6284033fb0b7371985a42301",
"customer": "konfidency",
"sku": "CAM-M-PRETA",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-preta.jpg",
"name": "Camiseta Masculina Preta",
"url": "https://example.com/camiseta-masculina-preta",
"variants": ["CAM-M-PRETA-P", "CAM-M-PRETA-M", "CAM-M-PRETA-G", "CAM-M-PRETA-GG"]
}
]
}

Resposta de erro (409 - Conflito)

Caso algum SKU já pertença a outro grupo, a API retornará status 409 com os SKUs conflitantes:

{
"message": "Alguns SKUs já pertencem a outros grupos",
"conflictingSkus": ["CAM-M-AZUL"]
}

Campos de resposta

campodescrição
_idID único do grupo criado
customerCliente ao qual o grupo pertence
nameNome do grupo de produtos
skusArray com os SKUs dos produtos do grupo
__vVersão do documento
productsArray com dados completos dos produtos do grupo
products._idID único do produto
products.skuSKU do produto
products.nameNome do produto
products.brandMarca do produto
products.categoriesCategorias do produto
products.imageURL da imagem principal do produto
products.urlURL da página do produto
products.variantsVariantes/SKUs filhos do produto (ex: tamanhos)

Atualizar grupo de produtos

Atualiza um grupo de produtos existente.

PUT /{customer}/products/groups/{id}

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação
idID do grupo de produtos a ser atualizado

Parâmetros do corpo da requisição

ParâmetroDescrição
nameNome do grupo de produtos
skusArray com os SKUs dos produtos a serem agrupados

Exemplo de corpo da requisição

{
"name": "Camiseta Masculina",
"skus": ["CAM-M-AZUL", "CAM-M-PRETA", "CAM-M-VERDE"]
}

Exemplo de resposta

{
"_id": "6284033fb0b7371985a42200",
"customer": "konfidency",
"name": "Camiseta Masculina",
"skus": ["CAM-M-AZUL", "CAM-M-PRETA", "CAM-M-VERDE"],
"__v": 0,
"products": [
{
"_id": "6284033fb0b7371985a42300",
"customer": "konfidency",
"sku": "CAM-M-AZUL",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-azul.jpg",
"name": "Camiseta Masculina Azul",
"url": "https://example.com/camiseta-masculina-azul",
"variants": ["CAM-M-AZUL-P", "CAM-M-AZUL-M", "CAM-M-AZUL-G", "CAM-M-AZUL-GG"]
},
{
"_id": "6284033fb0b7371985a42301",
"customer": "konfidency",
"sku": "CAM-M-PRETA",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-preta.jpg",
"name": "Camiseta Masculina Preta",
"url": "https://example.com/camiseta-masculina-preta",
"variants": ["CAM-M-PRETA-P", "CAM-M-PRETA-M", "CAM-M-PRETA-G", "CAM-M-PRETA-GG"]
},
{
"_id": "6284033fb0b7371985a42305",
"customer": "konfidency",
"sku": "CAM-M-VERDE",
"brand": "Konfidency Store",
"categories": ["Roupas", "Camisetas", "Masculino"],
"image": "https://example.com/camiseta-masculina-verde.jpg",
"name": "Camiseta Masculina Verde",
"url": "https://example.com/camiseta-masculina-verde",
"variants": ["CAM-M-VERDE-P", "CAM-M-VERDE-M", "CAM-M-VERDE-G", "CAM-M-VERDE-GG"]
}
]
}

Resposta de erro (409 - Conflito)

Caso algum SKU já pertença a outro grupo, a API retornará status 409 com os SKUs conflitantes:

{
"message": "Alguns SKUs já pertencem a outros grupos",
"conflictingSkus": ["CAM-M-VERDE"]
}

Campos de resposta

campodescrição
_idID único do grupo
customerCliente ao qual o grupo pertence
nameNome atualizado do grupo de produtos
skusArray atualizado com os SKUs do grupo
__vVersão do documento
productsArray com dados completos dos produtos do grupo
products._idID único do produto
products.skuSKU do produto
products.nameNome do produto
products.brandMarca do produto
products.categoriesCategorias do produto
products.imageURL da imagem principal do produto
products.urlURL da página do produto
products.variantsVariantes/SKUs filhos do produto (ex: tamanhos)

Deletar grupo de produtos

Remove um grupo de produtos.

DELETE /{customer}/products/groups/{id}

Parâmetros de URL

ParâmetroDescrição
customerSeu Customer key — consulte Obtendo chaves de autenticação
idID do grupo de produtos a ser deletado

Resposta

Esta API não gera um JSON de resposta. Um status 200 significa que o grupo foi deletado com sucesso.