See #206 (not sure this is the issue reported though, the line number in the bug report does not seem to match current code)

Add missing Nullable for externalKeys
Add specific null constant NULL_ATTEMPT_ID (to avoid arbitrary null all over api calls)
Check for null transactionExternalKey when checking for uniquness