Understands Beckn 2.0.0 LTS core schema and generates complete, valid sample payloads for all API actions given a use case description. Detects when domain-specific custom schemas are needed and maps them correctly. Covers retail, food & beverage, grocery, EV charging, energy (P2P trading, demand flex), and data marketplace (DDM) domains.
Instalação
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Understands Beckn 2.0.0 LTS core schema and generates complete, valid sample payloads for all API actions given a use case description. Detects when domain-specific custom schemas are needed and maps them correctly. Covers retail, food & beverage, grocery, EV charging, energy (P2P trading, demand flex), and data marketplace (DDM) domains.
CRITICAL: DEG repo examples use an older EOS schema format with snake_case context fields
(bap_id, transaction_id) and message.order. Those formats are INVALID in v2.0.0 LTS.
Always use the v2.0.0 LTS spec structure with camelCase context fields.
All context fields are camelCase — never bap_id, transaction_id etc.
bppId/bppUri absent only on discover
transactionId same across entire discover→confirm flow
messageId new per request; callback echoes same messageId
No domain field — domain identity goes in networkId or catalog @context
@context / @type rule — CRITICAL
@context and @type belong ONLY on *Attributes extension objects and the top-level Contract.
Core Beckn schema objects (Descriptor, Location, Catalog, Resource, Offer, Commitment,
Consideration, Performance, Participant, Entitlement) are already defined by beckn.yaml
and do NOT need @context/@type inline in the payload.
Context fields camelCase (bapId not bap_id, messageId not message_id)
No domain key in context
version: "2.0.0" present
Contract has top-level @context: "https://schema.beckn.io/Contract/v2.0" and @type: "beckn:Contract"
@context/@type ONLY on *Attributes objects and the top-level Contract — NOT on Descriptor, Location, Consideration, Commitment, Performance, Participant, Resource, Offer, Catalog, Entitlement
Catalog uses resources[] not items[]
Contract uses performance[] not fulfillments[]
Participants use direct props (id, displayName, telephone, email) — no participantAttributes wrapper
Consideration components[] has type/value/currency/description (not old breakup[])
Status code on on_confirm is ACTIVE (not CONFIRMED)
Step 6 — Custom schema detection
Ask yourself:
Food/beverage prepared item? → beckn:FnBItem in resourceAttributes + commitmentAttributes; beckn:FnBPriceSpecification in considerationAttributes
F&B customizable offer? → beckn:FnBOffer with customization.groups[] in offerAttributes
F&B/retail delivery? → beckn:HyperlocalDelivery in performanceAttributes
Grocery item? → GroceryItem schema in resourceAttributes
EV charging station? → EvChargingService in resourceAttributes; EvChargingOffer in offerAttributes; EvChargingSession in performanceAttributes
P2P energy trade? → EnergyResource in resourceAttributes; EnergyTradeOffer (with BecknTimeSeries) in offerAttributes; EnergyCustomer direct props on Participant
Demand flex event? → DemandFlexNeed in resourceAttributes; DemandFlexBuyOffer in offerAttributes
Dataset/data exchange? → DatasetItem in resourceAttributes; DatasetFulfillment in performanceAttributes
New domain? → First check https://schema.beckn.io for existing schemas. Ask the user which domain/schema set to search. Only propose a new schema after confirming no existing one fits.