API chaining works well in Javascript and PHP. For example, I can retrieve a contact's email addresses using this code generated by the API Explorer:
Php
$result = civicrm_api3('Contact', 'getsingle', array(
'sequential' => 1,
'return' => "display_name",
'id' => 41194,
'api.Email.get' => array('return' => "email"),
));
Javascript
CRM.api3('Contact', 'getsingle', {
"sequential": 1,
"return": "display_name",
"id": 41194,
"api.Email.get": {"return":"email"}
}).done(function(result) {
// do something
});
However, the drush command generated by the API explorer doesn't work:
drush cvapi Contact.getsingle sequential=1 return="display_name" id=41194 api.Email.get={"return":"email"}
# Gives me the contact just fine, but no email
Is there any way to coax drush cvapi into processing chained api calls? If it's not currently possible, is anybody working on it?
In the meantime, how can I help to correct the API Explorer so it doesn't produce non-working drush commands?