public async Task <bool> WebPushSubscriptionStore(
            Guid correlationRefId,
            PlayerWebPushSubscription playerWebPushSubscription,
            double latitude,
            double longitude,
            CancellationToken cancellationToken = default)
        {
            SmartRequestV2 <PlayerWebPushSubscription> req = new SmartRequestV2 <PlayerWebPushSubscription>
            {
                Data = playerWebPushSubscription,
                Uuid = Guid.NewGuid().ToString()
            };

            string requestUrl = "api/webpush/subscription";

            HttpResponseMessage response = await SendAsJsonAsync(
                HttpMethod.Post,
                requestUrl,
                correlationRefId,
                req,
                null,
                cancellationToken).ConfigureAwait(false);

            if (response.IsSuccessStatusCode)
            {
                return(true);
            }

            return(false);
        }
        public async Task <bool> ActionCompletedV1Async(
            Guid correlationRefId,
            string gamificatorApiKey,
            ActionRequest actionRequest,
            double latitude,
            double longitude,
            CancellationToken cancellationToken = default)
        {
            SmartRequestV2 <ActionRequest> req = new SmartRequestV2 <ActionRequest>
            {
                Data = actionRequest,
                Uuid = Guid.NewGuid().ToString()
            };

            string pathAndQuery = "api/v1/action/completed";

            Dictionary <string, string> requestHeaders = new Dictionary <string, string>();

            requestHeaders["gamificator-apikey"] = gamificatorApiKey;

            HttpResponseMessage response = await SendAsJsonAsync(
                HttpMethod.Post,
                pathAndQuery,
                correlationRefId,
                req,
                requestHeaders,
                cancellationToken).ConfigureAwait(false);

            if (response.IsSuccessStatusCode)
            {
                return(true);
            }

            return(false);
        }