About

This section will cover engineer APIs to fetch particular engineer information, search for engineers near posted job location and rate engineer on completion of job. To make these API requests, you combine the HTTP GET, POST and PATCH methods, the URL to API service, query parameter(s), HTTP request headers and payload data.


Query Parameters

For GET and POST methods you will need to include some of these query parameters on the request URI to get details needed. More details mentioned in individual APIs.

Parameter Name Datatype Description
id string Unique Engineer record Id E.g: P955550920 can be obtained from Talent Search API response.
page string To mention the page index for the responses you recieve. E.g: page=2
size string To mention how many objects/records you want the API to return in response. E.g: size=25

API Responses

Each API responses return generic HTTP code/messages along with two other elements under response body: payload and result. payload could be either an array or an object depending on the API request; and result consists of specific FE business scenario related status code/messages.(Described in detail under individual APIs)

HTTP Status Codes

Status code Message description
200 Success
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
500 Internal Server Error

Note: Detailed description of each status code is given under respective APIs below.

Status code Message
201 Created
204 No Content
301 Invalid Company User

APIs

1. Retrieve Engineer Details

GET    /engineer/<Engineer Id>

Use this API to get details of a particular engineer such as personal/profile details like name, contact, address, Unumber, skills, certifications, insurance, #past jobs and their details, #clients he worked for in the past etc.

i. Path Parameter

Element Name Datatype Description
id string Unique Engineer record Id E.g: Pxxxxxxxxx can be obtained from Talent Search API response.

ii. Sample Request

curl -X POST \
https://sandboxapi.fieldengineer.io/v1/engineer/<Engineer Id>  \
-H 'Content-Type: application/json' \
-H 'apiKey: <API Key>' \
-H 'cache-control: no-cache' \
-H 'username: <Company eMail ID>'

iii. Sample Response

{
    "payload": {
        "id": "Pxxxxxxxxx",
        "firstName": "John",
        "lastName": "Doe",
        "abountMe": "Lorem Ipsum",
        "contacts": [
            {
                "type": "Cell-Phone",
                "dialCode": "1",
                "number": "1234567890"
            }
        ],
        "address": {
            "city": "Piscataway",
            "subDivision": "NJ",
            "zip": "08854",
            "country": {
                "code": "US",
                "name": "United States"
            }
        },
        "skills": [],
        "feePercent": 10,
        "insurancePercent": 1.5,
        "certifications": [
            {
                "id": "abcde1234ab123a12a1234561",
                "name": {
                    "shortName": "CCNA",
                    "longName": "Cisco Certified Network Associate Video (CCNA Video)"
                }
            },
            {
                "id": "abcde1234ab123a12a1234562",
                "name": {
                    "shortName": "CCNA",
                    "longName": "Cisco Certified Network Associate Service Provider Operations (CCNA SP Operations)"
                }
            },
            {
                "id": "abcde1234ab123a12a1234563",
                "name": {
                    "shortName": "CCNA",
                    "longName": "Cisco Certified Network Associate Voice: CCNA Voice"
                }
            },
            {
                "id": "abcde1234ab123a12a1234564",
                "name": {
                    "shortName": "CCNA",
                    "longName": "Cisco Certified Network Associate Wireless: CCNA Wireless"
                }
            },
            {
                "id": "abcde1234ab123a12a1234565",
                "name": {
                    "shortName": "CCNA",
                    "longName": "Cisco Certified Network Associate Data Center (CCNA Data Center)"
                }
            },
            {
                "id": "abcde1234ab123a12a1234566",
                "name": {
                    "shortName": "CCNA",
                    "longName": "Cisco Certified Network Associate Security: CCNA Security"
                }
            },
            {
                "id": "abcde1234ab123a12a1234567",
                "name": {
                    "shortName": "CCNA",
                    "longName": "Cisco Certified Network Associate Service Provider (CCNA SP)"
                }
            },
            {
                "id": "abcde1234ab123a12a1234568",
                "name": {
                    "shortName": "CCNA",
                    "longName": "Cisco Certified Network Associate: CCNA"
                }
            }
        ],
        "pastJobs": {
            "numOfClientsWorked": 4,
            "numOfJobsWorked": 8,
            "completedJobs": [
                {
                    "date": "2020-05-30 10:56:38",
                    "name": "Install adtran",
                    "rating": 0,
                    "companyName": "ABC"
                },
                {
                    "date": "2020-06-11 10:56:38",
                    "name": "Install",
                    "rating": 3,
                    "companyName": "XYZ"
                },
                {
                    "date": "2020-09-11 10:56:38",
                    "name": "Install adtran",
                    "rating": 3,
                    "companyName": "PQR"
                },
                {
                    "date": "2020-08-11 10:56:38",
                    "name": "Install adtran",
                    "rating": 3,
                    "companyName": "XYZ"
                },
                {
                    "date": "2020-08-11 10:56:38",
                    "name": "Install adtran",
                    "rating": 3.5,
                    "companyName": "PQR"
                },
                {
                    "date": "2020-08-11 10:56:38",
                    "name": "Install adtran",
                    "rating": 0,
                    "companyName": "XYZ"
                },
                {
                    "date": "2020-08-25 15:15:06",
                    "name": "decoding",
                    "rating": 4,
                    "companyName": "XYZ"
                },
                {
                    "date": "2020-08-25 15:15:06",
                    "name": "decoding",
                    "rating": 3.75,
                    "companyName": "XYZ"
                },
                {
                    "date": "2020-08-25 15:15:06",
                    "name": "onsite",
                    "rating": 0,
                    "companyName": "XYZ"
                },
                {
                    "date": "2020-08-25 15:15:06",
                    "name": "onsite",
                    "rating": 0,
                    "companyName": "ABC"
                },
                {
                    "date": "2020-08-25 15:15:06",
                    "name": "decoding",
                    "rating": 0,
                    "companyName": "ABC"
                },
                {
                    "date": "2020-08-25 15:15:06",
                    "name": "Router Installation",
                    "rating": 4,
                    "companyName": "ABC"
                }
            ]
        }
    },
    "result": {
        "code": "200",
        "message": "success"
    }
}

