Why the error rate of my dialogflow api is so high? - dialogflow-es

I noticed that the error rate of Dialogflow API is very high (17%, unbelievable). I really don't know the reason.
Is there a way that I see the log of error? Or how can I possibly fix it?
I have a mega-agent which manages 4 sub-agents. The only thing I noticed when I use the api, is that it returns wrong intent sometimes.
I could imagine one sub-agent may fail to reply. But as a platform of Google, this kind of unstabability should not happen.

Related

Getting too many requests using Twilio Error 20429

I haven't upgraded my account yet, and I was wondering if the issue is regarding my free trial account or if I'm doing something wrong here.
Below you can find my logs as I didn't even reach 15 requests in 1 hour.
I'm sending the verified OTP through the free number they gave me which I think it is located in the US and I'm receiving the messages in Jordan.
Any help would be appreciated... Thank you all.
Twilio Verify has some different rate limits to the rest of the API. There is a blog post which covers good practices for testing with Verify and how to avoid being rate limited that you should read.

406 Error / Response with Eventbrite Search API

I am currently trying to pull data from the Eventbrite API platform in Jupyter Labs. Sporadically, I am receiving a 406 Not Acceptable Error when I make the request. However, invariably, if I make the same request again a few minutes later the request pulls the data fine.
I've checked the usual things: ie that I have not gone over my request limits.
Here is the request I am currently making:
url = 'https://www.eventbriteapi.com/v3/events/search/?token=MY_TOKEN_HERE&location.latitude=42.34631505453378&location.longitude=-71.04174243961083&location.within=3km&start_date.range_start=2019-10-30T00:00:00Z&start_date.range_end=2019-11-30T00:00:00Z&expand=venue'
x = requests.get(url)
x
And the response:
<Response [406]>
Any thoughts on what the problem might be?
Yeah, I got an email from them a little over a week ago saying:
Hello,
We're reaching out today to follow up regarding the events/search/ endpoint. Thank you for your patience while we worked to reach a conclusion to the issue.
Access to the Eventbrite Event Search API (GET /v3/events/search/) will be shut down at 11:59 pm PT on Thursday, December 12, 2019.
We strongly encourage you to find and remove any code that makes requests to this Event Search API from your applications in advance.
Why is this happening?
We’re removing the Event Search API to further improve the Eventbrite platform and allow us to support more Creators and their events. Allowing public access to this particular API was impacting our platform and the high level of service we strive to provide to our creators and their attendees. We are able to provide alternative access to retrieve your event data through our Event APIs (see below).
What is the replacement API?
To get Events via our API, please see: 
• Retrieve an Event by ID — GET /v3/events/:event_id/
• List Events by Venue — GET /v3/venues/:venue_id/events/ 
• List Events by Organization — GET /v3/organizations/:organization_id/events/
If you’re retrieving private events on behalf of another user, you can complete the app authorization flow. If you’re interested in retrieving public events on behalf of many Eventbrite creators, you can apply to our distribution partner program.
We apologize for the delay in communication regarding this decision, as well as for the inconvenience and frustration this change has caused
Regards,
Eventbrite Developer Support
So it looks like that's finally confirmed as dead at least.
FYI... this is an an ongoing Eventbrite API issue that is causing problems for many. See: https://groups.google.com/forum/#!topic/eventbrite-api/-E0MG7THMsc

Google Analytics measurement protocol not in report only in real-time

I've got a chrome extension with a call to Google Measurement Protocol to register 'event's in Google analytics. Events are registered in real-time but do not appear in reports (also checked several days afterwards). I've tried something similar with 'pageview'.
What could be the reasons for failure ? I've checked similar questions on SO with no clear solution. Checking with the Hit Builder does not provide any clue.
Typical parameters are :
v=1&t=event&tid=UA-xyxyxyxy-1&uid=be653208-154c-4924-88dd-66695804217f&dh=https%3A%2F%2Fmysite.net%2F&dp=%2Fsgc&dt=Qwe%20Abc%20Dfg%20&ec=%2Favcdef&ea=abcddfgfdgfdgfdgfdgfdgfd
Thanks for any help ...
I tried your call and it seems to work properly. Considering that you don't send the cid but the uid you can see the event in the User-ID view.

WhatsApi Number Getting Blocked - NodeJs

