How to retrieve drivers
You can get all drivers and manage their profiles effortlessly. With the ability to update driver data, hourly rates, and additional expenses, managing driver information becomes seamless. All integrated with the trailers and vehicles in your fleet.
- NodeJS
const fetch = require("node-fetch")
fetch("https://backend.impargo.eu/", {
method: "POST",
headers: {
"Authorization": token,
"Content-Type": "application/json"
},
body: JSON.stringify({
query: `
query GetDrivers($query: DriversQuery, $paginate: Pagination, $sortBy: DriverSortby) {
getDrivers(paginate: $paginate, query: $query, sortBy: $sortBy) {
items {
...DriverListItemData
__typename
}
hasNext
__typename
}
}
fragment DriverAssignedOrdersFragment on AssignedOrders {
hasNext
items {
_id
order
orderDetails {
_id
reference
status
__typename
}
status
updatedAt
__typename
}
__typename
}
fragment PositionData on Position {
_id
timestamp
battery {
level
__typename
}
geoCoordinates {
coordinates
heading
speed
__typename
}
__typename
}
fragment DriverListItemData on Driver {
_id
telephone
company
firebaseUid
integration {
_id
type
__typename
}
displayName
trackingEnabled
status
activated
isActive
currentPosition {
...PositionData
__typename
}
assigned: orders(sortBy: {rank: 1}, query: {statusFilter: [ASSIGNED]}) {
...DriverAssignedOrdersFragment
__typename
}
delivered: orders(
paginate: {limit: 3}
sortBy: {rank: -1}
query: {statusFilter: [DELIVERED]}
) {
...DriverAssignedOrdersFragment
__typename
}
__typename
}
`
})
})
.then(response => response.json())
.then(data => {
const drivers = data.data.getDrivers;
console.log("Drivers:", drivers);
})
.catch(error => {
console.error('Error fetching GraphQL data:', error);
});
- Response
{
items: [
{
_id: '63d63e20ded6b16b9e01c298',
telephone: '+201233345078',
company: '61d43b3476206874c5e7f0b3',
firebaseUid: 'CrDvjloA9rQoOsivH8zuOan7pX12',
integration: null,
displayName: 'Alef',
trackingEnabled: false,
status: 'NO_ORDERS_ASSIGNED',
activated: true,
isActive: true,
currentPosition: [Object],
assigned: [Object],
delivered: [Object],
__typename: 'Driver'
},
{
_id: '63bc1f79407c4a17efc38ba3',
telephone: '+201234567078',
company: '61d43b3476206874c5e7f0b3',
firebaseUid: 'v2DfTx11UfQDFZwWudTF2DORSAv1',
integration: null,
displayName: 'Tamar',
trackingEnabled: true,
status: 'NO_ORDERS_ASSIGNED',
activated: true,
isActive: false,
currentPosition: [Object],
assigned: [Object],
delivered: [Object],
__typename: 'Driver'
}
],
hasNext: false,
__typename: 'Drivers'
}