How to Integrate a Game at IDC Games
  • Introduction
  • Quick Integration Guide
    • 1. Upload your game
    • 2. You integrate our login system
    • 3. Quick Payments Integration
    • 4. Upload Content to the Game Page
    • 5. Player acquisition
  • Complete Integration Guide
    • Introducion
    • 1. Panel Guide
      • 1.1. Create a new game
      • 1.2 Game Configuration
      • 1.3 Shop
        • 1.3.1. Shop Wizard
        • 1.3.2. Shop Offers
        • 1.3.3. Shop Coupons
        • 1.3.4. Shop Themes
        • 1.3.5. Test shop
      • 1.4. Multi-Language
      • 1.5. Releases
      • 1.6. DLC
      • 1.7. Store Content
      • 1.8. Content
      • 1.9. WebSection
      • 1.10. Purchase Report
        • 1.10.1. Dashboard
        • 1.10.2 Client & App
        • 1.10.3 Gamer Level
        • 1.10.4 Region & Country
        • 1.10.5 Purchase Notifications
        • 1.10.6 Sales Wallet
        • 1.10.7 Player Summary
      • 1.11 Stats Report
        • 1.11.1 Leads
        • 1.11.2 Retention
        • 1.11.3 Login
        • 1.11.4 Payment
        • 1.11.5 Wishlist
    • 2. Login Guide
      • 2.1. Login with Unity
      • 2.2. Login with C#
      • 2.3. Login with C++/Unreal
      • 2.4. Login with HTTP
      • 2.5. Login with Web Service Definition Language (WSDL)
    • 3. Payments Guide
      • 3.1. Payments Integration Overview
      • 3.2. How to launch the Shop
    • 4. API Guide
      • Releases Workflow
      • C# examples
  • The Platform Visual Guide
    • About the Game Platform
    • General Pages
    • Game page
  • Glossary
    • Glossary
Powered by GitBook
On this page
  • Scope
  • 1. Create a new release
  • 2. Create ftp accounts
  • 3. Get ftp accounts data
  • 4. Upload files using FTP
  • 5. Publish an existing release
  • 6. Check synchronization status
  • 7. Deactivate active release
  • 8. Activate a release
  • Extra functions: Get active release
  • Extra functions: List Existing releases

Was this helpful?

  1. Complete Integration Guide
  2. 4. API Guide

Releases Workflow

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:

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:

{
    "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:

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:

{
    "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:

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:

{
    "success": true,
    "message": "FTP requested."
}

3. Get ftp accounts data

URL:

https://admin.idcgames.com/api/release/ftp/$releaseId

Type: GET

Params: none

Example JSON response (two accounts created)::

[
    {
        "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:

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:

{
    "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:

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:

{
    "status": 1,
    "progress": [
        {
            "file_name": "config.xml",
            "file_progress": 100,
            "file_speed": "",
            "ip": "127.0.0.1"
        }
    ]
}

7. Deactivate active release

URL:

https://admin.idcgames.com/api/release/remove_active

Type: POST

Params: none

Example JSON response:

{
    "success": true
}

8. Activate a release

URL:

https://admin.idcgames.com/api/release/remove_active

Type: POST

Params: none

Example JSON response:

{
    "success": true
}

Extra functions: Get active release

URL:

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:

{
    "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
        }
    ]
}

Extra functions: List Existing releases

URL:

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):

{
    "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
        }
    ]
}
Previous4. API GuideNextC# examples

Last updated 1 year ago

Was this helpful?