I am using the node-whatsapi library
I am getting the number blocked. I am following the exact protocol as mentioned in the WIKI.
The flow that i follow is:
Create Adapter
Connect()
On Connect - Login
On Login
sendIsOnline()
requestPrivacySettings()
requestServerProperties()
requestContactsSync()
For Each Contact sendPresenceSubscription(), getStatus() and getProfilePicture()
And when i receive a message:
adapter.requestContactsSync('1234567890', 'delta', 'background');
getProfilePicture()
Save to DB
Now, what we do and why do we use WhatsApi
We enable our existing Customers to talk to their internal teams on WhatsApp. So, a customer initates a chat and a help desk team responds to them on an application.
Got the number blocked now. Unable to understand where am i going wrong.
Also, the total number of messages exchanged between the customer and the helpdesk team is around 1k a day.
What you're "doing wrong" is using a third party API which is against WhatsApp's terms of service and, if detected, will get your relevant accounts blocked. It's not a fault with WhatsAPI itself or how you are using it.
WhatsApp openly publishes the only approved/compliant way to programmatically interact with their network.
http://www.whatsapp.com/faq/en/iphone/23559013
http://www.whatsapp.com/faq/en/android/28000012
Outside of that, you are going to get blocked whenever you are detected as using an unapproved means of interacting with their network.
In your particular example you're using a Node.js port of the original WhatsAPI. As of May 2015 this is the kind of pressure they are dealing with from WhatsApp (despite many years of trying to negotiate an amicable compromise with them around things like message limits and identity verification):
It sucks but that's just how it is. You can look at some alternatives which are still actively updated and may continue working for a while, but given that WhatsApp is now owned by Facebook and considering the kind of legal resources at their disposal, you should be able to see why one might be reluctant to continue updating a rogue API.
Well, got a satisfactory answer from WhatsApi collaborator matteocontrini.
Here is the answer that i got, if somebody is intrested.
It says:
the reason of getting blocked doesn't have to be because you wrote
wrong code. It could be a filter on the kind of messages you send or a
report from someone about your number.

User authorization in google talk with nodejs and node-xmpp

I'm writing a bot in node.js using node-xmpp. So far it's pretty straight forward except I'm having an issue with figuring out how google Talk handles it's user authorization (when dealing with requesting to chat with someone NOT on your roster).
I'm catching all stanzas coming through and logging them to the console but there is no data coming from the user that is requesting authorization.
Any explanations of what I should be looking for or if this event even happens over the jabber protocol.
[appended] I know that technically when a subscription request is made a presence stanza is sent with the subscription request. I can't see these coming over the wire using node-xmpp for some reason. Also, I need to find out a way to determine what presence requests are "pending" when my bot logs in. I thought (innacurrately) that they would be listed in the roster with some sort of flag, but that's not correct.
Any help with finding out where to go from here would be useful.
Ok, I finally figured out how to get the subscription requests after they have been made. There isn't much info on it out there so I'll put together a blog post, but I feel that answering it here might be good as well.
I found that if I did a google roster query based on the below information:
http://code.google.com/apis/talk/jep_extensions/roster_attributes.html
example stanza:
<iq from="username#gmail.com/D2D4E5A8" type="get" id="google-roster-1"><query xmlns="jabber:iq:roster" xmlns:gr="google:roster" gr:ext="2"/></iq>
The server would respond first with your pending server subscription "presence" stanzas
ex:
<presence type="subscribe" from="pendinguser#gmail.com" to="namehere#gmail.com/D2D4E5A8" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"/>
and then the rest of your roster's "presence" stanzas. It's important to note that your subscription "presence" stanzas don't get sent to you from the server unless you do a roster query. I'm not sure why this is and why it's not documented somewhere is beyond me. Anyways, at least I can get the list of people trying to get access to my bot now.
Note: This is not my area of knowledge just an interest of mine. I have not got practical experience just a bit of research. This would have been a comment however doing some more searching on the topic, I have come up with some more things that might help.
Here's a google chat chat room homepage http://partychapp.appspot.com/ you can get the source http://code.google.com/p/partychapp/
Those links came from http://xmpp.org/2010/02/xmpp-roundup-13-services/ which has quite a few other resources that might be helpful.
http://code.google.com/p/node-xmpp-bosh/ has some code about that, I've not done it but the topic is interesting.
I hope if you do find the answer your after you write up a blog post and or a project and share it. It would be of interest to me.

Resources