register method

  1. @override
Future<Register> register({
  1. required Map<String, dynamic> properties,
  2. String? referralsCode,
})
override

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);
}