Clients Management

The Client Management module provides comprehensive functionality for creating, managing, and tracking client information within the Syniotec API Platform.

Base URL:

https://integration-api.ram.syniotec.com/master-data/v1/client-management


Available Operations

  • POST /clients - Create a new client
  • GET /clientsRetrieve clients with filtering and pagination
  • GET /clients/{id} - Get client by ID
  • PATCH clients/{id} - Update client
  • DELETE clients/{id} - Delete client
  • GET clients/external-id/{externalId} - Get client by external ID
  • POST /clients/{clientId}/contact-persons - Create a new contact person
  • GET /clients/{clientId}/contact-persons - Retrieve all contact persons for a client
  • GET /clients/{clientId}/contact-persons/{id} - Get contact person by ID
  • PATCH /clients/{clientId}/contact-persons/{id} - Update contact person
  • DELETE /clients/{clientId}/contact-persons/{id} - Delete contact person
  • GET /clients/{clientId}/contact-persons/external-id/{externalId} - Get contact person by external ID

Data Models & Schemas

Clients Model

{
  "id": "string",
  "number": "number",
  "name": "string",
  "externalId": "string",
  "customPriceId": "string",
  "creditLimit": "number",
  "usedLimit": "number",
  "paymentTerms": "number",
  "additionalInformation": "string",
  "frameContract": "boolean",
  "selfInsurance": "boolean",
  "pricing": "string",
  "website": "string",
  "fax": "string",
  "point": {
    "lng": "number",
    "lat": "number"
  },
  "street": "string",
  "streetAndNumber": "string",
  "city": "string",
  "phone": "string",
  "country": "string",
  "email": "string",
  "partnerType": "string",
  "longName": "string",
  "postalCode": "string",
  "creditworthiness": "string",
  "status": "string",
  "organization": "uuid",
  "structureId": "string",
  "createdAt": "date-time",
  "updatedAt": "date-time",
  "contactPersons": [
    {
      "id": "string",
      "name": "string",
      "jobTitle": "string",
      "department": "string",
      "email": "string",
      "phone": "string",
      "mobile": "string",
      "isMain": "boolean",
      "externalId": "string",
      "clientId": "string",
      "updatedAt": "date-time"
    }
  ]
}

Field Descriptions

  • id - A unique identifier for the client record
  • number - Auto-generated, unique number used in Invoice Ninja integration
  • name - The name of the entity, providing a way to identify it
  • externalId - External system identifier
  • creditLimit - Field representing the maximum amount of credit extended to the entity, indicating the financial boundaries for transactions
  • usedLimit - A field indicating the amount of credit that has been used so far
  • paymentTerms - Number representing the payment terms agreed upon, such as 10 days, indicating the time frame for payments
  • additionalInformation - A string for any extra details or notes relevant to the entity that do not fit into other specified fields
  • frameContract - A boolean value indicating whether a frame contract exists (true) or not (false)
  • selfInsurance - A boolean value indicating whether the entity practices self-insurance (true) or not (false)
  • pricing - A field for pricing information related to the entity
  • website - Client website URL
  • fax - Fax number
  • point - An object containing geographical coordinates with longitude (lng) and latitude (lat)
  • street - Street address
  • streetAndNumber - Combined street address with number
  • city - City
  • phone - Phone number
  • country - Country
  • email - Email address
  • partnerType - Partner type classification
  • longName - Long descriptive name
  • postalCode - Postal code
  • creditworthiness - Credit rating assessment
  • status - Client status
  • organization - Organization UUID
  • structureId - A unique identifier (UUID) for the structure where the record is associated, might be reflecting different kind of internal organizational classification
  • createdAt - Date-time when client was created
  • updatedAt - Date-time when client was updated
  • contactPersons - Array of associated Contact Persons

Enum Fields

partnerType:

  • CITY_COMMUNITY - City or community organization
  • CONSTRUCTION - Construction company
  • INDUSTRY - Industrial company
  • OTHER - Other type
  • PRIVATE - Private individual

creditworthiness:

  • GOOD - Good credit rating
  • MIDDLE - Average credit rating
  • SUBSTANDARD - Below average credit rating
  • BAD - Poor credit rating

status:

  • ACTIVE - Active client
  • INACTIVE - Inactive client

Contact Persons Model

{
  "id": "string",
  "name": "string",
  "jobTitle": "string",
  "department": "string",
  "email": "string",
  "phone": "string",
  "mobile": "string",
  "isMain": "boolean",
  "externalId": "string",
  "clientId": "uuid",
  "updatedAt": "date-time"
}

Fields Description:

  • id - A unique identifier (UUID) for the contact person record. Auto-generated by the system.

  • name - The full name of the contact person.

  • jobTitle - The job title or position held by the contact person within their organization.

  • department - The department where the contact person works.

  • email - Email address of the contact person.

  • phone - Primary phone number of the contact person.

  • mobile - Mobile phone number of the contact person.

  • isMain - A boolean value indicating whether this is the primary/main contact person (true) or not (false). Only one contact person per client can be marked as main.

  • externalId - External system identifier for integration purposes.

  • clientId - Reference to the parent client's unique identifier (UUID).

  • updatedAt - Timestamp indicating when the contact person record was last updated.

Error Response DTO

Standard error response format.

{
  "status": "number",
  "success": "boolean",
  "message": "string",
  "error": "string"
}

Field Descriptions:

  • status - HTTP status code (400-503)
  • success - Boolean indicating the operation failed (false)
  • message - Human-readable error message
  • error - Error code identifier