Fixing Org-protocol issue with conkeror

I have a function in conkeror that saves a web page’s URL and title, along with any selected text at the time, in Emacs/Org-mode as a captured task, when I hit C-c r. It does this by feeding an org-protocol command through emacsclient. A recent upgrade of org-mode broke it, so I had to change it up a bit. The function in my .conkerorrc used to look like this:

function org_capture (url, title, selection, window) {
    var cmd_str = 'emacsclient "org-protocol://capture:/w/'+
        url + '/' + title + '/' + selection + '"';
    if (window != null) {
        window.minibuffer.message('Issuing ' + cmd_str);
    }
    shell_command_blind(cmd_str);
}

And now it looks like this (plus the interactive function and key definition to call it, which hasn’t changed):

function org_capture (url, title, selection, window) {
    var cmd_str = 'emacsclient "org-protocol://capture?template=w&url='
                  + url + '&title=' + title + '&body=' + selection + '"';
    if (window != null) {
        window.minibuffer.message('Issued: ' + cmd_str);
    }
    shell_command_blind(cmd_str);
}
interactive("org-capture",
            "Clip url, title, and selection to capture via org-protocol",
    function (I) {
        org_capture(encodeURIComponent(I.buffer.display_uri_string),
                    encodeURIComponent(I.buffer.document.title),
                    encodeURIComponent(I.buffer.top_frame.getSelection()),
                    I.window);
    });
define_key(content_buffer_normal_keymap, "C-c r", "org-capture");

Basically, they went from a format that separated the items by slashes to one with key=value pairs, like URL format. I also had to make a change in my emacs config to org-capture-templates (just showing the one template here), from this:

("w" "org-protocol" entry (file "~/work/org/refile.org")
 "* TODO Review %c :CAP:\n%U\n\n%i" :immediate-finish t)

To this:

("w" "org-protocol" entry (file "~/work/org/refile.org")
 "* TODO Review %:annotation :CAP:\n%U\n\n%i" :immediate-finish t)

Not much change there; just seems like they changed the %c template marker to %:annotation. Works perfectly again now.