Introducing Mailjet’s Dedicated API Support

You know that feeling you get when you need to contact customer support? Now imagine being a developer. If we have a problem, it’s usually a complicated one that not just anyone can answer. That’s one reason why over here at Mailjet, we relentlessly improve our API Guides, Developer’s Zone, and libraries in order to make the lives of devs a bit easier when they’re stuck. Thanks to all the great feedback you sent our way, we’re confident things are moving in the right direction.

But can we do even better? Of course, we can. Today, we’re excited to announce that our support team has welcomed and trained two dedicated API support agents over the summer.

As our product offer grows, we think it’s necessary to provide more specialized support, and API is definitely a topic where expertise makes a difference. API support involves reading, executing and troubleshooting code samples in many programming languages (often including ones we don’t really master), to understand what could be improved or fixed to enable your emails to reach their destination. It requires patience and a great understanding of software development, along with great knowledge of how our API works.

 

What’s changing?

From now on and moving forward, when you open a support ticket, you’ll be able to tag it as an API question, helping us triage, to enable our dedicated support agents to take them into consideration and handle them personally. Of course, the rest of our support team will still be available to answer some of your less technical API questions.

Providing our developer community with a dedicated support channel is definitely not new to us. Since last year, our dedicated email address “api@mailjet.com” has been the place for the community to reach out to the Developers Relations team, a direct link between you and our expert, where we’ve been helping and guiding users with their API related questions.

No matter how passionate we are about email design and delivery, we believe there are still better ways to deal with and track support questions, and API support is no different. For that reason, from October 1st, api@mailjet.com will sunset as a support channel and it will become again that place to which to send us your feedback and your love (OK, and get some swag too, we know you love it… ?).

picture1

Github remains the place to discuss about our official wrappers’ improvements and fixes. Github is key to our work, not only because of the valuable conversations we have with the community, but also because of all the feedback we get from all those contributors who are taking the time to report issues or open Pull Requests to improve the libraries. Thank you, guys. You definitely help make our tool better.

 

Meet Zhivko and Mike

On top of everything we’ve already stated, like the expertise and the short internal circuits to handle API questions, we also believe making support as personal as possible is key to building strong relationships with our users.

This is the reason why we want to introduce you to the two support angels who will be tackling all your API issues and ensuring your experience with Mailjet is as good as it can be. For now, API support will only be available in English. Since us, developers, are used to English when dealing with tech, we believe it’s a good starting point.

And without further ado, meet Zhivko Zhelev, who will be answering your API questions and troubleshooting any issues you might experience. Zhivko is based in Sofia, Bulgaria, and works side by side with Emmanuel Boisgontier (the wizard behind our API documentation and many of the API support answers so far). Zhivko will be in charge of API support for Europe.

Michael Pauer (or Mike, for us at Mailjet), is part of the Mailjet crew since 2013, ensuring your questions get answered while the European Mailjet team is sleeping. Over the years, Mike has had to wear many hats and learn the ins and outs of our tool and system, including our API. Mike will oversee the API support for the North American timezone.

We hope you’ll appreciate this new way of organizing our team and that your experience with our platform will continue getting better.

 

Feel free to share your questions and feedback with us on Twitter or by reaching out to as at api@mailjet.com

 

Hot Off The Email Development World: Our #LitmusLive Takeaway

If you’ve been following us, you’ll know by now how passionate we are about email design (a passion that inspired us to create MJML, our own open-source email framework).

So we wouldn’t have missed the Email Design Conference by Litmus in London for anything in the world. In case you didn’t know yet, Litmus is a pretty cool tool created to help email designers and developers to test their email in different clients, saving them days of manual testing. At Mailjet, we use it extensively to develop MJML and Passport.

This year, Litmus is launching three conferences on Email Design, and the first one took place on 26 and 27 July 2016 in London. Litmus designed this conference to be community-based, mainly focused on developers and marketers. And since it is always great for us to meet key people from the small email world, get inspired, learn about the latest trends and get back home with new ideas, we were there. Amazing conferences and people talking about email development – what more could one ask for?

If you missed it, here’s our takeaway from the event in a nutshell.

 

The Hot Topics in Email Development

Although there are many topics deriving from Email Development, the conference really focused on two current trends in the industry: progressive enhancement and interactivity.

