Configuração da API do eBay para um agente de anúncios com IA
O agente de IA que anuncia meus itens no eBay consegue agrupar minhas fotos, identificar o item, definir o preço com base nos dados de itens comparáveis que eu forneço e montar o anúncio. Ele não consegue abrir a própria conta de desenvolvedor no eBay. O eBay exige uma pessoa para isso e para mais algumas telas depois.
Por isso, este guia de configuração da API do eBay divide o trabalho em duas partes. Você cuida de seis páginas do eBay e cola três valores em um arquivo no seu próprio disco. Seu agente faz o resto pelo terminal: a página de privacidade, o link de consentimento, a troca do código por um token, a verificação das políticas. O título de cada etapa diz de quem é a vez: Você ou Você e seu agente. Dentro de uma etapa, uma instrução direta é para você. Uma linha que começa com “Peça ao seu agente” marca a vez dele, e você pode acompanhar o JSON passando na tela.
Quem faz o quê na configuração da API do eBay
| Etapa | Você | Seu agente |
|---|---|---|
| Antes de começar | Tenha uma conta de vendedor, uma conta no GitHub e um agente de programação com IA. Responda às perguntas de adoção | Copia o código para uma pasta privada, instala e executa os testes |
| 1. Conta de desenvolvedor | Faz o cadastro e espera a aprovação | — |
| 2. Conjunto de chaves de Production (Produção) | Cria o conjunto | — |
| 3. Desbloquear o conjunto de chaves | Responde ao formulário do eBay sobre exclusão de contas | — |
| 4. Página de privacidade | Fornece um nome, um contato e seu serviço de IA | Preenche o modelo e publica um Gist |
| 5. RuName | Preenche um formulário | — |
6. Arquivo .env |
Cola três valores | Cria o arquivo e define Production |
| 7. Consentimento | Aceita no eBay e copia um endereço | Monta o link e troca o código por um token |
| 8. Políticas comerciais | Cria políticas de frete, pagamento e devolução | Verifica as políticas e ativa sua participação se você disser sim |
9. account.json |
Faz as escolhas que ele não consegue fazer e aprova um novo local | Grava o arquivo, aplica suas respostas de adoção e executa cinco verificações |
Pense no token de atualização da etapa 7 como a chave do seu carro, e no pipeline como um manobrista com um manual de regras. O manobrista estaciona o carro: seu agente monta uma oferta não publicada que os compradores não conseguem ver. Ele não sai do estacionamento até você dar o sinal, porque publicar exige seu sim explícito. Uma ressalva importante: a chave em si permite fazer mais do que o manual autoriza, então ela fica no .env no seu disco, nunca em uma conversa.
Os números em rosa em cada captura de tela correspondem aos números das instruções abaixo dela. Os rótulos correspondem às telas do eBay em novembro de 2026. O eBay muda os nomes de vez em quando; se algum rótulo estiver diferente, siga a página do eBay indicada no link.
Tudo aqui vem do ebay-listing-agent, o pipeline de anúncios que eu uso na minha própria conta de vendedor. Seu agente precisa do repositório antes da etapa 1, então pegue o link agora.
Por que esta configuração da API do eBay vai direto para Production
O eBay oferece um Sandbox (ambiente de testes), um marketplace de faz de conta para testes. O guia do próprio repositório começa por lá. Este aqui, não. Seus anúncios ficam em Production, e um usuário de teste do Sandbox começa sem políticas comerciais e sem local de estoque. Criar tudo isso no Sandbox é uma missão paralela. Por isso, seu agente se conecta à sua conta real de vendedor desde o início, e as proteções do pipeline cuidam da segurança:
- O fluxo de trabalho Lister para em uma oferta não publicada. Os compradores não conseguem vê-la.
publishsem--confirmexibe um resumo e se recusa a continuar. Seu agente mostra esse resumo para você e espera pelo seu sim.- Os dois comandos que alteram sua conta de vendedor,
setup --opt-inesetup --create-location, também se recusam a continuar sem--confirm. - Seu agente pode remover uma oferta não publicada que você não quer com
delete-offer. O comando se recusa a remover qualquer oferta já publicada.
⚠️ Aviso: Esta configuração conecta seu agente à sua conta real de vendedor. Mantenha o Cert ID (identificador secreto do aplicativo) e o token de atualização apenas no
.env. Não cole esses dados em uma conversa. Não inclua o.envem um commit do git.
Antes de começar
Você precisa ter:
- Uma conta de vendedor do eBay em situação regular, com os pagamentos configurados. Seus anúncios vão para ela.
- O marketplace dos EUA (
EBAY_US). Outros marketplaces não foram testados. - Uma conta no GitHub. Seu agente publica uma pequena página lá na etapa 4.
- Um agente de programação com IA que consiga executar comandos no terminal, como Claude Code, Cursor ou Codex CLI.
Seu agente faz:
- Clona o repositório e copia
core/para uma nova pasta privada. Uma cópia, não um fork: no GitHub, um fork de um repositório público é público, e suas pastas de anúncios vão conter os identificadores das suas ofertas. - Instala Python 3.10+, ImageMagick 7 e a CLI do GitHub (
gh) se estiverem faltando, depois instala os pacotes do Python e executa os testes. - Guia você pelo
ADOPTION-QUESTIONS.md: seu limite de preço para revisão, a confiança necessária antes de anunciar, quais políticas usar. Ele anota suas respostas e as aplica na etapa 9. Suas respostas sobre frete e devoluções determinam o que você cria na etapa 8.
Um prompt que você pode colar:
Leia ADOPTION-GUIDE.md em github.com/matbanik/ebay-listing-agent. Faça as etapas 1 a 3 comigo. Vamos configurar o eBay em Production, não no Sandbox. Pare antes do acesso à API do eBay.
Diga “Production” com todas as letras assim. O guia do repositório sugere o Sandbox primeiro, e um agente aplicado segue o repositório.
1. Você: entre no eBay Developers Program (Programa de desenvolvedores do eBay)
Sua conta de vendedor não pode chamar a API. O eBay mantém seu programa de desenvolvedores como um prédio separado, com sua própria porta de entrada, então você precisa de uma segunda conta. Ela pode usar o mesmo e-mail da sua conta de vendedor. Ainda assim, o login é outro.
- Abra a página de cadastro do programa de desenvolvedores do eBay.
- Preencha o formulário. Digite seu endereço de e-mail uma segunda vez onde o formulário pedir.
- Aceite o API License Agreement (Contrato de licença da API). Conclua a verificação de que você não é um robô. Selecione Join (Participar).
- Espere a aprovação. Ela pode levar cerca de um dia útil. Você não pode criar chaves antes da aprovação.
O eBay pode pedir um endereço de e-mail comercial. Informe um se você tiver.
2. Você: crie seu conjunto de chaves de Production do eBay
Um conjunto de chaves é a carteira de identidade do seu aplicativo: três valores que dizem ao eBay qual aplicativo está batendo à porta. Você precisa do conjunto de Production.
- Abra Application Keys (Chaves do aplicativo) no site de desenvolvedores.
- Em Production, crie um conjunto de chaves. Dê qualquer título ao aplicativo, por exemplo “my-ebay-lister”.
- Confira se a seção Production mostra App ID (Client ID) (Identificador do aplicativo ou do cliente), Dev ID e Cert ID (Client Secret) (Identificador secreto do aplicativo ou segredo do cliente).
- Deixe essa página aberta. Você vai precisar dela de novo nas etapas 3, 5 e 6.
O App ID identifica seu aplicativo. O Cert ID é a senha dele, então trate-o como uma senha. O Dev ID não é usado. Os dois links destacados em caixas abaixo do App ID, User Tokens (Tokens do usuário) e Notifications (Notificações), são as portas de entrada para as etapas 5 e 3. Um conjunto de chaves de Production recém-criado também mostra “Your Keyset is currently disabled.” (Seu conjunto de chaves está desativado no momento.) Isso é normal. A etapa 3 é o desbloqueio.
3. Você: desbloqueie o conjunto de chaves de Production
O eBay não ativa um conjunto de chaves de Production até você responder a uma pergunta: quando um usuário do eBay encerra a conta, como seu aplicativo fica sabendo? Aplicativos que armazenam dados de usuários do eBay precisam receber esses avisos de exclusão. Os que não armazenam podem pedir uma isenção. O formulário fica no link Notifications, abaixo do seu App ID de Production. Você também pode abrir a página de notificações de Production diretamente.
⚠️ Cuidado: Selecione apenas um motivo de isenção que seja verdadeiro para você. Se nenhum motivo for verdadeiro para seu aplicativo, não peça a isenção. Use a alternativa com um endpoint no final desta etapa. Se uma caixa de confirmação abrir depois de você ativar o botão, leia o texto. Selecione Confirm (Confirmar) apenas se a afirmação for verdadeira para você. O formulário diz: “Failure to provide correct information may result in penalties or having your account disabled.” (Não fornecer informações corretas pode resultar em penalidades ou na desativação da sua conta.)
- Selecione Marketplace Account Deletion (Exclusão de contas do marketplace).
- Ative o botão Exempted from Marketplace Account Deletion (Isento da exclusão de contas do marketplace).
- Selecione o Exemption reason (Motivo da isenção) que seja verdadeiro para você. Descreva o que você armazena em Additional information (Informações adicionais).
- Selecione Submit (Enviar).
- Abra Application Keys novamente. Confira se o conjunto de chaves de Production mostra a mensagem “Your Keyset is currently disabled.”
- A mensagem ainda está lá? Pare. Avance para a página de privacidade na etapa 4 enquanto espera. Não comece o consentimento da etapa 7 até a mensagem desaparecer.
É sobre isto que você está decidindo. O pipeline funciona apenas na sua própria conta de vendedor. Ele nunca faz login de outros usuários do eBay e não guarda dados de compradores. Ele guarda no seu disco arquivos sobre seus próprios anúncios: títulos, preços, identificadores de ofertas e identificadores de anúncios. A expressão do eBay, “any eBay data” (quaisquer dados do eBay), não diz se isso conta. Eu não posso tomar essa decisão por você, e seu agente também não.
Se nenhum motivo se aplicar, ou se o eBay negar a isenção, a outra alternativa é cadastrar um endpoint HTTPS que responda aos avisos do eBay. O repositório não inclui um, então você mesmo precisa hospedá-lo, e o consentimento da etapa 7 espera até ele funcionar. O guia do eBay sobre exclusão de contas explica como fazer. Alguns desenvolvedores no fórum do eBay relatam conjuntos de chaves que continuaram como “Non Compliant” (Não conforme) depois do pedido, então confira o conjunto antes de seguir em frente.
4. Você e seu agente: publiquem uma página de privacidade
O eBay não cria um RuName na etapa 5 sem uma URL de política de privacidade. Escrever uma parece dever de casa. A maior parte é trabalho do seu agente, porque o repositório já vem com um modelo.
- Dê ao seu agente um nome para o aplicativo, seu nome ou o da sua empresa, um contato público e o serviço de IA que você usa.
- Peça ao seu agente para preencher
PRIVACY-TEMPLATE.md. Ele salva o resultado comoprivacy-policy.md. - Peça ao seu agente para publicar
privacy-policy.mdcomo um Gist público do GitHub. - O
ghpede um login? Executegh auth loginvocê mesmo. Siga as instruções. - Leia a página que seu agente publicar. Confira o nome e o contato.
- Anote o link do Gist. Você vai colá-lo no formulário do RuName na etapa 5.
Um prompt que você pode colar:
Preencha PRIVACY-TEMPLATE.md para “My eBay Lister”. Proprietário: [seu nome ou o da sua empresa]. Contato: [o e-mail ou a página que você vai publicar]. Serviço de IA: [o que você usa]. Salve como privacy-policy.md, publique como um Gist público e me dê o link.
O modelo tem cinco partes curtas: o que o aplicativo acessa, o que armazena, com quem compartilha, como excluir os dados e como entrar em contato com você. Também tem uma linha para informar qualquer serviço de IA que analise suas fotos. Seu agente lê suas fotos para identificar os itens, então informe o serviço em que ele roda. O modelo também não promete mais do que entrega: “Este é um ponto de partida, não uma orientação jurídica.” A publicação em si leva uma linha para seu agente:
gh gist create --public --desc "Privacy policy: My eBay Lister" privacy-policy.md
5. Você: crie seu RuName do eBay
RuName é a abreviação de “redirect URL name” (nome da URL de redirecionamento). É o apelido que o eBay dá às suas configurações de redirecionamento, e parece que o nome do seu aplicativo passou por um triturador: YourName-YourApp-ab12-cdefgh. A etapa de consentimento precisa dele. Cada conjunto de chaves tem seu próprio RuName, então crie este a partir do conjunto de Production.
Chegue ao formulário:
- Em Application Keys, selecione User Tokens abaixo do App ID de Production.
- Abra Get a Token from eBay via Your Application (Obtenha um token do eBay pelo seu aplicativo). Selecione “You have no Redirect URLs. Click here to add one.” (Você não tem URLs de redirecionamento. Clique aqui para adicionar uma.)
- O eBay pede um endereço legal? Preencha o formulário. Selecione Continue to create RuName (Continuar para criar o RuName).
Preencha o formulário. Os números em rosa correspondem a esta lista:
- Em Your privacy policy URL (URL da sua política de privacidade), cole o link do Gist da etapa 4.
- Em Your auth accepted URL (Sua URL de autorização aceita) e Your auth declined URL (Sua URL de autorização recusada), informe qualquer endereço HTTPS. Minha configuração usa
https://example.com. - Informe um Display Title (Título de exibição), por exemplo “My eBay Lister”. Você vê esse título na página de consentimento da etapa 7.
- Salve o formulário.
- Copie o RuName. Você vai colá-lo no
.envna etapa 6.
Por que a URL de autorização aceita pode ser qualquer página HTTPS? Nada precisa rodar lá. Depois que você aceita na etapa 7, o eBay envia seu navegador para esse endereço com um código de uso único acrescentado, e você o copia direto da barra de endereços. O formulário do eBay acrescenta: “If you leave these fields blank, the eBay default accept and reject pages will be used.” (Se você deixar esses campos em branco, serão usadas as páginas padrão de aceitação e recusa do eBay.) O endereço que você copia nesse caso fica diferente. A etapa 7 mostra os dois.
O eBay também não aceita a própria política de privacidade como se fosse a sua: a URL precisa ser HTTPS e “should not be eBay’s Privacy Policy URL.” (não deve ser a URL da política de privacidade do eBay.) O Quick OAuth Guide (Guia rápido de OAuth) do eBay pede um RuName “OAuth Enabled” (Com OAuth ativado). Se seu formulário mostrar essa opção, ative-a.
6. Você e seu agente: preencham o arquivo .env
O .env é um arquivo de texto simples que guarda suas chaves no seu próprio disco. Seu agente cria o arquivo. Você coloca os segredos nele, para que nunca passem pela conversa.
- Peça ao seu agente para criar
.enva partir de.env.example, comEBAY_ENVIRONMENT=production. - Abra
.envem um editor de texto. - Cole o App ID depois de
EBAY_CLIENT_ID=. - Cole o Cert ID depois de
EBAY_CLIENT_SECRET=. - Cole o RuName depois de
EBAY_REDIRECT_URI=. Cole o RuName, não uma URL. - Deixe
EBAY_USER_REFRESH_TOKEN=vazio. A etapa 7 preenche esse valor. - Salve o arquivo.
Quando você terminar, as cinco linhas que importam ficam assim, com seus valores no lugar dos marcadores entre sinais de menor e maior:
EBAY_ENVIRONMENT=production
EBAY_CLIENT_ID=<Production App ID>
EBAY_CLIENT_SECRET=<Production Cert ID>
EBAY_REDIRECT_URI=<Production RuName>
EBAY_USER_REFRESH_TOKEN=
A linha do RuName é onde a maioria das pessoas tropeça. A configuração se chama redirect_uri, então uma URL parece a resposta certa. O eBay quer o RuName. Colocar uma URL ali é a causa mais comum de erros de redirect_uri.
Se o Cert ID vazar, abra Application Keys e selecione Rotate (Reset) Cert ID com um período de carência de 0, para que o antigo pare de funcionar na hora. Cole o novo no .env. Os tokens de atualização continuam válidos depois da troca, então você não precisa repetir a etapa 7.
7. Você e seu agente: consentimento e o token de atualização do eBay
Este é o aperto de mãos. Você diz ao eBay, como vendedor, que este aplicativo pode gerenciar seus anúncios. O eBay entrega ao seu navegador um código de uso único. Seu agente troca o código por um token de atualização, a chave de longa duração que o pipeline usa dali em diante. A janela inteira é de cinco minutos, então leia a lista primeiro e só depois comece.
- Peça ao seu agente para executar
auth-url. Ele fornece um link de consentimento. - Abra o link de consentimento no seu navegador.
- O eBay pede um login? Digite o nome de usuário e a senha da sua conta de vendedor. Não use a conta de desenvolvedor.
- Leia as permissões na página de consentimento. Aceite-as.
- Copie o endereço inteiro da barra de endereços da página que abrir.
- Cole o endereço inteiro na conversa.
- Peça ao seu agente para executar
exchange-codecom ele imediatamente. - Confira se seu agente informa
"stored": true. Ele informainvalid_grant? Comece de novo pelo início desta lista.
Os dois endereços têm esta aparência. Seu agente entrega o primeiro para você. Você devolve o segundo.
You open (the consent link from your agent):
https://auth.ebay.com/oauth2/authorize?client_id=<App ID>&redirect_uri=<RuName>&response_type=code&scope=https%3A//api.ebay.com/oauth/api_scope%20...
You copy (from the address bar, after you accept):
https://example.com/?code=v%5E1.1%23i%5E1%23...&expires_in=299
A parte depois de code= é nova a cada vez. Ela funciona uma vez e expira depois de 299 segundos, que é o que expires_in=299 está dizendo. Seu endereço pode trazer outras partes, como state=. Copie tudo. Seu agente extrai o código.
É seguro colar isso em uma conversa? O código funciona uma vez e morre em cinco minutos. O eBay só o troca por um token junto com seu Cert ID, e o Cert ID fica no .env. Então o código é inútil sem o Cert ID. Dois lugares conseguem vê-lo: a conversa e o site da sua URL de autorização aceita, que pode registrar o endereço em que você chega. Nenhum dos dois recebe seu Cert ID e, assim que seu agente troca o código, ele já foi gasto. O link de consentimento mostra seu App ID e seu RuName. Isso é normal: todo link de consentimento OAuth traz os dois.
Deixou a URL de autorização aceita em branco na etapa 5? Então o eBay envia você para a própria página dele, e o endereço começa assim:
https://signin.ebay.com/ws/eBayISAPI.dll?ThirdPartyAuthSucessFailure&isAuthSuccessful=true&state=null&code=v%5E1...
Sim, “Sucess.” É assim que o eBay escreve, não eu. A parte code= também está ali, e exchange-code consegue lê-la de qualquer endereço. Esse caminho também mantém o código fora de um site que você não controla. Minha própria configuração usa example.com, então eu mesmo não testei esse caminho.
| O quê | Duração | Quem cuida disso |
|---|---|---|
| Código | 299 segundos, um uso | Você copia uma vez |
| Token de acesso | 2 horas | A ferramenta renova sozinha |
| Token de atualização | Cerca de 18 meses | Repita esta etapa quando ele expirar |
Se algo der errado:
invalid_grant: o código já foi usado ou tem mais de cinco minutos. Obtenha um link novo e cole mais rápido.- Erro de
redirect_uri: o.envcontém uma URL ou um RuName do Sandbox em vez do RuName de Production. invalid_client: o App ID e o Cert ID vieram de conjuntos de chaves diferentes, ouEBAY_ENVIRONMENTnão está comoproduction.
8. Você e seu agente: criem as políticas comerciais do eBay
Políticas comerciais são respostas salvas para as perguntas que todo anúncio faz: como o item é enviado, como o comprador paga e o que acontece em uma devolução? Seu agente associa essas políticas a cada oferta pelo identificador. A ferramenta dele consegue ler políticas, mas não tem um comando para criá-las, então essa parte é sua.
Peça ao seu agente para executar policies primeiro. O comando lista as políticas que você já tem. Se você já tem uma política de frete grátis, uma de pagamento e uma de devolução em 30 dias, pule para a etapa 9. Se policies disser que sua conta não está inscrita em Business Policies, seu agente pode executar setup --opt-in --confirm, mas só depois do seu sim. Em seguida, peça ao seu agente para executar policies de novo. Quando o erro de inscrição desaparecer, crie suas políticas. As notas do próprio repositório dizem que essa espera pode variar de alguns minutos a 24 horas.
- Abra My eBay (Meu eBay). Selecione Account (Conta). Selecione Selling (Vendas) no menu à esquerda.
- Selecione Business Policies (Políticas comerciais). A página Manage your business policies (Gerencie suas políticas comerciais) abre.
- Selecione Create policy (Criar política) no canto superior direito. Selecione o tipo de política.
Crie três políticas assim, uma de cada vez.
Política de frete
A precificação do pipeline embute o frete no preço do item, então ele precisa de uma política de frete grátis. Não use frete calculado. As perguntas de adoção do repositório o citam como exemplo de política que pode falhar por erros nos dados do pacote.
- Em Cost type (Tipo de custo), selecione Flat: Same cost to all buyers (Fixo: mesmo custo para todos os compradores).
- Ative Offer free shipping (Oferecer frete grátis).
- Informe um Policy name (Nome da política), por exemplo “Free domestic shipping” (Frete grátis nacional).
- Selecione o Shipping method (Método de envio) adequado aos seus itens.
- Selecione o Handling time (Prazo de preparação) adequado aos seus itens.
- Selecione Save (Salvar).
Políticas de pagamento e devolução
- Crie uma política de pagamento. Ative Require immediate payment when buyer uses Buy It Now (Exigir pagamento imediato quando o comprador usar Comprar agora). Selecione Save.
- Crie uma política de devolução. Ative Accept returns (Aceitar devoluções) na seção de devoluções nacionais.
- Em Allowed within (Permitidas em até), selecione 30 Days (30 dias). Em Return shipping paid by (Frete de devolução pago por), selecione Buyer (Comprador). Selecione Save.
- Peça ao seu agente para executar
policiesnovamente. - Confira se as três políticas aparecem.
Minha política de pagamento exige pagamento imediato, e a política de devolução padrão do repositório é de 30 dias, com o comprador pagando o frete de devolução. O formulário do eBay dá seu próprio incentivo: “Offering a minimum 30-day return policy helps your listings qualify for Top Rated Seller Benefits.” (Oferecer uma política de devolução de pelo menos 30 dias ajuda seus anúncios a se qualificarem para os benefícios de vendedor com melhor avaliação.)
9. Você e seu agente: gravem account.json e executem as verificações
Os identificadores das suas políticas e seu local de estoque são diferentes dos de todo mundo, então ficam no account.json, um arquivo privado ao lado do .env. Seu agente o grava com setup. Esse comando não entrevista ninguém. Ele mantém as escolhas já salvas no account.json. Caso contrário, usa o único candidato disponível, como seu único local ou sua única política de devolução em 30 dias. Quando não consegue escolher, ele informa isso em choices e espera por uma opção. Sua parte é fazer as escolhas que ele não consegue fazer.
- Peça ao seu agente para executar
setup --dry-run. Ele informa o que encontrou e o que não consegue decidir. - Leia
choicescom seu agente. Alguma linha diz “found: pass”? Diga ao seu agente qual política ou local usar. - Não tem local de estoque? Dê ao seu agente seu código postal dos EUA, cidade e estado. Aprove o comando
--create-location. - Peça ao seu agente para executar
setup --dry-runde novo com suas escolhas. problemsainda lista alguma coisa? Repita as etapas 2 a 4.- Peça ao seu agente para executar
setupcom as mesmas escolhas. Ele gravaaccount.json. - Peça ao seu agente para aplicar o restante das suas respostas de adoção. O
ADOPTION-QUESTIONS.mdindica a chave ou o arquivo de cada uma. - Confira o limite de preço e a taxa na seção
pipelinedoaccount.json. - Peça ao seu agente para executar as cinco verificações abaixo. Todas as cinco devem passar.
Suas escolhas vão como opções de linha de comando. Seu agente passa o identificador de uma política com --fulfillment (esse é o nome que o eBay dá ao envio), --payment ou --return, e um local com --location-key. Duas respostas de adoção vão pelo mesmo caminho: --disallow-fulfillment marca uma política de frete que seu agente nunca deve usar, e --return-14-day indica uma política de devolução em 14 dias, caso você mantenha uma:
python tools/ebay_api.py setup --dry-run --fulfillment <ID> --return <ID> --location-key HOME-01
O comando de criação de local que seu agente executa depois do seu sim fica assim:
python tools/ebay_api.py setup --create-location --location-key HOME-01 --postal-code <ZIP> --city <city> --state <ST> --confirm
É fácil deixar passar o item 7 acima, porque setup lê sua conta do eBay, não suas respostas de adoção. Ele preenche pipeline com os padrões do repositório: revisar qualquer item acima de $200, perguntar quando a confiança for menor que 0,70, uma taxa sobre o valor final de 13,6% e $0,40 por pedido. Esses valores prevalecem até seu agente editar o arquivo, e execuções posteriores de setup mantêm as alterações. Suas outras respostas, como a origem das fotos e os backups, vão para os arquivos dos fluxos de trabalho e para AGENTS.md. As etapas 5 e 6 do ADOPTION-GUIDE.md listam cada alteração. A etapa 7 acrescenta uma execução de validação com um anúncio fictício de lanterna de cabeça, sem mexer em nada no eBay.
Depois vêm as cinco verificações da etapa 9:
python tools/ebay_api.py setup --dry-run # "problems": [] means ready
python tools/ebay_api.py policies
python tools/ebay_api.py categories "flashlight"
python tools/ebay_api.py browse "flashlight" --limit 1
python tools/ebay_api.py reconcile
Aqui está um setup --dry-run real da minha própria conta, abreviado e com os identificadores ocultos. É uma nova execução, por isso cada escolha diz “kept from account.json”. A linha que você procura é "problems": [].
{
"file": "<your folder>/account.json",
"written": false,
...
"choices": {
"merchantLocationKey": "kept from account.json",
"fulfillment": "kept from account.json",
"payment": "kept from account.json",
"return": "kept from account.json"
},
"problems": [],
...
"next": "Ready: the Lister copies these IDs into offer.json; validate_payload.py checks them"
}
"written": false significa que a simulação verificou e deixou o arquivo como estava.
Seu primeiro item: quem faz o quê
Pronto, sua configuração da API do eBay está concluída. Daqui em diante, você coloca fotos em uma pasta e seu agente executa cinco fluxos de trabalho, um após o outro. Sua parte se resume a algumas conferências:
| Fluxo de trabalho | O que você faz |
|---|---|
| Import | Coloca as fotos na pasta. Confere o agrupamento |
| Curator | Corrige a identificação se estiver errada |
| Evaluator | Cola dados de vendas comparáveis do Terapeak quando solicitado |
| Lister | Nada. Ele para em uma oferta não publicada |
| Review | Lê listing-draft.md e aprova ou rejeita |
Por que usar o Terapeak manualmente? O comando Browse da ferramenta vê os preços que outros vendedores estão pedindo agora, não o que os compradores realmente pagaram. Um preço pedido é um teto, não uma venda. Por isso, o Evaluator pede a você dados de vendas comparáveis, e o Terapeak no Seller Hub (Central do vendedor) tem esses dados.
É o manobrista em ação. Ele estaciona cada carro direitinho como uma oferta não publicada, e qualquer item acima do seu limite de preço espera por você antes mesmo de ser estacionado. Nada sai do estacionamento até você entregar o tíquete, e o tíquete é o seu sim na etapa Review.
Obtenha o ebay-listing-agent no GitHub, dê ao seu agente o ADOPTION-GUIDE.md e diga “Production, não Sandbox”. Se algum rótulo deste guia de configuração da API do eBay já não corresponder à tela do eBay, abra uma issue no repositório para que o próximo vendedor não precise ficar procurando.
Recursos
- Programa de desenvolvedores do eBay: cadastro
- Chaves do aplicativo do eBay
- Primeiros passos com as APIs do eBay
- Credenciais OAuth do eBay
- Exclusão de contas do marketplace do eBay
- Guia rápido de OAuth do eBay (RuName, código de consentimento)
- Como redefinir seu Cert ID
- Políticas comerciais no eBay (ajuda para vendedores)
- Políticas comerciais (guia da API de contas)
- ebay-listing-agent no GitHub
- CLI do GitHub: gh gist create
- Downloads do Python
- Downloads do ImageMagick
The Focalia Letter
Uma ideia para usar. Cerca de sete minutos. Duas vezes por mês.
Leia a seguir
Resolva os problemas do seu NVIDIA Shield em 7 minutos
Resolva os problemas do seu NVIDIA Shield encontrando primeiro a camada certa, fazendo um ajuste rápido e deixando uma IA seguir um gist nas partes mais longas.
Leia mais →Pipeline de logs de firewall com o Cursor
Monte um pipeline local de logs de firewall no Windows com NXLog e SQLite e deixe o Cursor consultá-lo com acesso somente leitura — sem precisar de SIEM.
Leia mais →Proteções para agentes de programação com IA vencem modelos mais inteligentes
Seu agente não esquece porque é burro. Ele esquece porque você não deu a ele um lugar para registrar as coisas. Cinco proteções para agentes de programação com IA que resolveram isso.
Leia mais →