Mitigate AI Platform
Ingestion

Hansa CRM API

Standard ERP HansaWorld REST API reference for customer data retrieval

https://www.hansamanuals.com/main/mailnumber___61172/theconf___1145/manuals/version___85/english/hwconvindex.htm?shortcode=HW0801TECH_REST_API_Retrieve

Based on the official Standard ERP (HansaWorld/Standard Books) documentation, there is no special “customer” endpoint. The register for contacts/customers is CUVc, so you stay under /api/{company}/CUVc and then limit what’s returned using query parameters. A few important points from the docs:

  • Use range with sort=Code to retrieve one customer record. The range parameter only works when you also specify sort. When you supply a single value in the range (no colon), the API returns only the records whose sorted‑on field equals that value. For example, to fetch customer with code C1234 from company 3, call:

    GET /api/3/CUVc?sort=Code&range=C1234&fields=Code,Name,Addr1,Phone

    The docs emphasise that range uses an index, so this method is the fastest way to fetch a single record. This pattern is used in official examples for objects and items.

  • filter can also be used but is slower. You can filter on any header field (e.g., Code) using the syntax filter.Code=.... However, the documentation warns that filter scans all records, so it’s considerably slower than using sort + range:

    GET /api/3/CUVc?filter.Code=C1234&fields=Code,Name,Addr1,Phone
  • Responses contain a url attribute pointing to the record. When you create or update a record, the XML/JSON response includes a url attribute such as /api/1/IVVc/10000014 that uniquely identifies the record. Although the docs show this being used for PATCH requests, you can also issue a GET request to that URL (e.g., /api/3/CUVc/C1234) to fetch the full record. This works because the path uses the record’s primary key (Code) and is the same address you would patch if you were updating the record.

  • Remember to specify your fields. If you omit the fields parameter, the API returns every field, including matrix rows. You can limit the response by listing only the fields you need (comma‑separated).

So, to fetch individual customer details in the Hansa/Standard Books API, you don’t switch endpoints—you refine your query. Use ?sort=Code&range={CustomerCode} for an efficient indexed lookup, or ?filter.Code={CustomerCode} if you can’t sort on the field. The url returned in responses can also be used directly (/api/3/CUVc/{CustomerCode}) when you need to fetch or update that specific record.