๐ŸŒธ
๐Ÿซ
๐ŸŒน
๐ŸŽ
โœจ
๐Ÿ’

PREZNT

THE GIFT API

Send flowers & chocolate with one API call.

Guaranteed delivery dates. Human pays via SMS link. Built for AI agents.

QUICK START

curl https://api.giftapi.anfang.me/v1/products

# โ†’ Pick a product_id, then:

curl -X POST https://api.giftapi.anfang.me/v1/orders \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "prod_ABC123",
    "delivery_date": "2026-04-15",
    "recipient": {"name":"Jane","address":"123 Main St","city":"NYC","state":"NY","zip":"10001"},
    "payer": {"name":"John","phone":"+12125550100"},
    "mode": "test"
  }'

โ† John gets an SMS. Jane gets flowers.

HOW IT WORKS

01 ๐Ÿค–

Agent calls /v1/orders

02 ๐Ÿ“ฑ

Payer gets SMS + link

03 ๐Ÿ’ณ

Stripe payment (Apple/Google Pay)

06 ๐ŸŽ‰

Delivered! Guaranteed

05 ๐Ÿช

Supplier ships (Teleflora / Goldbelly)

04 โœ…

Webhook triggers order instantly

๐ŸŒน FLOWERS

via Teleflora โ€” guaranteed same/next-day delivery

๐Ÿซ CHOCOLATE

via Goldbelly โ€” temperature-controlled nationwide shipping

FOR AI AGENTS

Preznt is designed for LLM agents. No API key, structured JSON, guaranteed outcomes.

๐Ÿ”‘

No Auth Required

Rate-limited by IP and phone. Just call the API.

๐Ÿ“„

llms.txt + OpenAPI

Machine-readable docs at /llms.txt and /openapi.json.

๐Ÿงช

Test Mode

Set "mode":"test" โ€” no real payments or deliveries.

โœ…

Guaranteed Delivery

Supplier SLA-backed dates. We refund if missed.

๐Ÿ“Š

Status Polling

GET /v1/orders/:id returns real-time order status.

๐ŸŒŽ

US-Wide Delivery

All 50 states via Teleflora and Goldbelly networks.

SECURITY WITHOUT AUTH

๐Ÿ›ก๏ธ

IP Rate Limiting

3 orders/hour, 10/day per IP โ€” blocks mass abuse

๐Ÿ“ฑ

Phone Rate Limit

Max 2 pending orders per payer phone per 24h

๐ŸŒŽ

US-Only

Geo-restriction via Cloudflare CF-IPCountry header

๐Ÿ”’

Signed Tokens

HMAC-signed payment URLs โ€” single-use, 48h expiry

๐Ÿšซ

STOP Blocklist

SMS reply STOP โ†’ permanent opt-out, Redis + DB

โœ๏ธ

Webhook Verification

Stripe signature + AWS SNS message validation on all webhooks