docs: def _construct_params(self, bounce_type=None, inactive=None,
                            email_filter=None, message_id=None, count=None,
                            offset=None):
          '''Builds query string params from inputs. It handles offset and
          count defaults and validation.
  
          :param bounce_type: The type of bounces retrieve. See `bounce_types`
              for a list of types, or read the Postmark API docs. Defaults to
              `None`.
          :param inactive: If `True`, retrieves inactive bounces only.
              Defaults to `None`.
          :param email_filter: A string to filter emails by.
              Defaults to `None`.
          :param message_id: Retrieve a bounce for a single message's ID.
              Defaults to `None`.
          :param count: The number of bounces to retrieve in this request.
              Defaults to 25 if `message_id` is not provided.
          :param offset: The page offset for bounces to retrieve. Defaults to 0
              if `message_id` is not provided.
          '''
          params = {}
          if bounce_type is not None:
              if bounce_type not in bounce_types:
                  err = 'Invalid bounce type "{0}".'
                  raise BounceError(err.format(bounce_type))
              else:
                  params['type'] = bounce_type
          if inactive is not None:
              params['inactive'] = inactive
          if email_filter is not None:
              params['emailFilter'] = email_filter
          if message_id is None:
              # If the message_id is given, count and offset are not
              # required, so we postpone assigning defaults to here
              if count is None:
                  count = 25
              if offset is None:
                  offset = 0
          else:
              params['messageID'] = message_id
          if count is not None:
              params['count'] = count
          if offset is not None:
              params['offset'] = offset
          return params