1 operation. Every schema and example on this page is generated from the platform contract.
Mixed-fulfilment §12 #3, mark the take-now half of a mixed PARENT (or a standalone buy_now order) as handed to the customer. One idempotent tap → handed_over_at + audit; the parent never enters the collect engine. Backed by the mark_guest_order_handed_over RPC.
Store handing the order over (also authorises the merchant).
When the take-now order was marked handed over (ISO 8601).
curl -X POST "https://www.membber.com/api/v1/guest-orders/b80cf509-0000-4000-8000-d0c5000000b8/handover" \
-H "Authorization: Bearer $MEMBBER_TOKEN" \
-H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
-H "Content-Type: application/json" \
-d '{
"store_id": "6659c139-0000-4000-8000-d0c500000066"
}'import { createMembberClient } from "@membber/sdk-ts";
const membber = createMembberClient({
getAccessToken: () => process.env.MEMBBER_TOKEN,
});
const { data, error } = await membber.raw.POST("/api/v1/guest-orders/{orderId}/handover", {
params: { path: { orderId: "b80cf509-0000-4000-8000-d0c5000000b8" } },
body: {
store_id: "6659c139-0000-4000-8000-d0c500000066"
},
headers: { "Idempotency-Key": crypto.randomUUID() },
});
if (error) {
// Typed error envelope: { error: { code, message, requestId } }
throw new Error(`${error.error.code}: ${error.error.message}`);
}
console.log(data);import MembberSwift
let client = MembberClient(
serverURL: MembberClient.productionServerURL,
tokenProvider: { session.accessToken }
)
let response = try await client.api.handoverGuestOrder(
path: .init(orderId: "b80cf509-0000-4000-8000-d0c5000000b8"),
body: .json(.init(
storeId: "6659c139-0000-4000-8000-d0c500000066"
))
).ok.body.json
print(response){
"handed_over_at": "<handed_over_at>"
}