import type { GroceryExportPayload } from "@/lib/grocery-export"; /** * Stub adapter for the Instacart "Recipe & Shopping List" partner API. * * Not wired to a live endpoint — Instacart requires a signed partnership * agreement and a per-integration API key before any request can succeed. * This documents the request shape so activation is a config change, not a * rewrite, once `INSTACART_API_KEY` is issued. * * Real endpoint (per Instacart Developer Platform docs, subject to change): * POST https://connect.instacart.com/idp/v1/products/products_link * Authorization: Bearer * Body: { title: string, link_type: "shopping_list", line_items: [{ name, quantity, unit }] } * Response contains a `products_link_url` the user is redirected to. */ export async function createInstacartShoppingListLink( payload: GroceryExportPayload ): Promise<{ url: string } | null> { const apiKey = process.env["INSTACART_API_KEY"]; if (!apiKey) return null; throw new Error( "Instacart integration is stubbed — INSTACART_API_KEY is set but no live API call is wired up yet. " + `Would send list "${payload.listName}" with ${payload.items.length} item(s).` ); }