diff --git a/Sources/MarketKit/Classes/Kit.swift b/Sources/MarketKit/Classes/Kit.swift index 5c0b8c1..3bea20f 100644 --- a/Sources/MarketKit/Classes/Kit.swift +++ b/Sources/MarketKit/Classes/Kit.swift @@ -472,8 +472,8 @@ public extension Kit { try await hsProvider.authenticate(signature: signature, address: address) } - func requestPersonalSupport(telegramUsername: String) async throws { - try await hsProvider.requestPersonalSupport(telegramUsername: telegramUsername) + func requestPersonalSupport(jws: String) async throws -> String { + try await hsProvider.requestPersonalSupport(jws: jws) } // Signals diff --git a/Sources/MarketKit/Classes/Providers/HsProvider.swift b/Sources/MarketKit/Classes/Providers/HsProvider.swift index e4eefce..e6b12fb 100644 --- a/Sources/MarketKit/Classes/Providers/HsProvider.swift +++ b/Sources/MarketKit/Classes/Providers/HsProvider.swift @@ -486,12 +486,15 @@ extension HsProvider { // Personal Support - func requestPersonalSupport(telegramUsername: String) async throws { + func requestPersonalSupport(jws: String) async throws -> String { let parameters: Parameters = [ - "username": telegramUsername, + "platform": "ios", + "subscription_id": jws, ] - _ = try await networkManager.fetchJson(url: "\(baseUrl)/v1/support/start-chat", method: .post, parameters: parameters, headers: proHeaders) + let response: GroupLinkResponse = try await networkManager.fetch(url: "\(baseUrl)/v1/support/create-group", method: .post, parameters: parameters, headers: proHeaders) + + return response.groupLink } // Market Tickers @@ -595,6 +598,14 @@ extension HsProvider { } } + struct GroupLinkResponse: ImmutableMappable { + let groupLink: String + + init(map: Map) throws { + groupLink = try map.value("group_link") + } + } + private struct HttpBodyEncoding: ParameterEncoding { private let jsonObject: Any