Private Match API This is the API used when applying individual matching during gameplay. To apply group matching play, please use the Group API .
Matching request This is called when starting a match request. The match corresponding to matchId
must be pre-created in the Hive console.
Request URL LIVE URL https://api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players SANDBOX URL https://sandbox-api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players HTTP METHOD POST CONTENT-TYPE application/json
Field Name Description Type Required Authorization Authentication token for API calls (Bearer) string Y
Path parameters Field Name Description Type Required gameIndex Project identifier that can be found in the Hive console app center int Y matchId Identifier for each match created in the Hive console int Y
Request body Field Name Description Type Required playerId Account identifier long Y point This is the score to be used for matching. The input range is 0 ~ 999,999,999
. If not entered, it will be processed as 0
. integer N extraData Additional account information (nickname, level, country, etc.). Up to 256 characters can be entered. It will be included in the matching results. string N
Response Field Name Description playerId Account identifier matchInfo Information requested gameIndex
: Value of gameIndex
matchId
: Value of matchId
requestingStatus Request status information requested
: Match request was made successfully notRequested
: No match request was made, or the match is already completed and there is no ongoing match requestingInfo Request information requestTimeUtc
: Request time based on UTC+0 point
: point
entered at the time of request extraData
: extraData
entered at the time of request matchingInfo Matching progress information (status
) matchingInProgress
: Matching is in progress timeout
: Matching did not occur within the time limit matched
: Matching completed
Request sample curl --location 'https://sandbox-api-match.withhive.com/gameindexes/1/matchmakings/1/request' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ya3a' \
--data '{
"playerId":100,
"point": 1000
}'
Response sample {
"playerId" : 100 ,
"matchInfo" : {
"gameIndex" : 1 ,
"matchId" : 1
},
"requestingStatus" : "requested" ,
"requestingInfo" : {
"requestTimeUtc" : "2024-06-05T05:09:28.72" ,
"point" : 1000
},
"matchingInfo" : {
"status" : "matchingInProgress"
}
}
Check match status Checking the requested matching status.
요청 URL LIVE URL https://api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players SANDBOX URL https://sandbox-api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players HTTP METHOD GET
Field Name Description Type Required Authorization Authentication token for API calls (Bearer) string Y
Path parameters Field Name Description Type Required gameIndex Project identifier that can be checked in the Hive console app center int Y matchId Identifier for each match created in the Hive console int Y
Query parameters Field Name Description Type Required id User ID (`playerId`) long Y
Response Field Name Description playerId Account Identifier matchInfo Information requested gameIndex
: Value of gameIndex
matchId
: Value of matchId
requestingStatus Request status information requested
: Match request was made successfully notRequested
: No match request was made, or the match is already completed and there is no ongoing match requestingInfo Request information requestTimeUtc
: Request time based on UTC+0 point
: point
entered during the request extraData
: extraData
entered during the request matchingInfo Matching progress information (status
) matchingInProgress
: Matching is in progress timeout
: Matching was not achieved within the time limit matched
: Matching completed
Request sample curl --location --request GET 'https://sandbox-api-match.withhive.com/gameindexes/1/matchmakings/1/players?id=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ya3a'
Response sample When the developer has not yet made a matching request, the matching status result is as follows.
{
"playerId" : 100 ,
"matchInfo" : {
"gameIndex" : 1 ,
"matchId" : 1
},
"requestingStatus" : "notRequested"
}
When a matching request is made 매칭 요청 and the matching is still in progress, it returns the results requested
and matchingInProgress
.
{
"playerId" : 100 ,
"matchInfo" : {
"gameIndex" : 1 ,
"matchId" : 1
},
"requestingStatus" : "requested" ,
"requestingInfo" : {
"requestTimeUtc" : "2024-06-05T05:09:28.72" ,
"point" : 1000
},
"matchingInfo" : {
"status" : "matchingInProgress"
}
}
When checking the request status after matching is complete, it returns a result of matched
or timeout
. This is the state after matching is complete but before receiving the match result callback .
{
"playerId" : 100 ,
"matchInfo" : {
"gameIndex" : 1 ,
"matchId" : 1
},
"requestingStatus" : "requested" ,
"requestingInfo" : {
"requestTimeUtc" : "2024-06-05T05:09:28.72" ,
"point" : 1000
},
"matchingInfo" : {
"status" : "matched"
}
}
When the matching is complete, the Hive server will send the matching result as a callback to the developer's server. After the developer's server receives the matching result callback and returns HTTP Status 200 in response to the Hive server, if the matching request status is checked again, it will change to notRequested
as shown below, and the matchingInfo
key will be deleted. This is because when the Hive server receives HTTP Status 200 as a callback response, it determines that the matching requested by the developer has been completed and deletes the corresponding matching request transaction.
{
"playerId" : 100 ,
"matchInfo" : {
"gameIndex" : 1 ,
"matchId" : 1
},
"requestingStatus" : "notRequested"
}
Before matching request After matching request After matching result generation After callback reception requestingStatus notRequested requested requested notRequested matchingInfo > Status N/A matchingInProgress matched or timeout N/A Remarks At the point of matching in progress At the point before callback reception
Cancel match request Cancelling the matching request. If you cancel the matching request, the matching request transaction in the Hive server will be deleted.
If the matching request is completed after requesting a match and an HTTP Status 200 is sent in response to the match result callback , the Hive server will consider the matching completed internally and delete the corresponding matching request transaction. In this state, even if a cancellation of the matching request is called, the matching request transaction has already been deleted, so the cancellation request will not be executed, and no exceptions will be returned separately.
Request URL LIVE URL https://api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players/{playerId} SANDBOX URL https://sandbox-api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players/{playerId} HTTP METHOD DELETE
Field Name Description Type Required Authorization Authentication token for API calls (Bearer) string Y
Path parameters Field Name Description Type Required gameIndex Project identifier that can be checked in the Hive console app center int Y matchId Identifier for each match created in the Hive console int Y playerId User ID long Y
Response In the case of 200 OK
, the Body data is empty.
Request sample curl --location --request DELETE 'https://sandbox-api-match.withhive.com/gameindexes/1/matchmakings/1/players/100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ya3a'
Response sample There is no special response content upon successful processing.