Project

General

Profile

Files » api-sequence-get-gift.md

Toan Chu, 11/24/2025 09:08 AM

 

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
(1-1/2)