Support
Sometimes a request doesn’t behave the way you expect and the reference docs don’t quite cover it.
Check these first
Section titled “Check these first”Most integration problems turn out to be a missing header, an expired or under-scoped token, or a documented error you just haven’t run into yet. A quick pass through these usually gets you an answer faster than waiting on a reply:
Before you reach out
Section titled “Before you reach out”Support can only move as fast as the details you give them. Before you contact SMBcrm, gather:
- The endpoint and HTTP method, for example
POST /contacts/search. - The HTTP status code you received, for example
401,422, or429. - The full error response body: the actual JSON SMBcrm sent back, not a paraphrase of it.
- A timestamp for when the request was made, including timezone.
- The request ID, if the response includes one, lets support trace the exact call on their end.
Here’s what a well-redacted report might look like for a hypothetical failed call to
POST /contacts/search. The request, with the token redacted:
curl -X POST https://services.smbcrm.com/contacts/search \ -H "Authorization: Bearer <redacted>" \ -H "Version: v3" \ -H "Content-Type: application/json" \ -d '{ "locationId": "<location_id>", "filters": [{ "field": "tags.value", "operator": "contains", "value": "vip" }] }'and the full response body, exactly as received:
{ "error": "Invalid filter field", "field": "tags.value", "requestId": "<request_id>"}Pair that with the status code, a timestamp (with timezone), and you’ve given support everything it needs to reproduce the problem without a round of follow-up questions.
Where to get help
Section titled “Where to get help”Open the Help section inside your SMBcrm account. It connects you to SMBcrm support directly from the app you’re already working in. If you don’t have access to the app, or you want general product information first, start at smbcrm.com.
Write a specific, reproducible report
Section titled “Write a specific, reproducible report”The single biggest lever you have over how fast you get help is how easy your report is to reproduce. Compare:
- “The contacts endpoint doesn’t work.” Nothing here for anyone to act on.
- “
POST /contacts/searchreturns422withInvalid filter fieldwheneverfilters[0].fieldistags.value; the same request works fine withtagsinstead.” Specific, reproducible, and points straight at the likely cause.
When you can, trim the request down to the smallest body that still reproduces the problem, and say whether it happens every time or only sometimes. If it’s intermittent, include a few timestamps and request IDs from different attempts rather than just one.
Related
Section titled “Related”- Errors & Troubleshooting: status codes and error bodies you might already recognize.
- Quick Start: confirm the basics, like your base URL, headers, and a working token.
- Authentication: token types, scopes, and the
Authorizationheader. - Token Safety: what to do if a token leaks and needs rotating.
