Cria um produto
/v1/productsAutentique com o header SelectKey: a chave sk_test_ opera no sandbox, a sk_live_ em produção. Como autenticar.
Corpo da requisição
namestringobrigatórioNome do produto (o
slugé derivado dele).typestringobrigatóriophysical(enviado),digitalouother.Valores:physicaldigitalotherfiscalobjectpode ser nuloPerfil fiscal do produto;
nulllimpa.+10 campos de
fiscalnbsstringCódigo NBS, 9 dígitos (serviço).
ncmstringCódigo NCM, 8 dígitos (mercadoria).
ceststringCódigo CEST, 7 dígitos (mercadoria com substituição tributária).
gtinstringGTIN/EAN — 8, 12, 13 ou 14 dígitos.
kindstringserviceemite NFS-e,goodsemite NF-e. Omitido: um produtophysicalé mercadoria, os outros são serviço.Valores:servicegoodsunitstringUnidade comercial (UN, KG, CX…).
originintegerOrigem da mercadoria (tabela A do ICMS, 0 a 8; 0 = nacional).
cClassTribstringClassificação tributária do IBS/CBS (cClassTrib, 6 dígitos).
serviceCodestringItem da lista de serviços da LC 116 (
01.07ou0107).cityServiceCodestringCódigo do serviço na sua prefeitura.
imagesstring (uri)[]URLs de imagem. Para anexar um arquivo, envie-o antes (
POST /v1/assets/uploadse depois a confirmação) e mande a URL do arquivo.enabledbooleanSe o produto está à venda.
categorystringobrigatórioCategoria, texto livre.
languagestringIdioma do produto (ex.:
pt-BR).variantsobject[]obrigatórioAs variantes (1 a 100). A primeira é a principal.
+10 campos de
variantsskustringO seu SKU.
namestringobrigatórioNome da variante.
fiscalobjectpode ser nuloO que a variante muda no perfil fiscal do produto;
nulllimpa.+10 campos de
fiscalnbsstringCódigo NBS, 9 dígitos (serviço).
ncmstringCódigo NCM, 8 dígitos (mercadoria).
ceststringCódigo CEST, 7 dígitos (mercadoria com substituição tributária).
gtinstringGTIN/EAN — 8, 12, 13 ou 14 dígitos.
kindstringserviceemite NFS-e,goodsemite NF-e. Omitido: um produtophysicalé mercadoria, os outros são serviço.Valores:servicegoodsunitstringUnidade comercial (UN, KG, CX…).
originintegerOrigem da mercadoria (tabela A do ICMS, 0 a 8; 0 = nacional).
cClassTribstringClassificação tributária do IBS/CBS (cClassTrib, 6 dígitos).
serviceCodestringItem da lista de serviços da LC 116 (
01.07ou0107).cityServiceCodestringCódigo do serviço na sua prefeitura.
imagesstring (uri)[]URLs de imagem. Para anexar um arquivo, envie-o antes (
POST /v1/assets/uploadse depois a confirmação) e mande a URL do arquivo.enabledbooleanSe a variante está à venda.
pricingobjectobrigatórioPreço e modelo de cobrança da variante.
+22 campos de
pricingtypestringoneTime(uma venda) ourecurring(um plano de assinatura).Valores:oneTimerecurringtiersobject[]As faixas de preço (
schema=tiered), em ordem crescente deupTo.+3 campos de
tiersupTointegerpode ser nuloLimite superior da faixa (unidades);
null= sem limite (a última faixa).flatPriceintegerpode ser nuloValor fixo somado quando a faixa é atingida, em centavos.
unitPriceintegerobrigatórioPreço unitário dentro da faixa, em centavos.
cyclesintegerpode ser nuloNúmero de ciclos até a assinatura acabar;
null= até ser cancelada.schemastringComo o preço é calculado:
unit(preço × quantidade),tiered(por faixas de quantidade) oupackage(por bloco de unidades).Valores:unittieredpackagecurrencystringCódigo de moeda ISO 4217
oldPriceintegerO preço antes de um desconto, em centavos — mostrado riscado.
daysTrialintegerDuração do período de teste de um plano recorrente, em dias.
tiersModestringgraduated: cada faixa precifica as próprias unidades;volume: a faixa atingida precifica todas as unidades.Valores:graduatedvolumeunitPriceintegerPreço unitário, em centavos (mínimo 500 em
unit; não usado emtiered).usageTypestringlicensed(quantidade fixa) oumetered(cobrado pelo uso que você reporta).Valores:licensedmeteredbillingTypestringQuando um ciclo é cobrado:
prepaid(no início),postpaid(no fim) ouexactday(embillingExactDay).Valores:prepaidpostpaidexactdaycostPerItemintegerO seu custo por unidade, em centavos (para os seus relatórios de margem).
trialIntervalstringUnidade da duração do teste.
Valores:dayweekmonthyearmeterEventNamestringNome do medidor de uso que você reporta (só
metered).billingExactDayintegerDia do mês em que o ciclo é cobrado (
billingType=exactday).renewalShippingbooleanPlanos recorrentes: cobrar o frete cotado no checkout em CADA renovação (padrão
true).billingFrequencystringUnidade do intervalo de cobrança.
Valores:dailyweeklymonthlyyearlyusageAggregationstringComo os registros de uso de um ciclo são agregados:
sum,max,lastDuringPeriodoulastEver.Valores:summaxlastDuringPeriodlastEvertransformQuantityobjectEm
schema=package: quantas unidades formam um bloco, e como um bloco parcial é arredondado.+2 campos de
transformQuantityroundstringComo um bloco parcial é arredondado.
Valores:updowndivideByintegerobrigatórioUnidades por bloco.
trialIntervalCountintegerDuração do teste, em unidades de
trialInterval.billingFrequencyCountintegerQuantas unidades de
billingFrequencypor ciclo.renewalMethodDiscountbooleanPlanos recorrentes: estender o desconto do meio de pagamento do checkout às renovações cobradas pelo mesmo meio (padrão
false).
metadataobjectObjeto JSON livre — no máximo 50 chaves, chaves de até 40 caracteres, cada valor com até 500 caracteres (o JSON dele, quando não é texto), o objeto inteiro com até 8192 bytes em JSON.
attributesobjectAtributos livres da variante (tamanho, cor…).
descriptionstringDescrição.
externalReferencestringO seu próprio identificador da variante.
salesPagestringURL da página de vendas.
descriptionstringDescrição.
warrantyDaysintegerobrigatórioGarantia oferecida ao comprador, em dias (7 a 3650).
externalReferencestringO seu próprio identificador do produto.
Respostas
201Criado
idstringobrigatórioIdentificador público (prd_/pro_…)
namestringobrigatórioNome do produto.
slugstringobrigatóriopode ser nuloSlug, derivado do nome.
typestringobrigatóriophysical,digitalouother.Valores:physicaldigitalotherfiscalobjectobrigatóriopode ser nuloPerfil fiscal do produto;
nullquando não há.+10 campos de
fiscalnbsstringCódigo NBS (serviço).
ncmstringCódigo NCM (mercadoria).
ceststringCódigo CEST (mercadoria).
gtinstringGTIN/EAN.
kindstringservice(NFS-e) ougoods(NF-e).Valores:servicegoodsunitstringUnidade comercial.
originintegerOrigem da mercadoria (0 a 8).
cClassTribstringClassificação tributária do IBS/CBS.
serviceCodestringItem da lista de serviços da LC 116.
cityServiceCodestringCódigo do serviço na sua prefeitura.
imagesum de[]obrigatóriopode ser nuloURLs das imagens;
nullquando não há.enabledbooleanobrigatórioSe o produto está à venda.
categorystringobrigatórioCategoria.
languagestringobrigatóriopode ser nuloIdioma do produto.
salesQtyintegerobrigatóriopode ser nuloNúmero de vendas do produto;
nullquando desconhecido.variantsobject[]obrigatórioAs variantes do produto.
+17 campos de
variantsidstringobrigatórioIdentificador público (var_/prv_…)
skustringobrigatóriopode ser nuloO seu SKU;
nullquando não há.namestringobrigatóriopode ser nuloNome da variante.
slugstringobrigatóriopode ser nuloSlug da variante.
fiscalobjectobrigatóriopode ser nuloO que a variante muda no perfil fiscal do produto;
null= nada.+10 campos de
fiscalnbsstringCódigo NBS (serviço).
ncmstringCódigo NCM (mercadoria).
ceststringCódigo CEST (mercadoria).
gtinstringGTIN/EAN.
kindstringservice(NFS-e) ougoods(NF-e).Valores:servicegoodsunitstringUnidade comercial.
originintegerOrigem da mercadoria (0 a 8).
cClassTribstringClassificação tributária do IBS/CBS.
serviceCodestringItem da lista de serviços da LC 116.
cityServiceCodestringCódigo do serviço na sua prefeitura.
imagesum de[]obrigatóriopode ser nuloURLs das imagens;
nullquando não há.enabledbooleanobrigatórioSe a variante está à venda.
pricingobjectobrigatórioPreço e modelo de cobrança da variante.
+22 campos de
pricingtypestringobrigatóriooneTime(uma venda) ourecurring(um plano de assinatura).Valores:oneTimerecurringtiersanypode ser nuloAs faixas de preço;
nullfora detiered.cyclesintegerobrigatóriopode ser nuloNúmero de ciclos até a assinatura acabar;
null= até ser cancelada.schemastringobrigatórioComo o preço é calculado:
unit,tieredoupackage.Valores:unittieredpackagecurrencystringobrigatórioMoeda (ISO 4217).
oldPriceintegerobrigatóriopode ser nuloO preço antes de um desconto, em centavos;
nullquando não há.daysTrialintegerobrigatóriopode ser nuloDuração do período de teste, em dias;
nullquando não há.tiersModestringobrigatóriopode ser nulograduatedouvolume;nullfora detiered.unitPriceintegerobrigatóriopode ser nuloPreço unitário, em centavos;
nullemtiered.usageTypestringobrigatóriolicensedoumetered.billingTypestringobrigatóriopode ser nuloQuando um ciclo é cobrado:
prepaid,postpaidouexactday;nullem venda avulsa.costPerItemintegerobrigatóriopode ser nuloO seu custo por unidade, em centavos;
nullquando não definido.trialIntervalstringobrigatóriopode ser nuloUnidade da duração do teste;
nullquando não há.meterEventNamestringobrigatóriopode ser nuloNome do medidor de uso;
nullfora demetered.billingExactDayintegerobrigatóriopode ser nuloDia do mês em que o ciclo é cobrado;
nullquando não é fixo.renewalShippingbooleanobrigatórioPlanos recorrentes: se o frete cotado no checkout é cobrado em cada renovação.
billingFrequencystringobrigatóriopode ser nuloUnidade do intervalo de cobrança;
nullem venda avulsa.usageAggregationstringobrigatóriopode ser nuloComo o uso é agregado;
nullfora demetered.transformQuantityanypode ser nuloUnidades por bloco e arredondamento;
nullfora depackage.trialIntervalCountintegerobrigatóriopode ser nuloDuração do teste, em unidades de
trialInterval;nullquando não há.billingFrequencyCountintegerobrigatóriopode ser nuloQuantas unidades por ciclo;
nullem venda avulsa.renewalMethodDiscountbooleanobrigatórioPlanos recorrentes: se o desconto do meio de pagamento do checkout se estende às renovações.
primarybooleanobrigatórioSe é a variante principal do produto.
metadataobjectobrigatóriopode ser nuloOs seus metadados chave-valor;
nullquando não há.createdAtstringobrigatórioQuando o recurso foi criado (ISO 8601, UTC).
productIdstringobrigatórioO produto a que a variante pertence.
updatedAtstringobrigatórioQuando o recurso foi atualizado pela última vez (ISO 8601, UTC).
attributesobjectobrigatóriopode ser nuloAtributos livres da variante;
nullquando não há.checkoutUrlstringobrigatóriopode ser nuloURL do checkout hospedado desta variante;
nullquando não há.descriptionstringobrigatóriopode ser nuloDescrição;
nullquando não há.externalReferencestringobrigatóriopode ser nuloO seu próprio identificador da variante;
nullquando não há.
createdAtstringobrigatórioQuando o recurso foi criado (ISO 8601, UTC).
salesPagestringobrigatóriopode ser nuloURL da página de vendas;
nullquando não há.updatedAtstringobrigatórioQuando o recurso foi atualizado pela última vez (ISO 8601, UTC).
descriptionstringobrigatóriopode ser nuloDescrição;
nullquando não há.warrantyDaysintegerobrigatórioGarantia oferecida ao comprador, em dias.
imageAssetIdsanypode ser nuloIds dos arquivos de imagem;
nullquando não há.externalReferencestringobrigatóriopode ser nuloO seu próprio identificador do produto;
nullquando não há.
400Requisição inválida (validação)
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
401Não autenticado (credencial ausente ou inválida)
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
403Sem permissão
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
409Conflito (idempotência ou estado)
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
500Erro interno do servidor
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório