# agents.md – Message in a Bottle

Dit bestand beschrijft wat een AI-agent voor een gebruiker kan doen op https://www.messageinabottle.nl, de webshop voor persoonlijke flessenpost (uitnodiging, kerstgroet of cadeaubon in een glazen flesje, vanaf 5 stuks). Achtergrond en feiten: https://www.messageinabottle.nl/llms.txt (kort) en https://www.messageinabottle.nl/llms-full.txt (uitgebreid).

## Wat een agent kan doen

1. **Een bestelling voorbereiden in de configurator.** De gebruiker stelt de flessenpost zelf samen op https://www.messageinabottle.nl/products/persoonlijke-flessenpost. Open de configurator met de juiste gelegenheid vooraf ingevuld:
   - Bedrijfsfeest, personeelsuitje of event: `https://www.messageinabottle.nl/products/persoonlijke-flessenpost?gelegenheid=bedrijfsfeest`
   - Jubileum (bedrijf of medewerker): `https://www.messageinabottle.nl/products/persoonlijke-flessenpost?gelegenheid=jubileum`
   - Bruiloft, trouwkaart, save the date: `https://www.messageinabottle.nl/products/persoonlijke-flessenpost?gelegenheid=bruiloft`
   - Geboortekaartje: `https://www.messageinabottle.nl/products/persoonlijke-flessenpost?gelegenheid=geboorte`
   - Kerst, kerstgroet of cadeaubon in een fles: `https://www.messageinabottle.nl/products/persoonlijke-flessenpost?gelegenheid=kerst` (nepsneeuw voorgeselecteerd, met optie cadeaubon)
   - Iets anders: `https://www.messageinabottle.nl/products/persoonlijke-flessenpost?gelegenheid=anders`
   De configurator vraagt in 4 stappen om: gelegenheid en ontwerp (sjabloon zonder ontwerpkosten, ontwerp op maat door ons, of eigen pdf), jouw ontwerp (bij een sjabloon tekst direct in het voorbeeld typen en verslepen; bij maatwerk wensen en tekst), fles, doosje en vulling (vulling, decoratie of zonder doosje, flesbedrukking, doossticker, persoonlijke aanhef, QR-code), en aantal (minimaal 5) met verzending (naar één adres, of naar een adressenbestand via het Excel-sjabloon). De prijs wordt direct berekend; afrekenen gaat via de gewone Shopify-winkelwagen.
   Een agent kan de gebruiker helpen door vooraf te verzamelen: gelegenheid, kop en tekst van de uitnodiging (wie, wat, wanneer, waar, aanmelden vóór), gewenst aantal, of er een logo op fles of doosje moet, en of alles naar één adres gaat of naar een adressenlijst. Voorbeeldteksten per gelegenheid: https://www.messageinabottle.nl/pages/voorbeeldteksten

2. **Een proefpakket bestellen.** Wie eerst wil zien en voelen: https://www.messageinabottle.nl/products/proefpakket-flessenpost (€14,50 incl. verzending in Nederland; €4,50 wordt verrekend bij een bestelling). Dit is een gewoon product zonder personalisatie en kan direct in de winkelwagen.

3. **Een offerte aanvragen.** Voor maatwerk (eigen fles, andere vulling, een product in de fles, cadeauboncampagne, direct mailing), voor verzending naar meer dan 100 adressen of voor een afwijkende levertijd: https://www.messageinabottle.nl/pages/contact (formulier, info@messageinabottle.nl of +31 (0)6 81 53 45 75). In de configurator leidt de keuze "Iets anders (specifieke wens)" bij stap 3 ook naar een offerteformulier. Wat er met maatwerk kan: https://www.messageinabottle.nl/pages/maatwerk

