Saved views and configuration
Retrieve a saved import or export map
/a/Map_get
Load a named column mapping and its widget options without executing an import or export.
When to use this endpoint
Use a map ID from Maps_list to reload the column translations in an import/export dialog. Saving a map does not apply it to business records.
Authentication and permissions
Authenticate with signed API-key fields or a logged-in CRM session. This handler checks for an authenticated tenant context; it has no additional page, role or map-owner permission check.
Maps are tenant-wide, not private to the user who saved them.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | Integer string | Yes | Saved map row ID. -2 returns the built-in customer export map; 0 or a value converting to zero is invalid. Other negative IDs are queried normally. |
Example request
$map = FM_api('Map_get', ['id' => '1042']);
Example response
{
"id": "1042",
"type": "7",
"name": "Customer names",
"maps": "[{\"from\":\"name\",\"translate\":{},\"to\":\"Name\"}]",
"cdate": "1791540000",
"meta": "{\"pre_edit\":0,\"other\":[]}"
}
Stored IDs, type and creation timestamp are database strings. maps and meta remain encoded JSON strings; the widgets decode them. The synthetic -2 response instead has numeric id and type, name [default], and no cdate or meta.
Errors and unusual responses
| Response | Condition |
|---|---|
{"error":"not logged in"} | No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs. |
{"error":"missing or invalid parameter: id"} | ID omitted or converts to zero. |
false | No matching stored map, or the row query failed. There is no separate not-found error. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- The built-in customer map has type
7and is generated in PHP, not stored in the tenant table. - No pagination, active/deleted flag or user ownership filter is applied. All stored columns are returned. This is a read without audit/cache writes.
See it in Fieldmotion
CRM1
Open an import or export dialog, then use its saved-map selector. Filter browser Network requests for this endpoint; widgetImport.js and widgetExport.js implement the workflow.
CRM2
Open the CRM2 import/export dialog and use its saved-map selector. The import widget and widgetExportCRM2.js use the same route and stored JSON-string contract.