setShippingInformation method
Set shipping information for cart
Implementation
Future<Cart> setShippingInformation({
required String cartId,
required Address address,
required String methodCode,
required String carrierCode,
}) async {
try {
final response = await _client.guestRequest<Map<String, dynamic>>(
'/rest/V1/guest-carts/$cartId/shipping-information',
options: Options(method: 'POST'),
data: {
'addressInformation': {
'shipping_address': address.toJson(),
'billing_address': address.toJson(),
'shipping_method_code': methodCode,
'shipping_carrier_code': carrierCode,
},
},
);
if (response.statusCode == 200) {
return Cart.fromJson(response.data!);
} else {
throw Exception(
'Failed to set shipping information: ${response.statusMessage}',
);
}
} on DioException catch (e) {
throw Exception('Failed to set shipping information: ${e.message}');
} catch (e) {
throw Exception('Failed to set shipping information: $e');
}
}