/// <summary> /// When the Loyalty API on the device receives messages and forwards it to the Clover SDK /// ICloverEventListener calls the OnCustomerProvidedData message interface /// and the Clover Example POS routes that message here for handling /// </summary> public void OnCustomerProvidedData(CustomerProvidedDataEvent response) { Log($"\n \u2022 Customer Provided Data provided by Loyalty API"); Log($" registered config type: {response.config.type}"); Log($" data payload: {response.data.Replace("\n", "\n ")}"); // As an example, here's a lookup of a few phone or account numbers that auto-respond with customer information string key = $"{response.config.type.ToLower()}:{response.data}"; if (CustomerDatabase.ContainsKey(key)) { // quick and dirty split a 5 field CSV string into customer info to pretend like a database lookup string[] fields = CustomerDatabase[key].Split(','); Log(""); Log($" found customer: {fields[0]}: {fields[2]}"); Log($" auto-sending customer data via SendCustomerInfo"); SendCustomerInfoMessage(fields[0], fields[1], fields[2], fields[3], fields[4]); } else { // If the customer wasn't found, maybe it's a new customer and needs onboarding? Or maybe it was a typo, or a new phone for an existing customer. } }
public virtual void OnCustomerProvidedData(CustomerProvidedDataEvent response) { OnCustomerProvidedDataResponseMessage msg = new OnCustomerProvidedDataResponseMessage(); msg.payload = response; WebSocket.Send(Serialize(msg)); }
public void OnCustomerProvidedData(CustomerProvidedDataEvent response) => Event?.Invoke(this, EventFrom("CustomerProvidedData", response));
public virtual void OnCustomerProvidedData(CustomerProvidedDataEvent response) { Send("/OnCustomerProvidedData", Serialize(response)); }
public void OnCustomerProvidedData(CustomerProvidedDataEvent response) { Program.WriteLine(MethodBase.GetCurrentMethod().Name); }
public void OnCustomerProvidedData(CustomerProvidedDataEvent response) => CustomerProvidedData?.Invoke(this, response);