Updating contact by external ID

@elisa.zoom In continuation of Updating or searching external contacts with Zoom Phone API - #7 by elisa.zoom

It doesn’t seem like the external contact ID can be used instead of the internally Zoom generated ID to update record.

The following sequence of calls fails:
curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "Authorization: Bearer ${ZOOM_ACCESS_TOKEN}" -d '{"id":"test-NNN", "name":"Test", "description":"Test", "phone_numbers":["+44xxxxxxxx"]}' https://api.zoom.us/v2/phone/external_contacts

Returns {"name":"Test","external_contact_id":"GENERATED_CONTACT_ID"} where the GENERATED_CONTACT_ID is not test-NNN.

Update using the ID field test-NNN:
curl -X PATCH -H "Content-Type: application/json" -H "Accept: application/json" -H "Authorization: Bearer ${ZOOM_ACCESS_TOKEN}" -d '{"id":"test-NNN", "name":"Test", "description":"Test Patch", "phone_numbers":["+44xxxxxxxx"]}' https://api.zoom.us/v2/phone/external_contacts/test-NNN

Fails with {"code":300,"message":"Validation Failed.","errors":[{"field":"externalContactId","message":"External contact does not exist: test-NNN"}]}

Update with the GENERATED_CONTACT_ID is successful.

HI @maxim.osipov thanks for testing and sharing this. Based on the documentation, one would assume that the contact id passed by you during creation, would be useable in the update request.

However in the interim it seems it’s best to have a database that maps the zoom generated id to the external contact id you pass into Zoom.

@elisa.zoom if you tag me in the original internal thread, I am happy to follow up on this to determine if the endpoint is:

  1. Supposed to also accept customer generated external id and
  2. make a documentation change request for further clarity
1 Like

Thanks for jumping in here @gianni.zoom

@maxim.osipov the external_contact_id can not be updated, the only one you can change and customize is the id field

Thank you both for confirming that id field cannot be used to GET/PATCH the records. It unblocks or internal dev activity. Documentation clarification would be useful.

2 Likes