litmus conference

The Challenge of Progressive Enhancement

When creating an email, you want to deliver a clear message that fits your goal in terms of engagement with the audience. Different email clients offer different possibilities for that, but these are constantly changing. Progressive enhancement is about making sure that, as an email developer, you are benefiting from all the features the most advanced email clients provide -while also making sure that people using less advanced email clients can still get the point of your email. We know progressive enhancement is challenging,because we had to learn (sometimes the hard way) how to master it as a key principle in MJML design.

As Sam Sexton from MOO presented it in his talk, it means optimizing the responsiveness: allowing your design to scale up nicely from mobile to desktop (like MJML does out of the box). It’s also about ensuring that background images will be well positioned, as explained by Kristian Robinson, from Two Associates Ltd.

Progressive enhancement is a challenging topic because email clients evolve constantly. They bring improvements, along with unexpected bugs sometimes. Methods to achieve this progressive enhancement are also moving a lot.

While presenting his latest findings and experiments in the field, Rémi Parmentier (also known in the email development world as HTeuMeuLeu) demonstrated how creative email developers are – and have to be-, in order to go beyond the current obstacles and make things move forward. You can check out some of his conclusions about Super Mail Forward and Fab Four Technic.

litmus conference

Unlocking the potential of Interactivity

The second hot topic at the conference was interactivity. A few years ago, emails were mostly static, and the technology behind them wouldn’t give developers and marketers much space for creativity in the way that they engage with their recipients.

But things have moved a lot in recent years and interactivity within emails is now possible, opening a lot of new options. We have unlocked new horizons to be creative with emails (sometimes while leveraging crazy hacks), like animation, which Wolfgang Marterbauer from Dialogschmiede presented in his talk about CSS 3 animation, or a flow within the email itself, which some attendees introduced during the two Live Optimization sessions.

But interactivity comes with its own new challenges – it brings testing to a new level of complexity. Cyrill Gross from Mayoris AG showed the audience how he successfully found solutions to this problem. And for organisations like Litmus, new challenges arise as well in terms of platform improvements and coming up with elegant solutions.

 

Wrapping Up…

We had a great time at Litmus’ conference thanks to the insights provided by the speakers. Meeting the email community was also great – people are really eager to learn and experiment with email, a channel which is still engaging and keeps offering new ways to build a relationship with your audience. #Emailgeeks rock – but two days is too short!

litmus conference

 

The Mailjet and MJML teams now look forward to attending the Boston Litmus Conference next month. Will we get a chance to see you there? Did you attend the London one too? Share your experience and comments with us on Twitter, using the #LitmusLive and #MailjetAtLitmus.

Dev.Mailjet Just Got A Fresh New Look

Today, email is a key aspect of any application, yet having to manage your own email infrastructure is painful for most developers. That’s why we’ve committed ourselves to building  easier solutions.

Since 2015, our API has improved and matured a lot thanks to your feedback. We’ve made some changes and decided to give our good ol’ dev.mailjet.com website a revamp with a whole new bunch of features. Here’s what you need to know.

 

A brand new home for Mailjet developers

2016 has been a super busy year for the developers’ activity at Mailjet. Traffic on our dev website, dev.mailjet.com, increased a lot and we knew it was time to give it a refresh.

Think of it as a new, way better home for developers. We’ve given it a fresh new look, a visual design that’s aligned with our current design guidelines. Plus, it’s also way easier to use. You can now understand what Mailjet API is made for at a glance without having to go through the whole documentation.

send email API

Along with the revamped website, we’re also introducing a new dedicated newsletter to keep our developer community up to date with the latest API-related news. So, what are you waiting for? Click here to subscribe.

 

Our API just became even better

Our API is the core asset of Mailjet for developers. We don’t want to brag, but we believe it’s a great product with the latest additions that we have made:

And now for the cherry on the cake, we’ve also opened a dedicated Twitter account to interact with our community of users. Meeting people during hackathons and events is great, but we felt that we needed a channel, so that we could share our news with you everyday: say hello to @mailjetdev.

 

What’s next?

