Anyone else experiencing issues with Actions (All Constituents) Error 400

Options

Hi there,

We run a nightly routine that pulls in actions, and our routine fails on the second iteration. We've narrowed it down to an error with “…?offset=XXX”, returning an Error 400. It's been erroring out for a week, and took us a while to figure out what the problem is.

I think it's a bug, and we have a support ticket going, but curious if anyone else is experiencing the same thing.

(Note that using the continuation_token as suggested returns an Error 500 – another dead end.)

d2fa591440c51c62aa37522bb67414b2-huge-sc

Comments

  • Alex Wong
    Alex Wong ✭✭✭✭✭
    Ninth Anniversary Facilitator 4 Name Dropper Photogenic

    @Seth Ellis
    I just tried it, it does work, however, your issue is parameter encoding.

    So for example, my first call got continuation token.. which is a long alphanumeric string, follow by the ending characters is …xXxxxxxXX%3d%3d

    when i directly copy this continuation token into console continuation token paramter, and when looking at the actual URL for the call, it is:
    …xXxxxxxXX%253d%253d

    this obviously is different continuation token. % was encoded as %25, so %3d becomes %253d.

    So what I did is.. i decoded %3d (reverse the encoding) which %3d is an equal sign =

    so in the continuation_token parameter, I put …xXxxxxxXX==

    when you run this, the == gets turned into %3d%3d and it works.

  • @Alex Wong thank you will give it a try shortly! Did you happen to run into any issues with the use of ‘offset=xx’ in your query? I'm just baffled that the offset works for other API calls but is consistently failing for Actions (All Constituents)

  • Alex Wong
    Alex Wong ✭✭✭✭✭
    Ninth Anniversary Facilitator 4 Name Dropper Photogenic

    @Seth Ellis
    I tried offset, and it is also failing for me.

    5ef76a6ce7402a731f39a24a1a91c0e7-huge-im

    for a error message with 400 error code, I don't think it make sense. If Blackbaud does not intent for offset to be used, it might just be better that the documentation is updated to say offset is not supposed to be used.

    Compare to constituent list and gift list, I find it odd too that action list (which i do not run to store into my data warehouse right now) has sort_token and continuation_token. So what does sort_token do? I'm assuming this is legacy parameter that might have been improved when constituent gift list comes about?

    @Ben Wong or @Erik Leaver can get us some answer?

  • @Alex Wong your reputation at my org precedes you and all my colleagues hold you in high regard. I know why – your suggestion on the decoding the end of the next_link was spot on! Thank you! I've updated our macros for the evening run and at least so far we're in good shape for our upcoming reports. ?

    Still have my questions about why the offset parameter is breaking the API call, but grateful you've provided a fix! Thanks again!

  • Ben Wong
    Ben Wong Blackbaud Employee
    Ninth Anniversary Facilitator 2 Name Dropper Photogenic

    @Alex Wong I just tried this with the SKY API Console and see the same error. I'm checking with the RENXT team to see if anything changed. Thanks for bringing this to our attention.

Categories