syntax = "proto3";

package bilibili.api.ticket.v1;

// 
service Ticket {
    // 
    rpc GenWebTicket (GenWebTicketRequest) returns (GenWebTicketResponse);
    // 
    rpc GetTicket (GetTicketRequest) returns (GetTicketResponse);
}

// 
message GenWebTicketRequest {
    // 
    map<string, string> context = 1;
    // 
    string key_id = 2;
    // 
    string hexsign = 3;
    // 
    string token = 4;
}

// 
message GenWebTicketResponse {
    // 
    message Context {
        // 
        string v_voucher = 1;
    }
    
    // 
    message Nav {
        // 
        string img = 1;
        // 
        string sub = 2;
    }
    
    // 
    string ticket = 1;
    // 
    int64 created_at = 2;
    // 
    int64 ttl = 3;
    // 
    Context context = 4;
    // 
    Nav nav = 5;
}

// 
message GetTicketRequest {
    // 
    map<string, bytes> context = 1;
    // 
    string key_id = 2;
    // 
    bytes sign = 3;
    // 
    string token = 4;
}

// 
message GetTicketResponse {
    // 
    message Context {
        // 
        string v_voucher = 1;
    }
    
    // 
    string ticket = 1;
    // 
    int64 created_at = 2;
    // 
    int64 ttl = 3;
    // 
    Context context = 4;
}

