/// <summary>
        /// Gets a count of all of the order's fulfillments.
        /// </summary>
        /// <param name="orderId">The order id to which the fulfillments belong.</param>
        /// <param name="filter">Options for filtering the count.</param>
        /// <returns>The count of all fulfillments for the shop.</returns>
        public virtual async Task <int> CountAsync(long orderId, CountFilter filter = null)
        {
            var req = PrepareRequest($"orders/{orderId}/fulfillments/count.json");

            if (filter != null)
            {
                req.QueryParams.AddRange(filter.ToParameters());
            }

            return(await ExecuteRequestAsync <int>(req, HttpMethod.Get, rootElement : "count"));
        }
        /// <summary>
        /// Gets a count of all of the shop's customers.
        /// </summary>
        /// <returns>The count of all customers for the shop.</returns>
        public virtual async Task <int> CountAsync(CountFilter filter = null)
        {
            var req = PrepareRequest("customers/count.json");

            //Add optional parameters to request
            if (filter != null)
            {
                req.QueryParams.AddRange(filter.ToParameters());
            }

            return(await ExecuteRequestAsync <int>(req, HttpMethod.Get, rootElement : "count"));
        }