sendinblue/APIv3-java-library

UpdateContact, boolean attributes are not updating

Opened this issue · 3 comments

Hello!

I cannot get boolean attributes to update when using the updateContact endpoint of the ContactsApi ith this SDK.

What value are you supposed to send in the Properties object? I Have tried true, TRUE, 1, Yes and nothing works. It just send 204 like all is okay but nothing happens. Below are the code. Its Kotlin, but its just the same. the user.sharingShopping field is a Boolean type.

val params = UpdateContact().apply {
    attributes = Properties().apply {
        setProperty("SHARING_SHOPPING", user.sharingShopping.toString())
    }
}
apiInstance.updateContact(user.userEmail, params)

Hi @frellan

I found a workaround for this. Instead of using Propreties use the JSON Object instead

e.i
JSONObject body = new JSONObject();
body.put("SHARING_SHOPPING", user.sharingShopping);

This works for me.

Hi @frellan ,
I am able to replicate the issue on my end and will share the fix asap.
Thanks

Another workaround (as this issue is not fixed) and you use version 7.0.0 over at Maven. https://mvnrepository.com/artifact/com.sendinblue/sib-api-v3-sdk/7.0.0

The workaround is to not use the Properties class and just use a normal HashMap instead and pass this to the UpdateContact class.

Map<Object, Object> attributes = new HashMap<>();
attributes.put("BOOLEANVALUE", false);
UpdateContact updateContact = new UpdateContact();
updateContact.setAttributes(attributes);
contactsApi.updateContact(email, updateContact);