{"nash_protocol": "nash.v1", "negotiate_protocol": "nash.v1", "store": {"name": "Nash Demo Store", "city": "San Francisco, CA", "rep_name": "Nash", "tagline": "Premium home tech, honestly priced.", "policy": "Free shipping. 30-day returns."}, "merchant_skill": {"name": "pier39-merchant", "repo": "https://github.com/sanjana-pier39/pier39-skills", "description": "The chat agent on the other side of these endpoints is a Claude agent with the pier39-merchant Claude Agent Skill loaded as its system prompt."}, "endpoints": {"start_chat": {"method": "GET", "url_template": "https://negotiate.pier39.ai/api/store/chat/start?product_id={product_id}", "params": {"product_id": "string, required, must be one of products[].id"}, "returns": {"session_id": "opaque string", "greeting": "merchant's opening message", "next": "URL pattern for the next turn (with <message> placeholder)"}}, "send_message": {"method": "GET", "url_template": "https://negotiate.pier39.ai/api/store/chat/{session_id}/say?message={url_encoded_message}", "params": {"session_id": "from start_chat response", "url_encoded_message": "shopper turn, URL-encoded, max 2000 chars"}, "returns": {"message": "merchant reply", "closed": "true if the deal is done (accepted or shopper walked)", "next": "URL for the next turn, or null if closed"}}, "read_history": {"method": "GET", "url_template": "https://negotiate.pier39.ai/api/store/chat/{session_id}", "returns": {"session_id": "...", "history": "[{speaker, message}, ...]"}}, "catalog": {"method": "GET", "url": "https://negotiate.pier39.ai/api/store/catalog", "returns": "{store, products[]} \u2014 public catalog with hidden merchant fields stripped"}}, "products": [{"id": "aurora-air-purifier", "name": "Aurora HEPA Air Purifier", "subtitle": "Large-room, quiet, smart", "list_price": 349, "currency": "USD", "kind": "air purifier", "page_url": "https://negotiate.pier39.ai/store/p/aurora-air-purifier", "start_chat_url": "https://negotiate.pier39.ai/api/store/chat/start?product_id=aurora-air-purifier"}, {"id": "cove-wireless-speaker", "name": "Cove Portable Wireless Speaker", "subtitle": "Waterproof, 24-hour battery", "list_price": 129, "currency": "USD", "kind": "speaker", "page_url": "https://negotiate.pier39.ai/store/p/cove-wireless-speaker", "start_chat_url": "https://negotiate.pier39.ai/api/store/chat/start?product_id=cove-wireless-speaker"}, {"id": "drift-robot-vacuum", "name": "Drift R5 Robot Vacuum", "subtitle": "LiDAR mapping, self-empty base", "list_price": 599, "currency": "USD", "kind": "robot vacuum", "page_url": "https://negotiate.pier39.ai/store/p/drift-robot-vacuum", "start_chat_url": "https://negotiate.pier39.ai/api/store/chat/start?product_id=drift-robot-vacuum"}], "limits": {"max_chat_starts_per_hour_per_ip": 8, "max_messages_per_chat": 30, "session_idle_ttl_seconds": 3600, "max_message_length_chars": 2000, "currency": "USD"}, "human_docs": {"agent_guide_html": "https://negotiate.pier39.ai/store/agent-guide", "agent_guide_json": "https://negotiate.pier39.ai/store/agent-guide.json", "llms_txt": "https://negotiate.pier39.ai/llms.txt"}, "negotiation_guidance": ["Open with a credible anchor backed by a comp or a reason \u2014 not a pure lowball.", "Trade non-price concessions (warranty, freebies, shipping) in dollar terms before walking on price alone.", "If the merchant repeats the same number twice, that's likely their floor \u2014 make your final move close to it or walk gracefully.", "Closed=true means the conversation has reached a natural end (deal accepted or you walked) and further messages will be rejected."]}