As a member of the API Support Team at Dailymotion, I’m in charge of ensuring that each and every one of our Partners finds their way through our documentation and manages to create great video applications using our technology. Here are 3 quotes that inspires me to meet the requirements of our Premium API Support.
Because we consider our APIs as products at Dailymotion, we are committed to care about those who use them. The following quotes illustrate the support best practices I’m trying to implement every day when dealing with multiple API Support requests.
“I know that I know nothing”, Socrates
I truly believe that this quote should be the first commandement of every support team. It reminds me that I should never rely on assumptions. As you may know, Dailymotion is a fully API-centric company, and this means that a lot of different teams are using — and therefore — improving our APIs every single day. So, even if I master most of the aspects of our APIs, I have to factor in that I could possibly miss something. That’s why I always double check my information before giving any answer to our Partners. Let’s look at a concrete example.
Partner question: “How can I retrieve my videos from the “news” category only?”
I first started to look for a “category” parameter in our Data API documentation only to realize that our categories parameter was historically called “channels” (when our “product” channels are called “users”). API specifications can be tricky!
My answer: “Please perform an API call with the “news” value in the “channel” parameter to only retrieve your videos from the “news” category: https://api.dailymotion.com/me/videos?channel=news”
“If you can’t explain it simply, you don’t understand it well enough”, Albert Einstein
Because I’m dealing with a lot of different Partner requests every day, I always have to be careful and adapt my answers to each user. Explaining how to embed a video on a website or an application via Dailymotion’s API will be simple for a senior developer, but for a less experimented one, it may seem more complicated (even if embedding our Player is definitely very easy). For this reason, giving the same kind of explanation to everyone would be counter-productive. For my less tech savvy users, I explain the value that our APIs can bring to their business and how to implement it using screenshots, code samples or even video tutorials.
Partner question: “How does your Data API work?”
Metaphors are a powerful educational tool and I often use the restaurant analogy when a non-tech user asks me about our APIs.
My answer: “Imagine that a customer wants to eat something in a restaurant (he is the API client: a partner who wants to list his videos in Dailymotion’s use case). He reads the menu to see what he can and cannot order (that’s the API specification). Once he’s ready, he orders a meal (he does an API request). The waiter (Internet HTTP protocol) writes down the order and gives it to the kitchen (the API server). The chef (the API) cooks the meal and sends it back to the waiter. Then finally, the waiter delivers the meal to the client (that’s the API response listing the Partner’s videos).”
« I’m a real boy », Pinocchio
Right from the initial question, to the final answer we provide “real human” API support at Dailymotion. In a nutshell, we simply never use bots. You can easily picture the advantages of this bias: a human being will obviously spend more time trying to understand a Partner’s requirement than an automatic bot (empathy is key in this process). My answers will be of higher quality than automatic ones because I’m able to analyze situations, investigate on use cases, benefit from the knowledge of my colleagues at Dailymotion, etc. I like to consider myself as the link between the users and the documentation, not the documentation itself.
Partner question: « I’m following the instructions to publish a new video on Dailymotion using c# and a WebClient. I successfully got the auth-token, then an upload url, then the actual file to upload. But I’m stuck at step 4, called: "create the video". It states to POST
url=<the url i got from previous step>to https://api.dailymotion.com/me/videos, but all my attempts result in "bad request".»
A typical automated system would not have been able to easily spot the problem here. And their response would definitely be « Check the documentation, again » implying that the user probably did something wrong on his side.
In this case, and before replying to my Partner, I downloaded his code and tried to execute it in order to understand where the error was coming from. I was then able to give him the reason for the error message and explain how he could resolve the problem. By using his code I was able to show him how to do it in the language he used, and completed this with pointers to one of our tutorials. Only a human developer would have been able to dissect this kind of problem and bring such a complete response.
My answer: “As explained in our documentation, a 400 error is related to a missing/invalid parameter. I assume that you are trying to send the upload url (returned in step 2) instead of the url returned by step 3 (the url of your uploaded file). Please read this dedicated article (with examples of returned values) to learn more about how to upload your videos on Dailymotion here.”
As our APIs are public and highly used by our Partners, maintaining them and providing premium level support is key to our BtoB strategy and corporate values (#CaringMatters). For this reason, my first commandment is and will always be to care about our Partners (it may seem obvious or naive… but try answering a user as you would answer a friend or family and you’ll understand what I’m talking about). I know that I have more to offer than just reading the documentation and I believe that’s what makes my added value.
So please, visit our Developer Portal and share with me your feedback about our documentation and tutorials. Dailymotion’s APIs team is always interested in learning more about your experience in order to build even better products to suit your needs.