Pular para o conteúdo
AchaduDevelopers
API operacionalIr para o site ↗
Painel →
Developers/API/offer_create
Offers

Criar oferta

Cria uma oferta pendente sem publicá-la.

POST/offersoffers:write
COMPORTAMENTO

A alteração é validada e persistida na conta da chave antes da resposta. Consulte o recurso retornado como fonte de verdade.

EFEITO

Pode alterar o recurso e emitir o evento de domínio correspondente.

REPETIÇÃO

Em falha de rede, confirme o estado do recurso antes de repetir. Refaça automaticamente apenas 429 e 5xx com backoff e jitter.

Solicitação

urlstring · bodyURL HTTPS original do produto.uri · maxLength 2000obrigatório
titlestring · bodyTítulo público da oferta.minLength 3 · maxLength 240obrigatório
marketplacestring · bodyMarketplace de origem.maxLength 40opcional
pricenumber · bodyPreço atual.opcional
original_pricenumber · bodyPreço anterior.opcional
currencystring · bodyMoeda ISO 4217.minLength 3 · maxLength 8 · default BRLopcional
imagestring · bodyURL HTTPS da imagem.uriopcional
storestring · bodyNome da loja.opcional
categorystring · bodyCategoria.opcional
couponstring · bodyCódigo do cupom.opcional
copystring · bodyTexto editorial da oferta.maxLength 6000opcional
statusstring · bodyEstado de curadoria.opcional
AuthorizationBearer ach_live_...
Acceptapplication/json
Escopooffers:write

Exemplo executável

curl
curl -X POST 'https://achadu.com/api/v1/offers' \
  -H 'Authorization: Bearer ach_live_...' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data '{
  "url": "https://example.com/product",
  "title": "Air fryer 5L",
  "marketplace": "string",
  "price": 329.9,
  "original_price": 329.9
}'

Resposta e erros

Toda resposta inclui request_id. Listas acrescentam pagination; recursos mutáveis retornam o estado persistido após a operação.

201 application/json
{
  "data": {
    "id": "off_01J...",
    "marketplace": "amazon",
    "title": "Air fryer 5L",
    "url": "https://example.com/product",
    "price": 329.9,
    "currency": "BRL",
    "review_status": "pending",
    "created_at": "2026-08-31T18:20:00.000Z"
  },
  "created": true,
  "request_id": "req_01J..."
}
201Recurso criado e persistido.
400Parâmetro, corpo ou transição inválida.
401Chave ausente, inválida, expirada ou revogada.
402O plano da conta não libera esta interface.
403A chave precisa do escopo offers:write.
404Recurso inexistente nesta conta.
409O estado atual impede esta operação.
413O corpo JSON ultrapassa 128 KB.
429A janela de 120 solicitações por minuto foi excedida.