HOME / COMMUNITY Switch to knowledge base

Api bug with updating a customer contact

This process is done via the API

Create a customer with a contact via the API and store the ClientId on local system

Update the contact using the ClientId but not the ContactId. A new Primary contact is created and the Old primary contact becomes an “extra contact”.

If then try to update the primary contact with the same email address as the ”extra contact” it says success however does not update the primary contact nor gives an error message. (This is probably because Client Contacts cannot have the same email address).

This issue means the user thinks the primary contact email address on quickfile has been updated when it has not. Invoice emails will then get sent to the wrong email address.

Would be helpful if the DefaultContactId and the AdditionalContactsIds are returned when a customer is created or searched and to have an error message if someone inadvertantly tries to create a second contact with the same email.

Hi @egs

By “Customer”, do you mean client? If so, we do return this along with their name when creating the client:

  "Body": {
    "ClientID": 2548734,
    "ClientContactIDs": {
      "ClientContact": [
        {
          "ClientContactID": 899153,
          "ClientName": "John Smith"
        },
        {
          "ClientContactID": 899154,
          "ClientName": "Sarah Whitely"
        }
      ]
    }

And likewise with client_get:

    "ClientContacts": {
      "DefaultContact": {
        "ClientContactID": 897765,
        "FirstName": "John",
        "Surname": "Smith",
        "Telephone": [
          "0207 111 6655",
          "0207 111 6666"
        ],
        "Email": "marmaduke@quickfile.co.uk"
      },
      "AdditionalContact": []
    },

Although not separated into default and additional contacts, you can match the names.

Just to confirm with your issue however, am I right in thinking this is the process?

  • Create a new client with a primary and at least 1 additional contact
  • Update the client using the client_update endpoint, specifying a primary contact with the additional contact ID, name and email address
  • A success message is returned
  • However, the primary contact has not been changed

Am I on the right lines?

My mistake on the first part.

Yes. You are correct with the steps you outlined.

Kind regards

Ed