I’m glad you asked. The above is all very good, but it’s only the beginning of a long series of awesome developments for Mailjet’s API users. Here’s what is on the agenda for the next few months:

  • You may have heard of our new marketing feature: Email Automation. You can now welcome new users automatically, and more automated workflows will be launched soon to cover more business cases. For now, it’s available only from our UI but we plan to also make it accessible from our API by the end of the year.
  • Outside of Email Automation, there’s also our open-source baby. MJML is a markup language making responsive HTML email coding (finally) easy for developers. Since its launch in February 2016, MJML has received amazing support and feedback from the community and it’s continuously improving, like fully integrating it back to Mailjet Send API and Passport, is top of our roadmap.
  • Whilst we’re talking about improvement, we are also focusing our efforts on making our API even better. The next step is to improve our API reference to provide an easier way for Mailjet API experts to navigate into it.
  • Along with all these projects and products, we want to create a dedicated space for our community of users. This space will be included in the new website and will allow users to share tech content, exchange tips and help one another.
  • Last but not least, of course, we keep committing ourselves to publish  more materials in order to facilitate the understanding and use of our API. That means creating more demos and a starter kit to facilitate on-boarding.

 

As usual, we welcome your contributions on Github and interactions with us on Twitter. Your feedback is what helps us to continuously improve our product for you. Thanks for being awesome and we hope you enjoy using Mailjet.

Open Source Survey: We’d Love To Hear From You

At Mailjet we’re all about giving back to the community. That’s why we created MJML, our open-source email coding framework. MJML’s objective is to make responsive email development accessible to the majority of people, experts or not.. It takes care of translating the MJML you wrote into responsive HTML, rendering beautifully in the most popular email clients. Plus, our markup is at least 50% more efficient in creating responsive email.

Today, open source is integrated into all levels of enterprise businesses. Not only are the opportunities for the cloud and big data endless, but so are the possibilities for the IoT, SaaS, etc. It’s no surprise big players like Tesla, GE and Netflix are getting into open source, but smaller players are getting involved too, we certainly are and Algolia is as well.

We relish the opportunity to give something back to the community, but in order to give you the tools you need, we need to understand what is important to you. So, we’ve created a short survey, to better understand your views on open source working. Help us shout about the innovative ways we (the developer community) approach our work by completing the survey and get the chance to win some awesome MJML swag and a 50€ Amazon gift card.

collageBefore we ask for your opinion, let’s dig a bit deeper into our views on open source:

A Contribution Recognized By The Community

For a company to be able to give back to the developer community in the form of an open source project is seen as a significant contribution. It shows a sign of maturity. The developer community is all about support and engagement, where open source equals long-term commitment, offering gravitas to a team in the tech world.

But, it’s important to understand the responsibility of such a commitment. It is not a decision to take lightly, you have to have a team that’s 100% dedicated. They must be fully onboard with the project and aware that it’s very much for the long haul. Open source is for life, not just for Christmas! Ok, well maybe not for life, but it’s certainly a long term commitment. Additionally, the developer community is a small world, a very versatile one at that, so don’t take on a project you’re not ready for.

Added-Value For Employers

IT departments: get feedback directly from the users, enabling developers to improve the product in an approach that’s customer centric. Software is international, so even if your organization isn’t physically global, open source can give you an international aspect. And by doing this, it can potentially open your business up to new markets that might have been closed for your company without open source

Best Places To Work

Organizations with open source projects are seen as innovative and transparent, often with a reputation of showcasing their ecosystems to the community. These type of companies are very attractive to the best developers – think of it as a great word of mouth. Developers see these organizations as a community where the whole team is involved in shaping the future of that industry.

You’ve heard our views, so now, we’d love to hear yours! Tell us how you approach open source working by completing the survey, and enter into a draw to win some awesome MJML swag and a 50€ Amazon gift card. If you’d like to join the Mailjet open source conversation, tweet us @mailjetdev with the #opensource.

Take the survey!

 

 

More Contact Actions, More Endpoints

Following our API team’s hard work on the ‘Newsletter’ action endpoints, we are excited to announce that we’ve released more API endpoints that will make managing individual contacts and listing subscriptions faster.

We’ve extended the Contact and the Contactslist resources to include five new actions:

/contact/:id/managecontactslists

/contact/managemanycontacts

/contact/:id/getcontactslists

/contactslist/:id/managecontact

/contactslist/:id/managemanycontacts

Check out also our guides about contact subscription and bulk contact management.

