public async Task <ListMessageEventsResponse> List(string url, MessageEventsQuery messageEventsQuery)
        {
            var request = new Request
            {
                Url    = url,
                Method = "GET",
                Data   = (object)messageEventsQuery ?? new { }
            };

            var response = await requestSender.Send(request);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new ResponseException(response);
            }

            dynamic content = Jsonification.DeserializeObject <dynamic>(response.Content);

            var listMessageEventsResponse = new ListMessageEventsResponse
            {
                ReasonPhrase  = response.ReasonPhrase,
                StatusCode    = response.StatusCode,
                Content       = response.Content,
                MessageEvents = ConvertResultsToAListOfMessageEvents(content.results),
                TotalCount    = content.total_count,
                Links         = ConvertToLinks(content.links)
            };

            return(listMessageEventsResponse);
        }
Example #2
0
 public IDictionary <string, object> ToDictionary(MessageEventsQuery query)
 {
     return(WithCommonConventions(query, new Dictionary <string, object>()
     {
         ["events"] = string.Join(",", query.Events),
         ["campaigns"] = string.Join(",", query.CampaignIds),
         ["bounce_classes"] = string.Join(",", query.BounceClasses),
         ["from_addresses"] = string.Join(",", query.FromAddresses),
         ["messages"] = string.Join(",", query.MessageIds),
         ["recipients"] = string.Join(",", query.Recipients),
         ["subaccounts"] = string.Join(",", query.Subaccounts),
         ["templates"] = string.Join(",", query.TemplateIds),
         ["transmissions"] = string.Join(",", query.TransmissionIds)
     }));
 }
 public async Task <ListMessageEventsResponse> List(MessageEventsQuery messageEventsQuery)
 {
     return(await this.List($"/api/{client.Version}/events/message", messageEventsQuery));
 }