Offers
Criar oferta
Cria uma oferta pendente sem publicá-la.
POST
/offersoffers:writeCOMPORTAMENTO
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óriotitlestring · bodyTítulo público da oferta.minLength 3 · maxLength 240obrigatóriomarketplacestring · bodyMarketplace de origem.maxLength 40opcionalpricenumber · bodyPreço atual.opcionaloriginal_pricenumber · bodyPreço anterior.opcionalcurrencystring · bodyMoeda ISO 4217.minLength 3 · maxLength 8 · default BRLopcionalimagestring · bodyURL HTTPS da imagem.uriopcionalstorestring · bodyNome da loja.opcionalcategorystring · bodyCategoria.opcionalcouponstring · bodyCódigo do cupom.opcionalcopystring · bodyTexto editorial da oferta.maxLength 6000opcionalstatusstring · bodyEstado de curadoria.opcionalAuthorization
Bearer ach_live_...Accept
application/jsonEscopo
offers:writeExemplo 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.