public PushResult sendPush(PushPayload pushPayload)
      throws APIConnectionException, APIRequestException {
    if (_globalSettingEnabled) {
      pushPayload.resetOptionsTimeToLive(_timeToLive);
      pushPayload.resetOptionsApnsProduction(_apnsProduction);
    }

    ResponseWrapper response = _httpClient.sendPost(_baseUrl, pushPayload.toString(), _authCode);

    return PushResult.fromResponse(response);
  }