Task library BAPIHOOK API design · Phased project Public webhook delivery contract A fictional logistics platform sends shipment events to partner endpoints. Partners need stable schemas and recovery semantics despite duplicate delivery, failures, and subscription changes.
Practice brief · Version 5
Project scope 10 tickets / 3 phases
Total focused work estimate 27h 30m + setup
Suggested stack TypeScript · OpenAPI · HTTP · PostgreSQL Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.
Choose a bounded subset for an assessment or practice session. Prerequisites and remaining project work must be agreed separately.
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Pattern topics identify design choices to practice. Read the ticket's acceptance criteria and justify the simplest suitable approach. Tags are not capability or ownership evidence; an untagged ticket has no curated pattern topic assigned.
Recommended next step Start with BAPIHOOK-101 Open the first ticket for its prerequisites, acceptance criteria, verification plan, and an editable task draft.
What the engineer takes away Practice public event contracts, delivery guarantees, and partner recovery workflows.
What the team gains Provide inspectable asynchronous integration behavior with controlled retries and clear compatibility.
Before you start Create a local webhook sender and receiver doubles with synthetic shipment events and disposable signing keys. Delivery agreement Deliver local subscription and delivery contracts; send no external webhook traffic.
AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.
Delivery phases PHASE 1 Specify immutable identities, schemas, and subscription authority.
PHASE 2 Handle signatures, retries, ordering, and endpoint boundaries.
PHASE 3 Make recovery and schema migration explicit.
Define public events Specify immutable identities, schemas, and subscription authority.
BAPIHOOK-101 Entry ticket; project setup still required Estimated field mix
API design 80% Data engineering 20% BAPIHOOK-102 Depends on BAPIHOOK-101 BAPIHOOK-103 Depends on BAPIHOOK-102 Deliver predictably Handle signatures, retries, ordering, and endpoint boundaries.
BAPIHOOK-104 Depends on BAPIHOOK-101, BAPIHOOK-103 BAPIHOOK-105 Depends on BAPIHOOK-104 Estimated field mix
Distributed systems 60% API design 40% BAPIHOOK-106 Depends on BAPIHOOK-105 Estimated field mix
Site reliability 50% API design 30% Integrations 20% BAPIHOOK-107 Depends on BAPIHOOK-105, BAPIHOOK-106 Estimated field mix
Distributed systems 60% API design 40% Support evolution and replay Make recovery and schema migration explicit.
BAPIHOOK-108 Depends on BAPIHOOK-106, BAPIHOOK-107 Estimated field mix
API design 40% Security 30% Data engineering 30% BAPIHOOK-109 Depends on BAPIHOOK-104, BAPIHOOK-107, BAPIHOOK-108 Estimated field mix
API design 60% System design 40% BAPIHOOK-110 Depends on BAPIHOOK-109 Estimated field mix
Integrations 40% Security 30% Distributed systems 30% Use this project CSV keeps grouping and dependency keys as descriptive fields. Import mapping depends on your tracker configuration.