Job types
Get a job type’s nominal code
/a/JobType_getNominal
Read the job type’s fallback nominal code as a legacy scalar response.
When to use this endpoint
Use JobType_getNominal only when reproducing the low-level nominal-code workflow. The code is consulted when Fieldmotion generates an invoice from a job and the customer has no usable default nominal.
Authentication and permissions
The request must authenticate with signed API-key fields or a logged-in CRM session. The handler performs no additional page or role-permission check.
The lookup and any write use the authenticated tenant; an ID from another tenant cannot be addressed through this call.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | Integer string | Yes | Job-type ID. Input is integer-converted. |
Example request
$nominal = FM_api('JobType_getNominal', [
'id' => '42',
]);
Example response
"4000"
The response is the database scalar, not an object. A SQL null value is returned as JSON null; a missing row or failed lookup returns JSON false.
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"} | The integer-converted ID is less than one. This check runs before the handler’s login guard. |
false | No row matches the ID or the scalar lookup fails. |
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 endpoint does not verify that the returned code belongs to an account.
- Customer nominal settings take precedence during invoice generation; the tenant invoice default can be used after this job-type fallback.
- There is no filtering or pagination.
See it in Fieldmotion
CRM1
A production-source search found no direct CRM1 caller.
CRM2
A production-source search found no direct CRM2 caller.
Related endpoints
JobType_setNominalstores the fallback code.JobType_getRequestedDetailscan return it as mapped fieldnominalCode.