title: Unable to send Push Notifications from Web(JavaScript) QuickBlox
body: <p>I am trying to send push notification from web backend (JavaScript) using QuickBlox Push Notification API to iOS devices. I have created subscription on iOS app and trying to send push notification from JavaScript to subscribed users.</p>
  
  <p>The iOS App code to subscribe is as follows:</p>
  
  <pre><code>- (void)loginAndConnectToChatQBUserWithLoginName:(NSString *)loginName password:(NSString *)password{
      isConnecting = YES;
  
      QBUUser *user = [[QBUUser alloc] init];
      user.login = loginName;
      user.password = password;
  
      __weak typeof(self) weakSelf = self;
  
      //Authenticate user
  
      [QBRequest logInWithUserLogin:user.login password:user.password successBlock:^(QBResponse * _Nonnull response, QBUUser * _Nullable user) {
          NSLog(@"Logged in");
          [weakSelf registerForRemoteNotifications];
  
          [AppDelegate appDelegate].currentUser = user;
  
          user.password = password;
  
          [QBChat.instance connectWithUser:user completion:^(NSError * _Nullable error) {
              if (QBChat.instance.isConnected) {
                  NSLog(@"chat is connected");
              }
              else{
                  NSLog(@"chat not connected");
              }
  
              isConnecting = NO;
          }];
      } errorBlock:^(QBResponse * _Nonnull response) {
          // Handle error here
          NSLog(@"Unable to connect");
          isConnecting = NO;
      }];
  }
  
  - (void)registerForRemoteNotifications{
  
  #if __IPHONE_OS_VERSION_MAX_ALLOWED &gt;= 80000
      if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {
  
          [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
          [[UIApplication sharedApplication] registerForRemoteNotifications];
      }
      else{
          [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
      }
  #else
      [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
  #endif
  }
  
  -(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
      NSString *deviceIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
  
      QBMSubscription *subscription = [QBMSubscription subscription];
      subscription.notificationChannel = QBMNotificationChannelAPNS;
      subscription.deviceUDID = deviceIdentifier;
      subscription.deviceToken = deviceToken;
  
      [QBRequest createSubscription:subscription successBlock:^(QBResponse *response, NSArray *objects) {
          //Subscription Successfull
          NSLog(@"Subscription Successfull.");
  
      } errorBlock:^(QBResponse *response) {
          //Subscription Failure
      }];
  }
  </code></pre>
  
  <p>Create Subscription success response is as follow:</p>
  
  <pre><code>[QBResponse], status: 201
  </code></pre>
  
  <p>Code to send push notification from JavaScript is as follows:</p>
  
  <pre><code>var pushCustomParams = {
    message: 'Message received from Bob',
    ios_badge: 1,
    ios_sound: 'mysound.wav', //Sound File name
    user_id: '234', //Caller User ID
  }
  
  var params = {
    notification_type: 'push',
    user: {ids: [110678]}, // recipients.
    environment: 'development', // environment, can be 'production' as well.
    message: QB.pushnotifications.base64Encode(JSON.stringify(pushCustomParams))
  };
  
  QB.pushnotifications.events.create(params, function(err, response) {
    if (err) {
      console.log(err);
    } else {
      // success
    }
  });
  </code></pre>
  
  <p>On creation on event I get an error all the time:</p>
  
  <pre><code>[EventsProxy] create Object { notification_type:"push", user:Object,environment:"development",message:"ey....."}
  
  [ServiceProxy] Request: POST Object {data:"{"url":"https://api.quickblox.com/e.."}
  
  [ServiceProxy] ajax error 401 Unauthorized {"errors" : ["Token is required"]}
  
  Object {code:401, status:"error", message:"Unauthorized", detail:"{errors"["Token is required"]}"}
  </code></pre>
  
  <p>Please suggest me what I am doing wrong in the code.</p>