Scope
Here you can find how to upload release APIS or DLC to the IDC Panel to manage your releases of published games. These APIs allow you to create a new version of a game, upload the necessary files and go live.
All the APIs require using two mandatory headers in the HTTP Request:
GameId - game id provided by IDC Games GameSecret - game secret provided by IDC Games
Main functions and workflow:
1. Create a new release
URL:
Copy https://admin.idcgames.com/api/release/active
Type: POST
Params:
rel_name - release name or version
exe - (optional) change exe file name used to execute the game
Example JSON response:
Copy {
"data" : {
"id" : 131 ,
"name" : "1.20" ,
"exe" : "testGame.exe" ,
"size" : "" ,
"published" : "" ,
"active" : false ,
"splash" : "https://admin.idcgames.com/storage/91/TESTGAME_LOGO" ,
"ico" : "https://admin.idcgames.com//storage/92/TESTGAME_ICO.ico" ,
"sync_status" : 0
}
}
or modify an existing one:
URL:
Copy https://admin.idcgames.com/api/release/update/$releaseId (releaseId recovered from create release, get active release or list existing releases)
Type: POST
Params:
rel_name - release name or version. Launcher updates the game only when it finds that the release name has changed
exe -(optional) change exe file name used to execute the game
Example JSON response:
Copy {
"data" : {
"id" : 131 ,
"name" : "1.20" ,
"exe" : "testGame.exe" ,
"size" : "28.2 MB" ,
"published" : "2021-04-08T17:47:45.000000Z" ,
"active" : true ,
"splash" : "https://admin.idcgames.com/storage/91/IDC_LOGO.png" ,
"ico" : "https://admin.idcgames.com/storage/92/LogoIDC.ico" ,
"sync_status" : 1
}
}
2. Create ftp accounts
Accounts creation takes some seconds, use 3.- get ftp accounts data API to get the ftp data once it is created:
URL:
Copy https://admin.idcgames.com/api/release/ftp/$releaseId (releaseId recovered from create release, get active release or list existing releases)
Type: POST
Params:
rel_dlc - 0 for release, 1 for DLC
rel_dir - redist for redistribuible files, common for files with the same format in x86 and x6 systems, uncommon for files for x86 systems, wich should be included in x86 folder and files for x64 systems, wich should be included in x64 folder
hours - ftp account lifetime in hours
ip - (optional) public source ip for uploading files with ftp. Leave blank if api is called from the same ip as ftp upload
Example JSON response:
Copy {
"success" : true ,
"message" : "FTP requested."
}
3. Get ftp accounts data
URL:
Copy https://admin.idcgames.com/api/release/ftp/$releaseId
Type: GET
Params: none
Example JSON response (two accounts created)::
Copy [
{
"id" : 550 ,
"user" : 0 ,
"rel" : 131 ,
"rel_dir" : "idc-games/bkdUSlN4S25TYjVwU3RseDR3PT0=/uncommon" ,
"hours" : 1 ,
"ip" : "127.0.0.1" ,
"requested_at" : "2021-04-09 08:14:44" ,
"accepted_at" : "2021-04-09 08:14:50" ,
"notified" : false ,
"ftp_username" : "ftpidc550" ,
"ftp_password" : "yspSOpCa" ,
"expire_at" : "2021-04-09 09:14:50" ,
"status" : 1 ,
"rel_dlc" : false ,
"created_at" : "2021-04-09 08:14:44" ,
"updated_at" : "2021-04-09 08:14:44"
} ,
{
"id" : 551 ,
"user" : 0 ,
"rel" : 279 ,
"rel_dir" : "idc-games/bkdUSlN4S25TYjVwU3RseDR3PT0=/common" ,
"hours" : 1 ,
"ip" : "127.0.0.1" ,
"requested_at" : "2021-04-09 08:15:14" ,
"accepted_at" : "2021-04-09 08:15:20" ,
"notified" : false ,
"ftp_username" : "ftpidc551" ,
"ftp_password" : "9nR0EaCz" ,
"expire_at" : "2021-04-09 09:15:20" ,
"status" : 1 ,
"rel_dlc" : false ,
"created_at" : "2021-04-09 08:15:14" ,
"updated_at" : "2021-04-09 08:15:14"
}
]
message ": " FTP requested. "
}
4. Upload files using FTP
You need to use a FTP client tool or integrate your own ftp code using any of the available libraries for ftp.
5. Publish an existing release
URL:
Copy https://admin.idcgames.com/api/release/publish/$releaseId (releaseId recovered from create release, get active release or list existing releases)
Type: POST
Params: none
Example JSON response:
Copy {
"success" : true ,
"errors" : [] ,
"sync_url" : "https://admin.idcgames.com/game/release/sync/131" ,
"json_url" : "download.idcgames.com/games/idc-games/bkdUSlN4S25TYjVwU3RseDR3PT0=/download.json"
}
6. Check synchronization status
URL:
Copy https://admin.idcgames.com/api/release/check_sync/$releaseId (releaseId recovered from create release, get active release or list existing releases)
Type: POST
Params: none
Example JSON response:
Copy {
"status" : 1 ,
"progress" : [
{
"file_name" : "config.xml" ,
"file_progress" : 100 ,
"file_speed" : "" ,
"ip" : "127.0.0.1"
}
]
}
7. Deactivate active release
URL:
Copy https://admin.idcgames.com/api/release/remove_active
Type: POST
Params: none
Example JSON response:
8. Activate a release
URL:
Copy https://admin.idcgames.com/api/release/remove_active
Type: POST
Params: none
Example JSON response:
URL:
Copy https://admin.idcgames.com/api/release/active/$releaseId (releaseId recovered from create release, get active release or list existing releases)
Type: POST
Params: none
Example JSON response:
Copy {
"data" : [
{
"id" : 131 ,
"name" : "1.20" ,
"exe" : "testGame.exe" ,
"size" : "100.28 MB" ,
"published" : "2020-07-16T17:40:44.000000Z" ,
"active" : true ,
"splash" : "https://admin.idcgames.com//storage/91/TESTGAME_LOGO.png" ,
"ico" : "https://admin.idcgames.com//storage/92/TESTGAME_ICO.ico" ,
"sync_status" : 1
}
]
}
URL:
Copy https://admin.idcgames.com/api/release/active/$releaseId (releaseId recovered from create release, get active release or list existing releases)
Type: POST
Params: none
Example JSON response (two active releases):
Copy {
"data" : [
{
"id" : 130 ,
"name" : "1.20" ,
"exe" : "testGame.exe" ,
"size" : "98.32 MB" ,
"published" : "2020-05-13T18:12:32.000000Z" ,
"active" : false ,
"splash" : "https://admin.idcgames.com//storage/91/TESTGAME_LOGO.png" ,
"ico" : "https://admin.idcgames.com//storage/92/TESTGAME_ICO.ico" ,
"sync_status" : 1
} ,
{
"id" : 131 ,
"name" : "1.20" ,
"exe" : "testGame.exe" ,
"size" : "100.28 MB" ,
"published" : "2020-07-16T17:40:44.000000Z" ,
"active" : true ,
"splash" : "https://admin.idcgames.com//storage/91/TESTGAME_LOGO.png" ,
"ico" : "https://admin.idcgames.com//storage/92/TESTGAME_ICO.ico" ,
"sync_status" : 1
}
]
}
Last updated 9 months ago