Skip to content
Sign in
EN

Integrations in detail Fehlersuche bei Anbindungen

The worst error message is the one that never comes

A program that crashes is annoying. A program that shows an error message is unpleasant. A program that stays silent and finds nothing is dangerous — because nobody notices anything is broken.

With caller recognition it looks like this: the phone rings, the panel asks the CRM, the CRM answers with an empty list, the panel shows “Unknown”. Everything runs. Everything is green. And still nothing is right.

200 OK
The status code an interface can return even when the query has in fact failed. With at least one system in our catalogue the real error sits in the body of the response.

Three ways an integration goes quietly wrong

One: searched in the wrong place

A law firm package offers a full-text search over contacts. Its help says it is particularly useful when a client calls and you only have the phone number. The interface documentation, by contrast, says only that the search term is “applied to various fields of the contact”.

Which fields those are is stated nowhere. If the phone numbers were not among them, no error would appear. An empty list would — on every call, for weeks, without anyone suspecting the search.

So we ask rather than experiment. An attempt could not distinguish between “searched wrongly” and “not there”.

Two: the search field was ignored

The most unpleasant case, and the one that made us build a safeguard.

A Scandinavian CRM takes its searches through a generic call in which the name of the search field matters. If that name were wrong, two answers are conceivable: an error — or simply ignoring the unknown field.

In the second case the entire database would come back, with status 200. The panel would then have shown the first record as the caller.

Since then there is a guard: after the response we check whether the hit’s number really matches the one searched for. What does not match is dropped, and the log records that it was. The error thus reports itself, instead of quietly greeting the wrong person.

Three: the error is in the body

A German estate agency package answers a bad login with a proper HTTP error. A failure during processing — a missing permission on the address module, say — it reports in the body of the response, with status 200.

Without a safeguard a missing permission would therefore look exactly like “the number is not in there”: empty list, no message.

The portal now checks that code explicitly. During setup the difference between “no permission” and “nothing found” is half the troubleshooting — and without it the suspicion falls on the customer’s CRM, where it does not belong.

Why we would rather ask than guess

Every enquiry to a software house therefore carries a paragraph explaining why we write at all rather than just starting:

That is not distrust of the vendor. It is the insight that an integration which silently finds nothing is worse than none at all — at least everyone knows about none at all.

How to spot it in your own house

Anyone running caller recognition who suspects it recognises too little should check in this order:

  • Are all phone fields searched, or only the first?
  • Is the comparison character-exact or over the digits?
  • Does a deliberately wrong query produce an error or an empty list?
  • Does the log say anything when nothing was found — or nothing at all?

The last question is the most important. A system that does not write down its own failure cannot be checked.

Frequently asked questions

Why not simply try an interface out?

Because a failed attempt does not show up as a failure. A search that does not include phone numbers answers with an empty list, not an error. That looks like “the caller is not in there”.

What is a guard?

A check after the response: a hit is shown only if its phone number really matches the one searched for. If a foreign system ignores our search field and returns everything, anything that does not match is dropped — and the log records that it happened.

Does HTTP 200 not mean everything is fine?

No. Some interfaces always answer with 200 and carry the result in the body. A missing permission then looks exactly like “nothing found” — until you explicitly look into the body.

What does that mean for setup?

That the difference between “no permission” and “nothing found” is half the troubleshooting. Without it somebody spends half a day — and the suspicion falls on the customer’s CRM.

How the tile works All connectors

Talk to us

You will not get an off-the-shelf answer but a clear assessment: whether the effort is worth it for your company, what your system needs to be capable of – and what it costs. If it is not a fit, we say so.