Getting messages per subaccount using the Mailchimp API - mailchimp

I was looking at the Mailchimp API documentation because I want do an implementation where I list all the messages per subaccount. This doesn't seem possible. You get all the messages from every subaccount. Same if you use a webhook. The subaccount API options seem very limited.
I'm using the Mailchimp Transactional PHP lib. I tried using the messages->search() method where I set senders param but that doesn't really capture everything linked to the subaccount. It would be great if you could add a subaccount param to the messages->search() method. You can filter afterwards by looping through every result and checking the subaccount but that seems like a crappy workaround.
Anyone have another workaround? I see there is no way to report bugs or feature request on their Github? Or know how to contact the developers?

Related

Mailchimp Dynamic Content: add customized link in subscribe email

We want to start a service with Mailchimp where every subscriber will get a customized link in the email she receives. The Subscription Form will be on a wordpress website (not my decision).
There is a pool of thousand of links with a unique parameter, which we have stored on our webserver, like these examples
https://example.com/link?code=a25b1d085f3aec4b256
https://example.com/link?code=32219abb336de28a103
etc
Every code parameter should only be used once and should be kept as secret as possible. So I don't think it is a good idea to send the code from the form to mailchimp in a hidden field.
I don't know, if this is possible. Is Mailchimp even the right tool to do this?
I'm not sure, where to start the journey.
I don't think webhooks will help me here, as those are only one-way communication without a backwards channel, as far as I understand.
I checked the Mailchimp API documentation, but I might be too foolish to understand, which of the multiple options I need to use.
I found this answer here: https://stackoverflow.com/a/53096852/476951, but I don't know, if this will suit my needs. As I understand it, this will chhange the mail template in Mailchimp UI with an API request and store it. The successive emails will all use this changed template until I change the template again. This seems not to be the correct way.
So, here are the two workflows that might be possible, but I don't know if they are.
Have a form created in Wordpress (not the embedded Mailchimp form), and create a custom form handler with admin-post.php like described here. Then use the API to send the email through the Mailchimp service with my dynamic link in it. But how. Every tuorial I found sends campaigns via the API, not individual mails to single recepients
Somehow manage Mailchimp to get the dynamic content via some sort of webhooks or the likes.
Is any of these workflows suitable to do this?
If yes, who should I set these up?
Is there anything else I might have missed?
Edit
Or do I need to use Mailchimp Transactional Email service (former called Mandrill)?

Exclude bot users from slack search api results

In the slack UI, when I make a search, it makes a request to the search.modules endpoint. There's also the option to exclude apps and bots from the result, which translates to a boolean POST param to that api endpoint.
https://api.slack.com/methods doesn't list such a method, and only has search.messages, search.files, and search.all.
How can I use the API to search, but exclude bot accounts? Do I need to leverage this seemingly hidden search.modules (which probably is inaccessible with a bot acct)? Is there a better way than making a list of bots and manually filtering them out of search results?
Well it's not in the documentation anywhere, but I can achieve this with the search.messages api by adding search_exclude_bots=True to my POST data.
Since this is undocumented, I'm curious as to whether users should be using this param and if it will be changed in a breaking way in the future.

Is it possible to trigger TravisCI build by Slack message w/o spinning up my own server?

When I did research online, most of the solutions are about triggering Slack notification from TravisCI. Now I want to do the reverse direction - type some message in slack, and trigger a build task in TravisCI.
I'm looking at Slack's Outgoing WebHooks - under their "Custom Integrations" in Slack app directory. However, their webhook POST data spec is fixed, not seem to be programmable through just their webpage UI. They have a column in the UI that lets you fill in URL(s) to POST to. But I don't see any ways that I can customize the data field of the POST request.
Same as TravisCI's Triggering Builds API v3, the data fields they expect in the POST are fixed and unchangeable.
I know I can sign up a cloud service, write some code and spin up a server to re-package the parameters to do the work, like a middleware between these 2 APIs. But just want to see if anyone manages to achieve triggering TravisCI by Slack in such way that doesn't involve spinning up a server myself?
I ended up hosting a server and writing the porting logic myself. I guess there's no simple way to do this, after all they are different APIs. Here is the code where I request against travisCI API, and here is the code where I unpack the slack webhook POST request.

Yammer does not return every message in group

Using the following endpoint with the group id and the older_than paging parameter
https://www.yammer.com/api/v1/messages/in_group/[group_id].json?older_than=[msgid(19)]
This does not return every message in that group... it skips messages!
This is a paid network that I am testing, the API is pretty much useless if it does not provide all the messages. Can anyone confirm this limitation!
Using the 'older_than' parameter to try to get all messages isn't going to work:
Reference https://stackoverflow.com/a/19107426/4099849
If you attempt to iterate over messages you will hit some limits. These limits are technical in nature and you would need to revert to the search API to find much older messages. Unfortunately you will have to put up with these limitations if you are dealing with the free version of Yammer as the data export is only available with the paid version.
Assuming you're trying to do some sort of analytics, have a look at the Yammer Data Export API.
There is a similar question : Yammer API - missing messages
The ansnwer is the same and his not acceptable !
When using /api/v1/messages/about_topic/ I get messages not returned by
/api/v1/messages.json
or
/api/v1/messages/in_group
My script respect the API Rate limits and the missing messages are not older than others.
There is something wrong in the API and it must be fixed.
My company is paying for Yammer and expect a reliable API.
If you want all messages inside a group,use below mentioned REST API without all parameters.Then it will list all messages present inside that particular group.
https://www.yammer.com/api/v1/messages/in_group/[group_id].json

Yammer API - missing messages

We have developed an application to extract data from Yammer using the Yammer APIs. We're authenticating using the verified admin's credentials. According to the data export CSV file we know that there are some 25K messages in the network, but we only get 10K messages via the API. Initially thought that the difference was private messages, but the missing messages are a mix of private and public messages.
The API call we are using is: https://www.yammer.com/api/v1/messages.json . We are using the 'older_than' parameter to scan through all the messages.
In the end we had to query the missing messages individually but that is not a very efficient process.
Any ideas about what we could be doing wrong, or why the APIs are missing to many messages?
I'm experiencing the same issue. Even by respecting the API Rate limits there are some messages that are not retrieved. By using /api/v1/messages/about_topic/ I can get them all.
The issue is not linked to the age of messages. Most of the missing ones a quite new.
You can't download all messages via the API call you're using.
Reference https://stackoverflow.com/a/19107426/4099849
If you attempt to iterate over messages you will hit some limits. These limits are technical in nature and you would need to revert to the search API to find much older messages. Unfortunately you will have to put up with these limitations if you are dealing with the free version of Yammer as the data export is only available with the paid version.

Resources