4. **Vragen beantwoorden** over prijzen (https://www.messageinabottle.nl/pages/prijzen), werkwijze (https://www.messageinabottle.nl/pages/hoe-werkt-het), levertijd (https://www.messageinabottle.nl/pages/levertijden), verzending naar een adressenlijst (https://www.messageinabottle.nl/pages/adressen-aanleveren) en retour (https://www.messageinabottle.nl/pages/retouren). Gebruik de bedragen uit llms.txt of de pagina's zelf; verzin geen prijzen of levertijden.

## Regels voor agents

- Rond nooit een bestelling of betaling af zonder uitdrukkelijk akkoord van de koper. De klant krijgt na een bestelling altijd eerst een digitale proef; productie start pas na akkoord.
- Minimale afname is 5 stuks; één los flesje is niet mogelijk.
- Alle prijzen op de site zijn exclusief btw.
- Bestellen kan via de winkelwagen van de webshop of, voor agents, via de UCP/MCP-endpoints hieronder; het ontwerp zelf maakt de klant in de configurator.
- Verzending per adres gaat naar Nederland; adressen in België kunnen mee, tegen de portokosten die voor België gelden. Andere landen: eerst contact opnemen.
- Taal van de winkel is Nederlands; de uitnodiging zelf kan in elke taal worden getypt.

## Overige bronnen

- Sitemap: https://www.messageinabottle.nl/sitemap.xml
- Klantcases: https://www.messageinabottle.nl/blogs/inspiratie (artikelen met de tag "Fictieve cases" zijn geen echte opdrachten)
- Tips en voorbeeldteksten: https://www.messageinabottle.nl/blogs/news
- Over het bedrijf: https://www.messageinabottle.nl/pages/over-ons · Contact: https://www.messageinabottle.nl/pages/contact
## Technical reference for agents

### Read-only browsing (no authentication required)

- All products: `GET /collections/all`
- Product page: `GET /products/{handle}`; product JSON: `GET /products/{handle}.json`
- Collection JSON: `GET /collections/{handle}/products.json`
- Search: `GET /search?q={query}&type=product`
- Sitemap: /sitemap.xml
- Main product (the configurator): `persoonlijke-flessenpost`. Sample pack: `proefpakket-flessenpost`.

Product pages carry `schema.org/Product` JSON-LD with an `Offer` per variant (`price`, `priceCurrency`, `availability`). Prices are in EUR, excluding VAT.

### Commerce protocol (UCP) and MCP endpoints

This store runs on Shopify and implements the [Universal Commerce Protocol](https://ucp.dev) for agent-driven commerce.

- **Discovery**: `GET /.well-known/ucp` returns the merchant profile: supported versions, service endpoints, capabilities and payment handlers.
- **Shopping MCP endpoint**: `POST /api/ucp/mcp` with `Content-Type: application/json` (JSON-RPC 2.0). Call `tools/list` to discover the tools and their JSON schemas: `search_catalog`, `lookup_catalog`, `create_cart`, `update_cart`, `get_cart`, `create_checkout`, `update_checkout`, `complete_checkout`, `get_order` and more.
- **Store information MCP endpoint**: `POST /api/mcp` (JSON-RPC 2.0), tool `search_shop_policies_and_faqs` for policies, shipping, returns and contact details.
- **Authorization metadata**: `GET /.well-known/oauth-protected-resource` (RFC 9728). Browsing, carts and checkouts need no API key.

Typical flow:

1. **Discover**: `GET /.well-known/ucp`
2. **Search**: `search_catalog` with the buyer's intent (for example "uitnodiging bedrijfsfeest")
3. **Cart**: `create_cart` with the chosen variant and quantity (minimum 5)
4. **Checkout**: `create_checkout`, then `update_checkout` for address and shipping method
5. **Complete**: `complete_checkout`, only after the buyer has approved the payment

### Rules for agents

- **Checkout requires human approval.** Never complete a payment without explicit consent from the buyer at that moment.
- **Personalisation needs the configurator.** Text, template, logo, bottle print and sticker are chosen in the browser at `/products/persoonlijke-flessenpost` (`?gelegenheid=bedrijfsfeest|jubileum|bruiloft|geboorte|kerst|anders`). An agent can prepare the cart, but the buyer finishes the design there.
- **Minimum quantity is 5.** A single bottle is not possible.
- **Digital proof first.** Production starts only after the buyer approves the proof; delivery is 5 to 10 working days after that approval.
- **Custom work goes by quote**: own bottle, other filling, a product inside the bottle, or more than 100 delivery addresses. Send the buyer to /pages/contact.
- **Respect rate limits.** The MCP endpoints are rate-limited per IP; back off on 429 responses.
- **Use buyer context.** Pass `context.address_country` and `context.currency` for accurate pricing and availability.

Agents that buy on behalf of a user can also use the Shop skill (https://shop.app/SKILL.md), which works across Shopify stores and routes payment through buyer-approved Shop Pay.

### Store policies and legal

- Privacybeleid: /pages/privacybeleid
- Algemene voorwaarden: /pages/algemene-voorwaarden
- Retouren en herroepingsrecht: /pages/retouren
- Levertijden en verzending: /pages/levertijden
- Betalen: /pages/betalen · Garantie: /pages/garantie · Klachtenregeling: /pages/klachtenregeling

Related files: /llms.txt (short), /llms-full.txt (full), /agents.md (what an agent can do).