Let’s look at some of this in action (excuse the pun):

CONTACT

Manage contact subscription in lists

The /managecontactslists action makes it easier to manage (add, remove or unsubscribe) a contact from one or multiple lists in one call:

Here, we can select the contact by $ID (this can be numerical ID of the contact from the API or email address) and then use the “managecontactlists” action to actually manage the contact list. Let’s have a quick look at the properties in that array:  

  •  ListID : the numerical ID of the contact list that you want to manage
  •  Action : What you want to do with the contact and the list:
    • addforce: add the contact to the list and subscribe them if not already
    • addnoforce: add the contact to the list, but do not change the status of subscribe / unsubscribe from it’s current value
    • remove: remove the contact from the lis
    •  unsub: leave the contact on the list, but unsubscribe them from future campaigns

Managing and uploading multiple contacts (asynchronous action)

Applying the /managemanycontacts action to contact allows us to upload a nice big lump of JSON with our contacts and subscribe them to lists. It looks like a big call, so let’s split it up.   

  • ContactsList – This is entirely optional (but useful!), allowing you to add contacts en masse to lists and follows the structure above
  • Contacts – Mandatory, the actual contacts only need an email for the call to be valid. ‘Name’ a global property and the ‘Properties’ object can contain any custom properties set by /contactmetadata 

This call to the API is asynchronous to efficiently deal with this large volume of email. It will provide you a response immediately and continue the job in the background. The returned data will look like this:

The JobID helps track the progress and result of an upload with the following call:

Sometimes things might not go as expected and that’s okay. Possible error messages include:

  • Error: If there are any errors (for instance incorrectly formatted JSON), it will be noted here. (More comprehensive details about the error can be found in the URL given in the ‘Errorfile’ property)
  • Status: The background job’s current status. Possible values are: Prepare, Importing, Completed or Error.

Getting contact subscriptions

Now you that know how to manage individual contact subscriptions within lists and how to bulk upload contacts, you might also want to know how to identify which lists an individual contact is subscribed to. You can do this with the /getcontactslists action:

CONTACTSLIST

On the other hand, you might want to add a new contact to an existing contact list (i.e. from a form capture):

After identifying the list to be added to with $ID being the ID of the list, it’s a case of specifying the Contact email. As with the example above, Name and Properties are optional, only ‘Email’ and ‘Action’ are mandatory.

Lets look at managing multiple contacts (in one call):

Just like /managemanycontacts for the /contact endpoint, we specify the action to be taken (in this case ‘addnoforce’) and array of contacts. As before, ’email’ is mandatory, with the option to add ‘Name’ and custom properties. As with /managemanycontacts for the /contact endpoint, the result is a job ID to track the progress of the underlying background job.

Need to check which contacts are on a list?

Here, we can add ‘contactslist’ as a param with it’s ID – setting the limit to -1 just displays all contacts on the list, if you want a specific sample (say 100), then you can use that value instead.

Wrapping things up:

That’s a quick run down of the extra functionality and the improved methods for working with multiple contacts lists using the API. For a deeper dive, check out our developer documentation at dev.mailjet.com. In particular, check out our guides about contact subscription and bulk contact management to start. We’ve also updated our PHP and Ruby wrappers to include the added functionality.

Happy Coding!

What It’s Like To Be A Developer Evangelist

API (Application Programming Interface). Developer Experience (DX). You may or may not have heard of these terms before, but they are heavily used in the SaaS (software-as-a-service) industry. Developers use APIs to build off existing products and innovate new ideas. APIs allow companies to easily integrate with apps that bring in expertise where the company themselves may be lacking resources or would be costly to produce in-house.

To help companies better communicate with their developer users, a new role has emerged in the past few years: Developer Evangelists. A hybrid developer-marketer role, DevEvs act as a translator between their company and technical users. They travel the world to meet with awesome developers, catch up on latest trends and better understand how to develop products in a way that can make it easier for them to do their jobs.

The role is still evolving and varies slightly from company to company, but to give you a better idea of what a Developer Evangelist looks like in action, we compiled an infographic of what the Mailjet team did in 2014.


 

At Mailjet, coding is in the backbone of our culture – our co-founder Julien Tartarin is a developer. From day one our platform was built on top of our own API (“eating your own dog food” as developers say) and made public and free for all developers to use.

 

