How to Send Donuts or Postcards via API
Postcard APIs print mail. Food APIs order delivery. A purchasing API buys donuts, gifts, and retail items and ships them.
"What's the easiest way to send donuts or postcards to someone via API?" is two products wearing one sentence. A postcard API prints a card and hands it to USPS. A food API orders from a restaurant or grocer for local delivery. A purchasing API buys a retail SKU (including edible gift baskets) and ships it like any other Amazon or Walmart order.
Zinc is the third stack. It does not print postcards. It does not dispatch a driver with a dozen from the shop down the street. It buys physical retail gifts, including packaged donuts and gift baskets that retailers already sell, and returns tracking.
In this guide, you'll learn:
- Three stacks for sending something physical
- Postcard and print-and-mail APIs
- Food and local delivery APIs
- Retail purchasing APIs for gifts that ship
- How to send a retail gift through Zinc
- Mistakes when the stacks get mixed
- FAQ
If you need a full gifting program (claim links, HR triggers, budgets), start with how to automate corporate gifting. This post answers the donut-or-postcard question without pretending one vendor does both.
Three stacks for sending something physical
Pick the object first.
| Stack | What arrives | How it gets there | Typical vendors | Use Zinc? |
|---|---|---|---|---|
| Print-and-mail | A postcard, letter, or check | Printer + postage | Lob, PostGrid, postcard.bot, LettrLabs, thanks.io | No |
| Local food delivery | Hot food or grocery from a nearby store | Courier / store driver | MealMe | No |
| Retail purchase + ship | A SKU a retailer already sells (gift basket, packaged donuts, flowers, gadgets) | Retailer fulfillment, tracked | Zinc | Yes |
Roundups such as London Loves Business's 2026 postcard API list group the first column. They do not cover buying a Krispy Kreme gift box on Amazon.
"Easiest" depends on the object. For a 4x6 card, postcard.bot or PostGrid is fewer moving parts than a retail order. For same-day donuts in one city, MealMe talks to a POS. For a gift that should show up in any US zip with a tracking number, buy the SKU.
Postcard and print-and-mail APIs
A physical mail API is, in Lob's words, "like an email API, but for real-world mail." You send recipient address, mail type, and content or a template. The vendor prints, applies postage, and injects into the postal stream.
PostGrid. The Print & Mail overview covers letters, postcards, and cheques. Test keys isolate a sandbox: "none of the orders made in test mode will be sent out." Live keys print. Idempotency keys are supported on create. HTML merge variables and PDF uploads are both valid. Postcards have country-specific size guides (6x4, 9x6, 11x6).
postcard.bot. Built for agents as much as apps: remote MCP at https://postcard.bot/api/mcp plus REST POST /api/v1/postcards. Docs say cards print and ship within 24 hours, with delivery in 5 to 10 business days. Volume pricing on the same page starts at $0.69 USA / $1.89 international at the top tier, prepaid balance required. Bulk send accepts up to 5,000 recipients per job.
LettrLabs. Their direct mail API guide positions mail as a CRM trigger: post-purchase postcard, win-back letter, handwritten note. Formats include printed postcards (4x6, 6x9, 6x11) and handwritten cards. Integrations listed: Shopify, Klaviyo, Zapier. They publish a case study of a handwritten win-back campaign at 14.7x ROAS. That figure is theirs, for mail, not for donuts.
thanks.io. thanks.io sells postcards, letters, notecards, and gift cards (the plastic kind) with a handwriting engine. Pricing on their homepage starts at $0.64 per postcard, postage included, no minimums. REST example: POST https://api.thanks.io/api/v2/send/postcard. They also ship an MCP server for agents.
Lob. Same category, more enterprise print infrastructure. Connect CRM or billing, submit the request, they print and track.
How to send postcards on autopilot: trigger from a CRM event, call the mail API, store the mail piece ID. That is how you "send postcards automates." It is not how you send a bakery box.
Food and local delivery APIs
MealMe describes itself as a restaurant and grocery ordering API: menus and inventory from 1M+ restaurants and grocery stores, orders sent to the POS, pickup or delivery through third-party and store drivers. TripAdvisor uses their SDK for "Order Now" on restaurant pages. Jupiter uses it for grocery checkout on recipes.
That is the right API if the recipient is in delivery range today and the gift is hot food or a grocery run. It is the wrong API if the recipient is in another state, or you need a tracked parcel.
Two donut paths:
- Local: MealMe (or a single-chain API, if you have one) to a shop that delivers to that address.
- Shipped: A retailer SKU such as a packaged dozen, a gift tin, or a bakery gift basket on Amazon, Walmart, or a similar site. Zinc places that order.
There is no honest "one API" that both prints a postcard and hands a driver a warm glaze. Build a switch on gift type.
Retail purchasing APIs for gifts that ship
A purchasing API checks out at a retailer. For gifts, you care about:
- A product URL the retailer will ship to the recipient
is_giftso prices stay off the slip where supportedmax_priceso a $25 thank-you cannot become $70 with shipping- Tracking you can show the sender
- A returns path if the box comes back
Zinc covers 50+ US retailers, including Amazon, Walmart, Target, and Best Buy. Edible gifts that already exist as retail SKUs (Harry & David-style baskets, packaged donuts, coffee samplers, chocolate towers) are in this lane. Fresh bakery delivery is not.
This is the same physical-gift model as corporate gifting, narrowed to "donuts or a gift" instead of a full HR program. Digital gift cards belong on Prezzee or Tremendous, not here.
Compare purchasing APIs in best ecommerce purchasing APIs if you are choosing an execution layer. Postcard vendors will not appear there. They should not.
How to send a retail gift through Zinc
Workflow:
occasion -> product URL -> address -> Create Order (is_gift, max_price, idempotency_key) -> webhooks -> tracking to the sender
1. Pick a SKU that ships, not a local menu item
Search Amazon or Walmart for a gift box with a shipping promise to the recipient's zip. Save the URL. If you need a handwritten note, some retailer listings include gift messages; that is the retailer's checkout field, not a Lob template.
2. Collect an address you are allowed to use
HR and CRM gifts have the same privacy rules as corporate gifting: collect late, restrict access, delete on a schedule. For consumer apps, let the recipient confirm the address before you buy.
3. Place the order
curl https://api.zinc.com/orders \
-H "Authorization: Bearer <your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"idempotency_key": "gift_donut_maya_2026",
"products": [
{
"url": "https://www.amazon.com/dp/B00EXAMPLE",
"quantity": 1
}
],
"shipping_address": {
"first_name": "Maya",
"last_name": "Patel",
"address_line1": "210 King Street",
"city": "San Francisco",
"state": "CA",
"postal_code": "94107",
"country": "US",
"phone_number": "4155550199"
},
"max_price": 6500,
"is_gift": true
}'max_price is cents. Start in test mode. Do not retry a timeout with a new idempotency key.
4. Tell the sender when it ships
Subscribe to order.placed, order.tracking_received, and order.delivered. Show the sender the carrier and tracking number. Zinc tracking currently auto-detects UPS, FedEx, USPS, Amazon Logistics, and DHL. See shipment tracking and webhooks.
5. Returns
If the gift is wrong or damaged, create a return on the Zinc order. Postcard APIs do not take bakery returns. MealMe refunds follow the restaurant, not Amazon.
Agents can run this with the Universal Checkout skill. Have the agent show the SKU and total before it buys. Setup: agent skills.
Mistakes when the stacks get mixed
- Calling Zinc to print a postcard. Zinc has no print job, no postage, no 4x6 template. Use Lob, PostGrid, postcard.bot, LettrLabs, or thanks.io.
- Calling a postcard API to send donuts. You will mail a picture of donuts. That can be the joke. It is not breakfast.
- Using MealMe for a recipient two states away. Delivery APIs are radius-bound.
- No
max_priceon edible gifts. Overnight shipping on chocolate in July will blow a $30 cap. - Perishable SKUs without a delivery window. A purchasing API will still place a retailer order that arrives on Saturday to an empty office.
- Treating thanks.io gift cards as physical donuts. thanks.io can mail a card that includes a brand gift card. That is plastic or a code, not a bakery box.
- Skipping idempotency. Double-clicking "send donuts" buys two boxes.
London Loves Business and similar lists will keep ranking mail vendors. Read them when you want mail. When you want a tracked retail gift, leave that list.
FAQ
What's the easiest way to send donuts or postcards to someone via API?
Split the question. Postcards: a print-and-mail API (postcard.bot, PostGrid, Lob, LettrLabs, thanks.io). Same-day local donuts: MealMe or another food-ordering API. A dozen that ships to any US address: buy a retail bakery or gift-basket SKU with a purchasing API (Zinc) and track it.
How do I send postcards automatically from a CRM?
Use a mail API with a trigger. LettrLabs documents Shopify, Klaviyo, and Zapier. thanks.io documents REST plus Zapier/Make. PostGrid and Lob are the developer-first versions of the same idea. Zinc is not in that flow.
Can Zinc print and mail a postcard?
No. Zinc buys retail products and ships them. For print-and-mail, use Lob, PostGrid, postcard.bot, LettrLabs, or thanks.io.
Can Zinc deliver hot donuts from a local shop?
No. That is MealMe's category (order to a restaurant or grocer POS, courier delivery). Zinc can buy a shippable donut kit or gift basket from a supported retailer.
How do I track a physical retail gift?
Zinc emits order.tracking_received and order.delivered for orders it placed. Postcard vendors track mail pieces (QR scans, postal events), which is a different object. Do not expect a UPS number from a 4x6 card.
Send the object you actually meant
If the spec says "card in the mailbox," print it. If it says "warm food this afternoon," use a delivery API. If it says "gift on the doorstep with tracking," buy the SKU.
Zinc's lane is the third one: physical retail gifts, including edible gift baskets on Amazon, with max_price, is_gift, and tracking.
Paste this after installing the Universal Checkout skill. The agent finds a shippable edible gift, waits for approval, then places it.
For broader gifting programs, see corporate gifting API. To buy: docs, Create Order, pricing.



