I often get to the question when using a service, should I find a SDK for my language (Node.js) or should I just send raw HTTP requests.
Some services provide you with a really up-to-date SDK with good documentation: https://www.braintreepayments.com/developers
Others are doing a mediocre job while the rest is only providing a Restful HTTP API.
From my perspective:
Pros with SDK:
Cons with SDK:
It seems that the cons outweigh the pros with using a language SDK.
Should I always use the raw HTTP API directly if there is one?
I would say no. By using a provided SDK you will normally save time and you are using code that has been tested far more than any code you write yourself. These benefits outweigh all of your cons in my opinion.
However, most of your cons are show stopping reasons to not use an SDK. If you find that the SDK does not meet your requirements then yes, use raw HTTP requests. That said, often you may be able to use the SDK where it meets your requirements and use raw HTTP requests (ideally by extending the SDK) where it does not.
I'd say 'it depends' (that's why I consider this question not very suitable for SO format, btw), and for me the most important factor is how stable both HTTP API and SDK are.
If API is stable, it's probably covered by SDK well enough to safely use the latter.
If API is developing rapidly, it's most probably (there are few exceptions) not covered well enough by SDK.
Or course, it's all said assuming that the features you require are covered by both API and SDK. If that's not the case, I'd suggest using only the basic functions of SDK (authorization module, for example), and implement all the complex ones by yourself.