Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 3
0
 public void OnCustomerProvidedData(CustomerProvidedDataEvent response) => Event?.Invoke(this, EventFrom("CustomerProvidedData", response));
Exemplo n.º 4
0
 public virtual void OnCustomerProvidedData(CustomerProvidedDataEvent response)
 {
     Send("/OnCustomerProvidedData", Serialize(response));
 }
Exemplo n.º 5
0
 public void OnCustomerProvidedData(CustomerProvidedDataEvent response)
 {
     Program.WriteLine(MethodBase.GetCurrentMethod().Name);
 }
Exemplo n.º 6
0
 public void OnCustomerProvidedData(CustomerProvidedDataEvent response) => CustomerProvidedData?.Invoke(this, response);