If the image doesn’t load, click here: https://dev.mailjet.com/static/images/developer-evangelists-in-figures.pdf

Hi, It’s Rupert, Your Inbox Manager

Last week, I flew to New York to visit Mailjetters there, especially Tyler, our US Developer Evangelist.

It was a great week of catching up in person and meeting fellow developers in the New York startup scene. There could not have been a more perfect way to end my week than to participate in the TheNextWeb Hack Battle with Tyler. This 36 hour hackathon was held at Alley NYC to kick off the main conference later in the week on Wednesday 10th.

On Friday, we started brainstorming project ideas for the weekend. We wanted to build something with our API but we also wanted something fun, catchy and useful.

After a few intensive hours of brainstorming, we decided to build a Do Not Disturb system, similar to the one that iOS offers, but for email. This system should act as a proxy in front of your inbox, holding your emails when you don’t want to be disturbed while transferring them immediately if important, based on the sender – like your boss or girlfriend – or keywords in the subject and body.

On Saturday morning, we arrived at the hackathon, pumped and ready to hack for the next 36 hours. The event started by a quick introduction of the event’s sponsors: Mashery, Deezer, Sinch and Sendgrid.

Since our idea was already in place, we hit the ground running with the important step of the hackathon project: choosing a name. With the help of Tyler’s friends, we found a name for our new buddy; Rupert (thanks Pete Lucatorto!).

Next came deciding which stack we wanted to hack with. While we’re always looking to learn new things at these events, our focus of the weekend was to innovate with Rupert, so we chose to go with Node, a language that both Tyler and I were familiar with. As a Developer (Evangelist), you have to be polyglot, well-versed in multiple coding languages. To facilitate the bootstrap of the project, we used MEAN – MongoDB, ExpressJS, AngularJS and NodeJS.

In terms of Mailjet’s API, our Parse API was a natural choice to use to process any e-mails forwarded to Rupert.

Day 1

Our first day was dedicated to building the first running version of Rupert.

First, we specified and implemented the bot’s interface:
on [whitelist] [hours], to enable Rupert in your inbox, while continuing to receive whitelisted emails (based on sender or keywords) or flush them at pre-defined hours.
Format of whitelist is a list of words, separated by commas. For example: urgent,api@mailjet.com
Format of hours is a list of hours, 24-hours, separated by commas. For example: 11:00,17:00
off, to disable and flush all the emails held
status, to get the Rupert’s state (on/off) and the number of emails it’s currently holding
give n, to ask to Rupert to flush the “n” oldest emails while keeping all others
help, to list all of the above commands

To have Rupert to take care of your inbox, all you need to do is set-up a simple Gmail filter (or any other email client will work as well) to have all emails skip the inbox and automatically forward to Rupert. Only emails from Rupert will show in the inbox. You can also share Rupert’s email address with family and friends to have them directly email Rupert.

Once enabled, Rupert processes all of your emails with our Parse API in MongoDB, stores them and sends them back to you, accordingly to the interface defined above.

Day 2

The second day was dedicated to polishing the flow, sending confirmation emails in response to each command (using our Send API, of course!) and pinging contacts to let them know there might be a delay in your response (simultaneously inviting them to use Rupert) and preparing our demo.

Pitches followed at the beginning of the afternoon. 11 projects made it to the finals. Rupert got great feedback, judges loved the idea, the name and the use case of an email Parse API. Tyler and I had also a great time working on this project and getting to know everyone at TheNextWeb Hackathon.

While Rupert is not yet ready for public use, you can follow our progress on Twitter and stay tuned for updates!

Rupert’s code source is also available and free to be modified at http://github.com/mailjet/rupert, under the MIT license.

Love this project? Have some other cool ideas for Rupert? Let us know in the comments below!

Rendezvous-ing at the First Ever Product Hunt Hackathon

