efun.id.api

<back to all web services

LogGiftcodeRequest

Requires Authentication
The following routes are available for this service:
GET/api/v1/logs/giftcode
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
Object = TypeVar('Object')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PagingRequest:
    page: int = 0
    limit: int = 0
    off_set: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LogGiftcodeRequest(PagingRequest):
    game_id: int = 0
    from_date: datetime.datetime = datetime.datetime(1, 1, 1)
    to_date: datetime.datetime = datetime.datetime(1, 1, 1)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReceivedGiftcodeResponse:
    event_id: int = 0
    event_name: Optional[str] = None
    event_url: Optional[str] = None
    description: Optional[str] = None
    icon_url: Optional[str] = None
    label: Optional[str] = None
    label_color: Optional[str] = None
    event_type: int = 0
    code: Optional[str] = None
    server_id: Optional[str] = None
    character_id: Optional[str] = None
    character_name: Optional[str] = None
    start_date: Optional[datetime.datetime] = None
    due_date: Optional[datetime.datetime] = None
    event_start_date: Optional[datetime.datetime] = None
    event_end_date: Optional[datetime.datetime] = None
    created_date: datetime.datetime = datetime.datetime(1, 1, 1)
    is_used: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Pagination:
    total: int = 0
    pages: int = 0
    offset: int = 0
    limit: int = 0
    current_page: int = 0


T = TypeVar('T')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PageResponse(Generic[T], IResponseRequest):
    code: int = 0
    message: Optional[str] = None
    data: List[ReceivedGiftcodeResponse] = field(default_factory=list)
    pagination: Optional[Pagination] = None

Python LogGiftcodeRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/v1/logs/giftcode HTTP/1.1 
Host: efun-id-api-sandbox.efun.vn 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String,
	data: 
	[
		{
			userId: 0,
			userName: String,
			vipPoint: 0,
			orderId: String,
			exportCode: String,
			giftCode: String,
			gameId: 0,
			gameName: String,
			serverId: 0,
			serverName: String,
			packageId: 0,
			packageName: String,
			characterId: String,
			characterName: String,
			payCode: 0,
			payMsg: String,
			ipAddress: String,
			userAgent: String,
			signature: String,
			responseData: String,
			id: 000000000000000000000000
		}
	]
}