Параметры ответа
Обновлено 30 августа 2023
В случае успешной обработки запроса мобильное приложение партнера получает код авторизации.
Пример обработки ответа:
iOS
NSDictionary *dictParams = [self URLQueryParametersFoURL:url];
NSString *authCode = dictParams[@"code"];
NSString *state = dictParams[@"state"];
NSString *code = dictParams[@"code"];
NSString *status = dictParams[@"status"];
if (status.length && [status isEqualToString:@"success"] && state.length && code.length) {
// Успешный сценарий
}
else if ([status isEqualToString:@"fail"]) {
//Сценарий ошибки
}
- (NSDictionary *)URLQueryParametersFoURL:(NSURL *)URL
{
NSString *queryString = [URL query];
NSMutableDictionary *result = [NSMutableDictionary dictionary];
NSArray *parameters = [queryString componentsSeparatedByString:@"&"];
for (NSString *parameter in parameters)
{
NSArray *parts = [parameter componentsSeparatedByString:@"="];
if ([parts count] > 1)
{
NSString *key = [parts[0] stringByRemovingPercentEncoding];
NSString *value = [parts[1] stringByRemovingPercentEncoding];
result[key] = value;
}
}
return result;
}
Android
if(intent.getData() != null) {
mAuthCode = intent.getData().getQueryParameter(CODE);
mState = intent.getData().getQueryParameter(STATE);
}
№ п/п | Название параметра | Описание | Обязательность поля | Пример |
---|---|---|---|---|
1 | code | Код авторизации клиента. | [0-1] 0 - только в случае ошибки | FA2154AC-3451-C01A-B2D3-C231DBB2E20F |
2 | error | Текст ошибки (возможные значения приведены в таблице 8). | [0-1] 1 - только в случае ошибки | invalid_request |
3 | state | Значение, включенное в запрос возвращается в ответе. | Да | af0ifjsldkj |