We recently got back from Product Hunts inaugural hackathon.
Originally launched in San Francisco (PH headquarters), the event was open to public so that anyone interested could leverage the brand and host a hackathon. Sylvain from Algolia, jumped on the opportunity and asked if we Mailjet, would be interested in sponsoring a Paris edition – which we did without hesitation! Stripe, Parse,SketchFab, OpenDataSoft, Etalab and OAuth.io followed as well. The Family generously offered to host the event in their space.
I joined the Mailjet team just 2 weeks ago, so it was a perfect occasion to meet other startup employees and developers, wearing my new hat.
The event kicked off on Friday night with a  quick meetup where Ryan Hoover, CEO and co-founder of PH dialed in live from SF, recapped the background of this event and thanked everyone who came for this unique occasion. Shortly after, the classic hackathon pitch session started and teams were formed. Brainstorms quickly followed to model around the original idea.

Rendezvous-ing at the First Ever Product Hunt Hackathon1

On this first night, I met with each team to learn about the hack they planned on building, give feedback and offer any help I was able to provide. Most teams were well balanced (meaning each had at least one business / design / developer) which was great since it meant almost all teams would be able to build a functional product by the end of the weekend.

Rendezvous-ing at the First Ever Product Hunt Hackathon2

On the second day, the rollup was deployed and we had bags full of fun swag to distribute (our Mailjet eye masks definitely came in handy for this overnight event).
I decided to meet with all the teams once again. When I arrived back at the center, I was disappointed at the number of teams in the building. Had everyone given up? Numbers had significantly dwindled from the night before… Turns out everybody was just hard at work in the many conference rooms the Family building has to offer (if you’ve never visited their offices before, you should go!).
The ideas pitched on the first day surprisingly remained the same (which is great IMO!), a few new teams arrived the morning of the second day as well, bringing the total number of projects up to 10. One of the teams which was originally without a developer on the first day, was lucky enough to find one to help code their idea into reality.
I really enjoyed hopping around the teams, helping out with technical issues but also just being there for teams to bounce their ideas off me.
On Saturday night, we decided to end the event earlier than scheduled, mainly due to a logistical issue with the building management – but it actually worked out for the better, letting people rest and regain their energy for the next day. Until midnight, teams had been hacking away at their projects and begun to feel the pressure of the final demo coming in less than 24 hours.

Rendezvous-ing at the First Ever Product Hunt Hackathon3

Here I introduced one of the teams to Mention’s API, a perfect match for their needs.

The next day, I was back in the hall in the afternoon, a few hours before the final demo session. I did my ritual round of checking in with the teams and helped out as much as I could in the final stretch (including bringing around “potion magique” aka coffee). All of the teams were fired up and ready to rumble for the final round.
At 7 pm, the last commits were pushed to Github. People started flooding into the building to  to listen to and learn about the hacks built over the weekend. The idea for PH Hackathon was that instead of the usual judging process, the panel of mentors (Pierre-Edouard from IdInvest, Alice from The Family, Gaetan from Algolia and I for Mailjet) would give constructive criticism and review the building process. No business models were discussed (which was hard for Pierre-Edouard from IdInvest): the only focus was having fun with running demos!
10 pitches and a lot of creativity later, we were all very impressed by the high quality of the hacks. It was a tough decision! Ultimately, we awarded RendezVous, the largest team of the hackathon with first place. They built a mobile app that helps you find the best exhibitions in Paris. SmashTheKitty followed in second, an app that saw many laughs from the crowd. Their toy invention seeks to revolutionize interactive stuffed animals of the 80’s. Hit the stuffed animal and it’ll interact with certain online sites and apps. The team used an Arduino-based controller, to detecting hits and connected this to Zapier (very smart choice, since it opens a wide network of possible integrations). Last but not least, in third was Nomaad, an app that helps you search for cafés to work at based on Wi-Fi quality ratings.
In addition to the overall prize, we also decided to give out a special Mailjet prize based on creativity. RendezVous being the superstars they were, also went home with the first place Mailjet prize: 1 year of our Silver Plan.
To top it off, we’re really proud that RendezVous was also featured on the PH Hackathon Finalists page among finalists from all around the world and upvoted to the top! From an organizer’s perspective this was extremely fulfilling to have watched them reach this level of exposure.
Overall, I was very impressed by this event and the process was very rewarding, considering it was a side project and group effort of all the sponsors (with limited energy and resources). Truly lots of hustling and shared entrepreneurial spirit here.
I’m hoping to see a second PH Hackathon very soon! If you couldn’t make it out to our hackathon, catch up on it over on The Family – they recorded the entire session!
Want to learn more about upcoming events? Don’t forget to follow me and Mailjet on Twitter!