createAffiliateApplyLink method
Future<Response<UserAffiliateApplyLinkResponse> >
createAffiliateApplyLink({
- required String appUserId,
- required String xApiKey,
- required UserAffiliateApplyLinkRequest userAffiliateApplyLinkRequest,
- CancelToken? cancelToken,
- Map<
String, dynamic> ? headers, - Map<
String, dynamic> ? extra, - ValidateStatus? validateStatus,
- ProgressCallback? onSendProgress,
- ProgressCallback? onReceiveProgress,
Create Affiliate Apply Link Builds an affiliate apply link for the user, carrying a short-lived token so the affiliate they become is attributed back to them. Request it when the user asks to apply, rather than ahead of time.
Parameters:
appUserId- The app user id of the user applying.xApiKey- The API key to authenticate with.userAffiliateApplyLinkRequestcancelToken- ACancelTokenthat can be used to cancel the operationheaders- Can be used to add additional headers to the requestextras- Can be used to add flags to the requestvalidateStatus- AValidateStatuscallback that can be used to determine request success based on the HTTP status of the responseonSendProgress- AProgressCallbackthat can be used to get the send progressonReceiveProgress- AProgressCallbackthat can be used to get the receive progress
Returns a Future containing a Response with a UserAffiliateApplyLinkResponse as data
Throws DioException if API call or serialization fails
Implementation
Future<Response<UserAffiliateApplyLinkResponse>> createAffiliateApplyLink({
required String appUserId,
required String xApiKey,
required UserAffiliateApplyLinkRequest userAffiliateApplyLinkRequest,
CancelToken? cancelToken,
Map<String, dynamic>? headers,
Map<String, dynamic>? extra,
ValidateStatus? validateStatus,
ProgressCallback? onSendProgress,
ProgressCallback? onReceiveProgress,
}) async {
final _path = r'/users/{app_user_id}/affiliate-apply-link'.replaceAll('{' r'app_user_id' '}', encodeQueryParameter(_serializers, appUserId, const FullType(String)).toString());
final _options = Options(
method: r'POST',
headers: <String, dynamic>{
r'x-api-key': xApiKey,
...?headers,
},
extra: <String, dynamic>{
'secure': <Map<String, String>>[],
...?extra,
},
contentType: 'application/json',
validateStatus: validateStatus,
);
dynamic _bodyData;
try {
const _type = FullType(UserAffiliateApplyLinkRequest);
_bodyData = _serializers.serialize(userAffiliateApplyLinkRequest, specifiedType: _type);
} catch(error, stackTrace) {
throw DioException(
requestOptions: _options.compose(
_dio.options,
_path,
),
type: DioExceptionType.unknown,
error: error,
stackTrace: stackTrace,
);
}
final _response = await _dio.request<Object>(
_path,
data: _bodyData,
options: _options,
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
UserAffiliateApplyLinkResponse? _responseData;
try {
final rawResponse = _response.data;
_responseData = rawResponse == null ? null : _serializers.deserialize(
rawResponse,
specifiedType: const FullType(UserAffiliateApplyLinkResponse),
) as UserAffiliateApplyLinkResponse;
} catch (error, stackTrace) {
throw DioException(
requestOptions: _response.requestOptions,
response: _response,
type: DioExceptionType.unknown,
error: error,
stackTrace: stackTrace,
);
}
return Response<UserAffiliateApplyLinkResponse>(
data: _responseData,
headers: _response.headers,
isRedirect: _response.isRedirect,
requestOptions: _response.requestOptions,
redirects: _response.redirects,
statusCode: _response.statusCode,
statusMessage: _response.statusMessage,
extra: _response.extra,
);
}