Corrupted API response on PUT request

We have integrated with Contacts API for two-way synchronization between our website and Yahoo Contacts. The sync was working fine for the last year (except when we had to switch from http to https before), but about two weeks ago we started to experience problem when doing PUT request to Yahoo API. GET requests are working fine.

We do PUT request on this url using curl (PHP): https://social.yahooapis.com/v1/{GUID}/me/contacts?format=json

and it generates error:

Curl error #56: Received problem 2 in the chunky parser

This error indicates that the server forcing Transfer-Encoding: chunked, but encodes data incorrectly, so it cannot be decoded. According to HTTP protocol, the only way to "disable" chunked encoding of the request is to use HTTP 1.0. Now, unsurprisingly, the same request over HTTP 1.0 does not work, it returns status 401, most likely it fails to parse "Authorization" header that I send.

I tried to replace my GUID with string "me", to the following result: now API returns html instead of json with following body:

Yahoo Logo

Will be right back...

Thank you for your patience.

Our engineers are working quickly to resolve the issue.

There is obviously a problem with Yahoo API and it's not fixed after a couple of weeks. Is it possible to get some feedback from Yahoo? Is there any way to get some kind of "premium" support for this API? Our website heavily depends on Yahoo Contacts synchronization and we want to minimize the downtime because of such issues.

2 Replies
  • I'm surprised that HTML in my post was not properly escaped. Anyway, here's a part of HTML response from API (it didn't showed in original post):

    !-- status code : 502 --

    !-- Server Connection Closed ycpi-ssl-offramp.ops.yahoo.net --

    !-- host machine: r08.ycpi.sjb.yahoo.net --

  • Me too on the PUTs vs GETs, and that it only started recently. GETs work perfectly fine, while PUTs fail with 'token_rejected'.

    Intermixed with the 'token_rejected' messages, I occasionally encounter an error getting the [error] response body--which as nearly as I can tell does not exist. That may be what you are seeing.


Recent Posts

in Contacts