Making M4 Solutions Information Available

  • 15.5
This article is may not be up to date with the latest stable release of M4.

Web Service Architecture

The web service architecture acts as an intermediary between M4 Solutions and external applications. This offers the ability to standardize communication between systems with our customer’s networks. The web services are designed using JSON architecture.
Typically, the M4 API is hosted on a client’s application server. All calls to the API must use HTTPS. The base endpoint for the M4 is https://<domain>/m4api/api.

 

Dataflow Diagram

High-level Dataflow Diagram
High-level Dataflow Diagram

 

Technical Prerequisites

To access the M4 API, clients must have M4 Foundation and M4 Web Products of at least version 2017 installed and running on an application server. Both programs can be hosted on client servers or by Mapcom. Generally, Mapcom integration engineers will handle the installation and configuration of M4 Web Products and IIS. Once the application server and IIS are configured, third-party applications can request data from the API using the endpoints specified in the Knowledge Base.

 

Application Server Software Version Requirements:

  • IIS version 7 or higher must be installed and enabled
  • .NET framework 4.5.2 or higher must be installed

Authentication

Authentication is handled through one of two methods:
  • Windows Authentication – Active Directory (preferred)
  • SQL Server Authentication

When making calls to endpoints, applications should use basic authentication to send the user name and password for a valid account to the API. The user account utilized for authentication must exist in M4’s Users table to receive access to the API. Each client can use M4 Administrator tool to create and manage user accounts for M4.

Licensing

The M4 API controls access to specific methods through integration license codes assigned to each client’s instance of M4. Each integration license listed below grants access to specific API endpoints. Users should contact Mapcom support to authorize licenses for the specific API endpoints they need. The Home endpoint is open to all modules/integration licenses.

 

 Module/Integration Licenses Associated Endpoint(s) Prerequisite License(s)
Billing Customer, CustomerServiceGroupFeature, FeatureStatusFeatureTypeService, ServiceStatus Foundation
Workforce Additional Charge, Additional Charge Type, Appointment, Project, Promotion, ServingAreaTicket, TicketCategory, TicketCode, TicketNote, TicketPriority, TicketStatus, TicketType, TimeEntry Foundation
Accounting WorkOrder Foundation
Circuits Circuit, CircuitSize, CircuitStatus, CustomerNetwork Foundation
CRM Contact Foundation
Element Management Systems  Alarm, CustomerEmergency Foundation
Network Management Systems  Alarm, CustomerEmergency Foundation
Locates Foundation
GPS  AVLListener, Vehicle Foundation
Wireless Foundation
Inventory  Inventory Foundation
Payroll Foundation
Assignment AssignmentStatus, Element, ElementType, LineCard, LineCardElement Foundation
Foundation FileReference, Geolocation, Object, Structure, Plant, User Foundation
Network Equipment Manager NetworkEquipment Foundation
Services Manager ServicesManager Foundation

Endpoints

The M4 API separates the main data objects into the following endpoints. Each endpoint contains a set of methods which allow the API consumer to perform standard CRUD operations on data objects.
API Endpoint Name Description
Additional Charge Contains methods related to managing additional charges
Additional Charge Type Contains methods related to managing additional charge types
Alarm
Appointment Contains methods related to managing appointments for tickets
AssignmentStatus Contains methods related to accessing M4 Assignment statuses
AVLListener Contains methods related to tracking real-time truck location data
Circuit Contains methods related to managing circuits
CircuitSize Contains methods related to managing circuit sizes
CircuitStatus Contains methods related to managing circuit statuses
CustomerNetwork Contains methods related to managing customer networks
Contact Contains methods related to managing contacts
Customer Contains methods related to managing customer data
CustomerServiceGroup Contains methods related to managing customer service group data
CustomerEmergency Contains methods related to customer service outages
Element Contains methods related to elements in M4.
ElementType Contains methods related to element types in M4.
Email
Estimate Contains methods related to managing estimates
EstimateLineItem Contains methods related to managing estimate line items
EstimateLineItemType Contains methods related to managing estimate line item types
EstimateStatus Contains methods related to managing estimate statuses
EstimateType Contains methods related to managing estimate types
Feature Contains methods related to managing service features
FeatureStatus Contains methods related to managing the statuses of features
FeatureType Contains methods related to managing the types of features
FileReference Contains methods related to managing file references
Geolocation Contains methods related to mapped elements
Home Contains methods related to the current API version and user
Inventory
LineCard Contains methods related to plant for Assignment
LineCardElement Contains methods related to plant for Assignment
M4MobileData
NetworkEquipment
Object
Plant
Project Contains methods related to managing projects
Promotion Contains methods related to managing promotions
Service Contains methods related to managing customer services
ServiceStatus Contains methods related to managing the statuses of services
ServicesManager Contains methods related to available services
ServingArea Contains methods related to serving areas
Structure Contains methods related to managing structures
TicketCategory Contains methods related to managing ticket categories
TicketCode Contains methods related to managing ticket codes
Ticket Contains methods related to managing tickets
TicketNote Contains methods related to managing ticket notes
TicketPriority Contains methods related to managing ticket priorities
TicketStatus Contains methods related to managing ticket statuses
TicketType Contains methods related to managing ticket types
TimeEntry Contains methods related to managing time entries for tickets
User Contains methods related to managing M4 users
Vehicle Contains methods related to managing vehicles in the fleet
WorkOrder

Was this article helpful?

Related Articles