Guida a Vendooly
Vendooly collega il tuo Amazon Seller Central e Amazon Ads all'IA che già usi (Claude e ChatGPT). Le chiedi le cose in linguaggio naturale — "quanto ho venduto questa settimana?", "quali prodotti rischiano lo stockout?", "riprezza questo SKU" — e lei legge i dati e, su tua conferma, agisce sull'account.
1) Onboarding in 3 passi
- Registrati. Crea l'account con email e password (o con Google) e conferma l'email. Nessun invito: la Open Beta è aperta.
- Collega Amazon. Marketplaces → scegli la regione → autorizza Vendooly su Seller Central (OAuth). Un consenso copre tutti i marketplace di quella regione. Poi collega anche Amazon Ads: è un secondo layer separato, premi "Collega Ads".
- Collega la tua IA. Connetti Claude o ChatGPT al connettore MCP (sotto), oppure usa direttamente l'interfaccia web.
2) Collega la tua IA — connettore MCP
L'indirizzo del connettore è sempre lo stesso: https://mcp.vendooly.com/mcp
- Impostazioni → Connettori
- "Aggiungi connettore personalizzato"
- Incolla l'URL del connettore e conferma
- Authorize when prompted
- Impostazioni → Connettori / App
- "Crea" un connettore (in fondo alla pagina)
- Incolla l'URL del connettore server MCP
- Authorize and enable it in the chat
Se il tuo agente non è Claude né ChatGPT, collegalo con l'SDK MCP ufficiale (pip install mcp): lo script si registra da solo (Dynamic Client Registration), apre il browser sul consenso Vendooly e da lì il token si rinnova automaticamente. Vale anche per i framework agent con supporto MCP (OpenAI Agents SDK, LangChain, Pydantic AI, CrewAI).
Mostra lo script completo (testato)
# Vendooly from a Python agent — MCP client with OAuth (pip install mcp)
import asyncio, threading, webbrowser
from http.server import BaseHTTPRequestHandler, HTTPServer
from urllib.parse import urlparse, parse_qs
from pydantic import AnyUrl
from mcp import ClientSession
from mcp.client.auth import OAuthClientProvider, TokenStorage
from mcp.client.streamable_http import streamablehttp_client
from mcp.shared.auth import OAuthClientInformationFull, OAuthClientMetadata, OAuthToken
MCP_URL = "https://mcp.vendooly.com/mcp"
CALLBACK_PORT = 3000
class InMemoryTokenStorage(TokenStorage):
# For production, persist tokens to disk/secret store instead.
def __init__(self):
self.tokens = None
self.client_info = None
async def get_tokens(self) -> OAuthToken | None:
return self.tokens
async def set_tokens(self, tokens: OAuthToken) -> None:
self.tokens = tokens
async def get_client_info(self) -> OAuthClientInformationFull | None:
return self.client_info
async def set_client_info(self, info: OAuthClientInformationFull) -> None:
self.client_info = info
def wait_for_callback() -> str:
"""Tiny local web server: receives the consent redirect, returns the URL."""
result = {}
done = threading.Event()
class H(BaseHTTPRequestHandler):
def do_GET(self):
result["url"] = self.path
self.send_response(200)
self.send_header("Content-Type", "text/html; charset=utf-8")
self.end_headers()
self.wfile.write(b"<h2>Authorized. You can close this tab.</h2>")
done.set()
def log_message(self, *a):
pass
srv = HTTPServer(("localhost", CALLBACK_PORT), H)
threading.Thread(target=srv.serve_forever, daemon=True).start()
done.wait(timeout=300)
srv.shutdown()
return result.get("url", "")
async def handle_redirect(auth_url: str) -> None:
print(f"Opening browser for the Vendooly consent:\n{auth_url}")
webbrowser.open(auth_url)
async def handle_callback() -> tuple[str, str | None]:
path = wait_for_callback()
q = parse_qs(urlparse(path).query)
return q["code"][0], (q.get("state") or [None])[0]
oauth = OAuthClientProvider(
server_url=MCP_URL,
client_metadata=OAuthClientMetadata(
client_name="My Python Agent",
redirect_uris=[AnyUrl(f"http://localhost:{CALLBACK_PORT}/callback")],
grant_types=["authorization_code", "refresh_token"],
response_types=["code"],
),
storage=InMemoryTokenStorage(),
redirect_handler=handle_redirect,
callback_handler=handle_callback,
)
async def main():
async with streamablehttp_client(MCP_URL, auth=oauth) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print("Available tools:", [t.name for t in tools.tools])
res = await session.call_tool("list_my_products", {})
print(res.content[0].text[:500])
if __name__ == "__main__":
asyncio.run(main())
Altri client compatibili con MCP usano lo stesso URL. Se non vedi l'opzione "Connettori", serve un piano che supporti i connettori MCP.
3) Verifica che funzioni
Appena collegato, la prima cosa da scrivere alla tua IA è:
Se risponde elencando i tuoi account e cosa può fare, sei a posto. Se dice che non vede account o Ads, torna su Marketplaces e controlla che Seller e Ads siano entrambi collegati (sono due layer).
4) Cosa puoi chiedere
Esempi pronti, per categoria. Puoi parlarle normalmente: non servono comandi.
Catalogo & inventario
Vendite & ordini
FBA
Prezzi
Amazon Ads
Analisi
5) Non sbagli: tutto sotto conferma
6) Domande frequenti
L'IA dice che le Ads non sono collegate, ma sul portale risultano connesse
Seller Central e Amazon Ads sono due autorizzazioni separate. Vai su Marketplaces e premi "Collega Ads" anche se il Seller è già connesso. Se il problema resta, ricollega le Ads dal wizard.
Il catalogo mostra "0 disponibili" su prodotti che ho sempre disponibili
I prodotti MFN a giacenza non gestita ("sempre disponibili") ora vengono mostrati come disponibili (∞). Il catalogo si sincronizza periodicamente: dopo un nuovo collegamento attendi il prossimo aggiornamento.
Quanti account Amazon posso collegare?
Starter: 1 · Pro: 3 · Agency: 10. Un seller con più marketplace conta come un solo account.
Vendooly memorizza la mia password Amazon?
No. L'accesso è via autorizzazione OAuth di Amazon: non vediamo né conserviamo le credenziali.
I miei dati a chi vengono inviati?
Solo ai dati del tuo account Amazon necessari al servizio. Quando usi l'IA, le richieste passano dal provider che hai scelto (Anthropic, OpenAI o Google), su tua attivazione.
Come revoco l'accesso?
In qualsiasi momento, dalle impostazioni Vendooly o dal pannello Amazon Seller Central.
Non hai trovato la risposta? Scrivici a hello@vendooly.com.
💬 Hai trovato un problema o hai un'idea? Dillo direttamente alla tua IA: «manda un feedback a Vendooly: …». Lo riceviamo e lo leggiamo tutti.