Breakfast Provider — gRPC API

gRPC over HTTP/2. Server reflection is enabled (grpc.reflection.v1), so grpcurl, Postman and Kreya can discover and call the service. The contract is published as a descriptor set in JSON and as its proto file.

breakfast.BreakfastGrpc

Breakfast Provider's gRPC API: recipe summaries and order status for kitchen systems.

MethodRequestResponseKindDescription
GetRecipeSummaryRecipeSummaryRequestRecipeSummaryReplyunarySummarises a recipe type. Pancakes and Waffles return fixed sample figures; any other recipe type returns zero batches and no ingredients.
GetOrderStatusOrderStatusRequestOrderStatusReplyunaryReturns an order's current status. NOT_FOUND when no order has the id.
StreamOrderUpdatesOrderStatusRequestOrderStatusReplyserver streamingStreams an order's status: today one message, the current status, then the stream completes. NOT_FOUND when no order has the id.

Messages

RecipeSummaryRequest

Which recipe type to summarise.

FieldNumberTypeJSON nameDescription
recipe_type1stringrecipeTypeThe recipe type, e.g. "Pancakes" or "Waffles".

RecipeSummaryReply

A recipe type's summary.

FieldNumberTypeJSON nameDescription
recipe_type1stringrecipeTypeThe recipe type that was asked for.
total_batches2int32totalBatchesHow many batches have been prepared.
common_ingredients3repeated stringcommonIngredientsThe ingredients the recipe is usually made with.
last_prepared_at4stringlastPreparedAtWhen the summary was produced, ISO 8601 round-trip format.

OrderStatusRequest

Which order to look up.

FieldNumberTypeJSON nameDescription
order_id1stringorderIdThe order's id, as returned by POST /orders.

OrderStatusReply

An order's current status.

FieldNumberTypeJSON nameDescription
order_id1stringorderIdThe order's id.
status2stringstatusCreated, Preparing, Ready, Completed or Cancelled.
customer_name3stringcustomerNameThe customer the order is for.
item_count4int32itemCountHow many items the order has.
created_at5stringcreatedAtWhen the order was created, ISO 8601 round-trip format.