Files » api-sequence-get-gift.md
sequenceDiagram
participant Client
participant API as Backend
participant DB as Database
Client->>API: GET /gifts/{gift_id}
API->>API: Validate gift_id format
alt Invalid gift_id format
API-->>Client: 400 Bad Request<br/>(Invalid gift ID format)
else Valid gift_id format
API->>DB: SELECT gift with qr_gift relationship
DB-->>API: Gift data
alt Gift not found
API-->>Client: 400 Bad Request<br/>(Gift code not found)
else Gift found
API->>API: Validate gift status, dates
alt Invalid status or dates
API-->>Client: 400 Bad Request<br/>(Already used/Not valid/Expired)
else Valid gift
API-->>Client: 200 OK<br/>(GiftWithQRInfoResponse)
end
end
end