Discussions

Ask a Question
ANSWERED

Webhook Signature Encryption

Please share code snippet if anyone has implemented below method in C#. function verifyWebhookSignature(signature, url, payload, secret) { return signature == crypto.createHmac('sha256', secret).update(Buffer.from(url + payload, 'utf-8')).digest('base64'); }
ANSWERED

Unassign resource to a completed visit via API call

How do we unassign a completed visit via API call, the documentation does not give me clear idea about this newKey value? ![](https://files.readme.io/4c6e732-image.png)
ANSWERED

How to Setup Dynamic Services

I have setup a Zapier which I can successfully send over visitor signed in on Envoy for visitors to Waitwhile. Name, phone number, email all works, and services ( but only when I select the services listed from wait while) I need it to be dynamic and use the custom side of zapier to select different types of services that are available in envoy to waitwhile, when I try to do that it tells me this error message. Failed to create a visit in Waitwhile The app returned ""serviceIds[0]" with value "Tax Preparation" fails to match the required pattern: /^[a-zA-Z0-9]{20}$/". Please advise
ANSWERED

integrate waitwhile with Telus

I'm in Canada and I work with an electronic medical record from Telus health (see link) <https://www.telus.com/en/health/health-professionals/clinics/ps-suite?linktype=ge-meganav> I'd like to integrate waitwhile so i can do all the opration and see all the oprations drectly from the EMR
ANSWERED

Ticket Print on Kiosk

Hi there, is there any feature in the system that allows the kiosk to print the customer ticket directly after s/he joins the waitlist?
ANSWERED

Invalid signature with Webhook

Hello, We try to use webhook signature with NodeJs but it is always invalid. Can you confirm us expected parameter formats ? Now, we use for example : ```typescript const secret = 't5cU9SoudXtxfVRw1Z4wr9TS' // provide from webhook configuration. Here it's fake value const signature = 'vI5Ut452kZyrZrmFIBq7Xu3mFPWr1g0sqlQZfU4ki1E' //provide header const url = 'https://api-staging-eva-xxxx.eva.gg/my-webhook-url'//good format ? const payload = '{\"id\":\"0TiYj71yYPBUNfppNB0E\",\"created\":\"2023-06-29T09:10:23.758Z\",\"accountId\":\"UpAwC7kELkvTCzFdA8fr\",\"type\":\"visit.created\",\"data\":{\"id\":\"cpnhrOit9OQ93HKInPTb\",\"locationId\":\"iQjqtEeWJ50DRaTv05OZ\",\"state\":\"WAITING\",\"customerId\":\"PmBgUqEPfVXzvcvFEs9AIR\",\"firstName\":\"Pierre\",\"lastName\":\"Marais\",\"name\":\"Pierre Marais\",\"phone\":\"+33621626157\",\"email\":\"[email protected]\",\"externalCustomerId\":\"\",\"notes\":\"\",\"publicId\":\"cpnhrO\",\"isAnonymized\":false,\"created\":\"2023-06-29T09:10:23.587Z\",\"createdBy\":\"QK09NV3HImXelgH9J73YrkXWGX03\",\"updated\":\"2023-06-29T09:10:23.587Z\",\"updatedBy\":\"QK09NV3HImXelgH9J73YrkXWGX03\",\"pendingExpireTime\":null,\"remoteIp\":\"82.216.37.75\",\"country\":\"FR\",\"region\":\"bre\",\"city\":\"rennes\",\"isBlock\":false,\"source\":\"WEB-APP\",\"locale\":\"fr-FR\",\"partySize\":1,\"resources\":{},\"resourceIds\":[],\"services\":{},\"serviceIds\":[],\"fields\":{\"ulPPzfE7de2QaHYz9Si6\":[\"test\"],\"skdOlHhyAik7BcdhJBSd\":[true]},\"dataFields\":[{\"id\":\"ulPPzfE7de2QaHYz9Si6\",\"values\":[\"test\"]},{\"id\":\"skdOlHhyAik7BcdhJBSd\",\"values\":[true]}],\"tags\":[],\"waitlistTime\":\"2023-06-29T09:10:23.587Z\",\"bookingReminderSmsTime\":null,\"bookingReminderEmailTime\":null,\"bookingReminderAppTime\":null,\"followUpSmsTime\":null,\"followUpEmailTime\":null,\"followUpAppTime\":null,\"ngrams\":[\"pie\",\"pier\",\"pierr\",\"pierre\",\"mar\",\"mara\",\"marai\",\"marais\",\"336\",\"3362\",\"33621\",\"336216\",\"3362162\",\"33621626\",\"336216261\",\"3362162615\",\"33621626157\",\"062\",\"0621\",\"06216\",\"062162\",\"0621626\",\"06216261\",\"062162615\",\"0621626157\",\"piem\",\"piema\",\"piemar\",\"piemara\",\"piemarai\",\"piemarais\",\"wai\",\"wait\",\"wait3\",\"gma\",\"gmai\",\"gmail\",\"com\",\"a048\",\"p:1\",\"r:\",\"d:ulPPzfE7de2QaHYz9Si6=test\",\"d:skdOlHhyAik7BcdhJBSd=true\"],\"estWaitDuration\":0,\"position\":1,\"lastWaitingPosition\":1,\"originalPosition\":1,\"ticket\":\"A048\",\"numVisits\":16,\"prevEstWaitDuration\":0,\"originalEstWaitDuration\":0}}' // we get payload with json.stringify(req.body) we already try to get payload from req.body only return ( signature === crypto .createHmac('sha256', secret) .update(Buffer.from(url + payload, 'utf-8')) .digest('base64') ); ```
ANSWERED

Captcha verification

Hello, I am trying to sign join the waitwhile list and it is saying that captcha verification failed, but there was no option to verify it.
ANSWERED

Getting location updates from audit trail using Excel data query

I'm not a seasoned API user, so forgive me if this is an overly simple question. I'm trying to help a client track when changes are made to their location settings, and would like to do so using Excel's data connection capabilities. Where I'm currently stuck is trying to construct the data connection in Excel. I can run the JSON query in the API reference interface and it works (maybe not perfectly, but it doesn't error out). But when I go to build it in Excel, I'm clearly missing something. If anyone has an example of how they set up an Excel data query to pull audit trail information and would be willing to share, that would be immensely helpful.
ANSWERED

Is there an intergration with Klaviyo?

Hello I am wondering if there's an integration with klaviyo in the works?
ANSWERED

Adjusting the internal UI views

My client is looking to adjust the view their staff sees for the waitlists. They have custom fields added to their sign up that ask sensitive information and they want to hide this on the staff/admin view of the waitlist screen. I know there is a setting that you can turn custom fields off, but this sounds like it's only for the public view. Is there anything in the API that allows us to adjust that UI screen?