iv. Response Status Codes

Status code Message Description
301 Invalid company user Possible reasons to get this status code are:
- Invalid company user
- Not a valid job
- Not a valid user
- You are not allowed to do this operation on current job.

2. Engineer Rating

PATCH    /engineer/profile/rating

Use this API to rate the engineer's performance after completion of a job. You can rate the engineer for his Knowledge, Punctuality, Communication and Overall performance.

i. Sample Request

curl -X POST \
https://sandboxapi.fieldengineer.io/v1/engineer/profile/rating  \
-H 'Content-Type: application/json' \
-H 'apiKey: <API Key>' \
-H 'cache-control: no-cache' \
-H 'username: <Company eMail ID>' \
-d '{ "opportunityId": <Opportunity Id>,
"rating": [
 {
      
       "type": "Communication",
       "value": 3.5
 },
{
       
       "type": "Overall",
      "value": 3.5
},
 {
       
       "type": "Knowledge",
      "value": 3.5
},
 {
     
       "type": "Punctuality",
      "value": 3.5
        }
    ]
}'

ii. Sample Response

{
    "payload": null,
    "result": {
        "code": "200",
        "message": "Successully Rated"
    }
}

iii. Request Payload Details

Element Name Data Type Description
opportunityId string Unique Opportunity Id of the job
rating object
Rating object fields
Element Name Datatype Description
type string description of the skill/quality of engineer your rating for.

Values:
- Communication
- Overall
- Knowledge
- Punctuality

iv. Response Status Codes

Status code Message Description
204 No Content If the valid values are not provided in the Request body then this status code is given in response.

POST    /talent?page=<Page Index>&size=<Page size>

Use this API to search for engineers near the location where the job is posted, having particular skills needed to perform the job.

i. Query Parameters

Parameter Name Datatype Description
page string To mention the page index for the responses you recieve. E.g: page=2
size string To mention how many objects/records you want the API to return in response. E.g: size=25

ii. Sample Request

curl -X POST \
https://sandboxapi.fieldengineer.io/v1/talent?page=<Page Index>&size=<Page size>  \
-H 'Content-Type: application/json' \
-H 'apiKey: <API Key>' \
-H 'cache-control: no-cache' \
-H 'username: <Company eMail ID>' \
-d '{
"searchParam": {
    "skills":null,
    "location": {
        "lat": <latitude value>,
        "lon": <longitude value>
    }
}
}'

iii. Sample Response

{
    "payload": [
        {
            "firstName": "JohnA",
            "qualification": [
                {
                    "name": "802.11n Planning and Optimization"
                }
            ],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway Township",
                "latitude": 40.5487544,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnB",
            "qualification": [],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.5487544,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnC",
            "qualification": [
                {
                    "name": "CCNA"
                }
            ],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.5487544,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnD",
            "qualification": [
                {
                    "name": "Cisco Multiservice Switching Service"
                },
                {
                    "name": "Avaya Classic Mail"
                },
                {
                    "name": "Cisco Cable Communications Specialist"
                },
                {
                    "name": "Cisco Call Manager"
                },
                {
                    "name": "Cisco Call Manager Express"
                }
            ],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.54875440000001,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnE",
            "qualification": [
                {
                    "name": "802.11n Planning and Optimization"
                },
                {
                    "name": "123123"
                }
            ],
            "address": {
                "zip": "08840",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.54875440000001,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnF",
            "qualification": [],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.54875440000001,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnG",
            "qualification": [
                {
                    "name": "Cisco CCENT"
                },
                {
                    "name": "Cisco Certified Architect (CCAr)"
                },
                {
                    "name": "Cisco Business Application Engineer Specialist"
                },
                {
                    "name": "Cisco Access Routing and LAN Switching Specialist"
                }
            ],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.54875440000001,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnH",
            "qualification": [],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.54875440000001,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnI",
            "qualification": [
                {
                    "name": "Avaya Certified Implementation Specialist (ACIS) – Avaya Aura Contact Center"
                },
                {
                    "name": "Avaya Certified Implementation Specialist (ACIS) – Avaya Aura Communication Manager"
                },
                {
                    "name": "Avaya Certified Implementation Specialist (ACIS) – Avaya Aura Communication Manager and CM Messaging"
                },
                {
                    "name": "Avaya Certified Implementation Specialist (ACIS) – Avaya Aura Conferencing – Standard Edition"
                },
                {
                    "name": "Avaya Certified Implementation Specialist (ACIS) – Avaya Aura Contact Center CCT and Multimedia"
                }
            ],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.54875440000001,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        },
        {
            "firstName": "JohnJ",
            "qualification": [],
            "address": {
                "zip": "08854",
                "country": "US",
                "city": "Piscataway",
                "latitude": 40.54875440000001,
                "subDivision": "NJ",
                "longitude": -74.45521880000001
            },
            "isOffline": false,
            "id": "Pxxxxxxxxx"
        }
    ],
    "result": {
        "code": "200",
        "message": "success"
    }
}

iv. Request Payload Details

Element Name Data Type Description
skills string Skill name required for the job.
location object Unique Engineer record Id E.g: P955550920
Location object fields
Element Name Datatype Description
lat number Latitude of the job/site location E.g: 40.54875440000001
lon number Longitude of the job/site location E.g: -74.45521880000001

v. Response Status Codes

Status code Message Description
201 Created If engineer(s) are available in the location provided then this status code is recieved.