Search code examples
iosquickblox

ios Unprocessable Entity while SignUp in Quickblox


I am developing a chatting app and i have added Quickblox framework for chat, but while signup with new user getting following error:

Request URL:https://api.quickblox.com/users.json
Request method: POST
Request parameters:{
user =     {
    login = 8306706078;
    password = 12345;
};
}
Request headers: {
"Content-Type" = "application/json";
"QB-SDK" = "iOS 2.0.12";
"QB-Token" = 98b2213918ec59f8d669f021c7792f82a7f40dc3;
"QuickBlox-REST-API-Version" = "0.1.1";
}
error.description [QBResponse], status: 422
Response headers: {
"Access-Control-Allow-Origin" = "*";
"Cache-Control" = "no-cache";
Connection = "keep-alive";
"Content-Type" = "application/json; charset=utf-8";
Date = "Tue, 27 Jan 2015 21:41:35 GMT";
"QB-Token-ExpirationDate" = "2015-01-27 23:40:49 UTC";
"QuickBlox-REST-API-Version" = "0.1.1";
Server = "nginx/1.0.15";
Status = "422 Unprocessable Entity";
"Transfer-Encoding" = Identity;
"X-Rack-Cache" = "invalidate, pass";
"X-Request-Id" = 14e6f057f03d5913fafea2dbae6754be;
"X-Runtime" = "0.015577";
"X-UA-Compatible" = "IE=Edge,chrome=1";
}

i used following code...

Created session in appdelegate

[QBRequest createSessionWithSuccessBlock:^(QBResponse *response, QBASession *session) {

} errorBlock:^(QBResponse *response) {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", "") message:[response.error description] delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", "") otherButtonTitles:nil];
    [alert show];
}];

Calling signUp API in signViewController:

QBUUser *userTmp = [QBUUser user];
    userTmp.login = phone;
    userTmp.password = pswd;

    [QBRequest signUp:userTmp successBlock:^(QBResponse *response, QBUUser *user) {

        BeLokaalUser *beLokaalUser = [BeLokaalUser user];

        beLokaalUser.fullName = userTmp.fullName;
        beLokaalUser.login = user.login;
        beLokaalUser.password = user.password;
        beLokaalUser.phone = userTmp.phone;
        beLokaalUser.email = userTmp.email;
        beLokaalUser.country = self.txtCountry.text;

        [self dismissView];
    } errorBlock:^(QBResponse *response) {

        NSLog(@"error.description %@",response.description);

        [self dismissView];
    }];

Solution

  • the password should contain 8 letters. I stuck on that error for more than 5 hours. :(