register method
properties son los campos del formulario de registro de la
campaign (varían por cliente: OXXO pide plaza/region/tienda,
otro cliente puede pedir otro set distinto). Se envían tal cual al
backend.
referralsCode es el código de referido de quien invitó al
participante (módulo Referidos); se envía como
participation.referrals_code. Si no se envía aquí, se puede asignar
después con updateUser(referralsCode: ...).
Implementation
@override
Future<Register> register({required Map<String, dynamic> properties, String? referralsCode}) async {
final response = await dio.post(
'/microsite/participants',
data: {
"api_key": Environment.apiKey,
"campaign": Environment.campaign,
"properties": properties,
if (referralsCode != null) "participation": {"referrals_code": referralsCode},
},
);
final Map<String, dynamic> responseData = jsonDecode(response.data);
return _jsonToRegister(responseData);
}