2017-02-21 5 views
0

я купил номер, но я не могу отправить SMS-сообщение его дает плохой запрос 400.By используя номер пробный я могу отправить SMS ниже я использую AFNewtorking для API или есть другой способ вызвать апи для покупки действительного числаОтправить SMS сообщение с Twilio купил номер

NSString *kTwilioSID = @" "; 
    NSString *kTwilioSecret = @" "; 
    NSString *kFromNumber = @"+ "; 

    NSString* nospacestring =[phno stringByReplacingOccurrencesOfString:@" " withString:@""]; 
    NSString *kToNumber = nospacestring; 
    NSString *kSMSMessage = @"Smart Child Info is a precautionary app designed to fight child abduction, exploitation, and maltreatment."; 

    // Build request 
    NSString *urlString = [NSString stringWithFormat:@"https://%@:%@@api.twilio.com/2010-04-01/Accounts/%@/SMS/Messages/", kTwilioSID, kTwilioSecret, kTwilioSID]; 

    NSString *Loginurl = urlString; 


    NSDictionary* 
    [email protected]{@"From":kFromNumber,@"To":kToNumber,@"Body":kSMSMessage}; 

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 

    manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments]; 

    manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 

    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/plain",@"application/xml",nil]; 

    [manager.requestSerializer setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 

    [manager POST:Loginurl parameters:dic progress:nil success:^(NSURLSessionTask *task, id responseObject) { 


     NSLog(@"Response from server : %@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]); 

     NSData * data = (NSData *)responseObject; 
     NSString* xmlData = [NSString stringWithCString:[data bytes] encoding:NSISOLatin1StringEncoding]; 
     NSLog(@"%@",xmlData); 

     UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Success" message:@"Message has been sent" preferredStyle:UIAlertControllerStyleAlert]; 

     UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; 
     [alertController addAction:ok]; 

     [self presentViewController:alertController animated:YES completion:nil]; 

    } 
      failure:^(NSURLSessionTask *operation, NSError *error) 

    { 

     NSLog(@"Error: %@", error); 

     UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Failed" message:@"Message not sent" preferredStyle:UIAlertControllerStyleAlert]; 

     UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; 
     [alertController addAction:ok]; 

     [self presentViewController:alertController animated:YES completion:nil]; 

    }]; 

ответ

0

Twilio разработчик евангелист здесь.

Прежде всего, мы не рекомендуем вам обращаться за API-вызовами непосредственно к Twilio API из приложения iOS. Если кто-то должен был распаковать ваше приложение, они могли бы получить доступ к вашему SID учетной записи и Auth Token, а затем использовать вашу учетную запись для того, что они хотели.

Во-вторых, вы используете устаревшую конечную точку SMS/Messages. Вместо этого вы должны использовать более актуальное значение Messages endpoint.

Рекомендую вам взглянуть на это сообщение в блоге на sending SMS messages with Twilio on iOS. В нем описывается, как настроить сервер для отправки ваших сообщений, а затем взаимодействия с этим сервером.

Смежные вопросы