Rendez-vous
Remplacez votre jeton par l’espace réservé entre crochets dans la partie en-tête, et votre sous-domaine de localisation dans la partie URL comme indiqué ci-dessous.
Liste
Vous pouvez récupérer la liste des rendez-vous en utilisant l'appel API suivant :
curl -H "Authorization: Token [api_token]" https://[location_subdomain].datadocks.com/api/v1/appointments
Si votre jeton API est 12345
et votre sous-domaine de localisation est toronto-acme
, cela ressemblerait à :
curl -H "Authorization: Token 12345" https://toronto-acme.datadocks.com/api/v1/appointments
Vous pouvez passer les paramètres suivants pour filtrer la liste des rendez-vous retournés :
Pagination
Lors de la liste des rendez-vous, la réponse est paginée pour rendre les données plus gérables. Chaque page affichera 20 rendez-vous par défaut. Pour naviguer parmi les pages, vous devez ajouter le paramètre page
à la chaîne de requête dans votre appel API comme suit :
curl -H "Authorization: Token [api_token]" https://[location_subdomain].datadocks.com/api/v1/appointments?page=2
Remplacez [api_token]
par votre véritable jeton API et [location_subdomain]
par votre véritable sous-domaine de localisation. Pour accéder à une page différente, changez simplement le numéro dans le paramètre page
par le numéro de page que vous souhaitez visualiser.
Filtrage
po_number
- Type : String
- Description : Le numéro de bon de commande pour filtrer. C'est une correspondance exacte si fourni.
curl -H "Authorization: Token [api_token]" https://[location_subdomain].datadocks.com/api/v1/appointments?po_number=12345
from
- Type : Représentation sous forme de chaîne d'une date / heure.
- Description : Filtrer les résultats programmés à partir de la date / heure passée ou après. La date / heure passée sera localisée au fuseau horaire de l'emplacement.
curl -H "Authorization: Token [api_token]" https://[location_subdomain].datadocks.com/api/v1/appointments?from=2020-01-01%2012:00%20PM
to
- Type : Représentation sous forme de chaîne d'une date / heure.
- Description : Filtrer les résultats programmés avant la date / heure passée. La date / heure passée sera localisée au fuseau horaire de l'emplacement.
curl -H "Authorization: Token [api_token]" https://[location_subdomain].datadocks.com/api/v1/appointments?to=2020-01-02%2012:00%20PM
Combinaison des filtres
Vous pouvez combiner les paramètres en les séparant par un esperluette comme suit :
curl -H "Authorization: Token [api_token]" https://[location_subdomain].datadocks.com/api/v1/appointments?po_number=12345&from=2020-01-01%2012:00%20PM&to=2020-01-02%2012:00%20PM
Exemple de charge utile
[
{
"id": 1,
"appointment_number": 1,
"state": "left",
"duration": 120,
"shipping_number": "57886",
"trailer_number": "2222222",
"bol_number": "922",
"carrier_name": "FastCo",
"driver_name": "Jason Smith",
"created_by": "Sysadmin",
"outbound": false,
"drop_trailer": false,
"queued": false,
"dock_name": "Dock 2",
"yard_name": null,
"free_until": null,
"scheduled_at": "2020-09-30T06:00:00-04:00",
"approved_at": "2020-09-22T13:35:00-04:00",
"arrived_at": null,
"started_at": "2020-09-24T13:35:00-04:00",
"completed_at": "2020-09-24T13:35:00-04:00",
"left_at": "2020-09-25T13:35:00-04:00",
"cancelled_at": null,
"custom_values": {
"expected_at": "2020-10-01",
"travel_type": "Truck",
"forklift_operator": "Sue",
"inspection_passed": "1"
},
"packing_lists": [
{
"id": 4,
"po_number": "A-2000",
"customer_name": "FishCo",
"product_name": "Trout",
"unit_name": "Skid",
"booked_quantity": 10,
"booked_weight": 152,
"actual_quantity": 12,
"actual_weight": 160,
"custom_values": {
"barcode": "11223344",
"dimensions": "S",
"temperature_celcius": "-5"
}
}
],
"notes": [
{
"id": 3,
"body": "First note."
},
{
"id": 4,
"body": "Second note."
},
{
"id": 5,
"body": "Third note."
}
],
"documents": []
},
{
"id": 2,
"appointment_number": 2,
"state": "left",
"duration": 180,
"shipping_number": "18234",
"trailer_number": "432233222",
"bol_number": "37014",
"carrier_name": "FastCo",
"driver_name": "Brad Jones",
"created_by": "Sysadmin",
"outbound": true,
"drop_trailer": false,
"queued": false,
"dock_name": null,
"yard_name": "Yard A",
"free_until": null,
"scheduled_at": "2020-09-22T13:00:00-04:00",
"approved_at": "2020-09-22T13:35:00-04:00",
"arrived_at": null,
"started_at": "2020-09-24T13:35:00-04:00",
"completed_at": "2020-09-24T13:35:00-04:00",
"left_at": "2020-09-25T13:35:00-04:00",
"cancelled_at": null,
"custom_values": {
"expected_at": "2020-09-22",
"travel_type": "Ship",
"forklift_operator": "Mary"
},
"packing_lists": [
{
"id": 5,
"po_number": "A-4000",
"customer_name": "FishCo",
"product_name": "Trout",
"unit_name": "Skid",
"booked_quantity": 13,
"booked_weight": 298,
"actual_quantity": 12,
"actual_weight": 290,
"custom_values": {
"barcode": "33222311",
"dimensions": "M",
"temperature_celcius": "-4"
}
},
{
"id": 6,
"po_number": "B-4000",
"customer_name": "FishCo",
"product_name": "Trout",
"unit_name": "Skid",
"booked_quantity": 16,
"booked_weight": 111,
"actual_quantity": 17,
"actual_weight": 120,
"custom_values": {
"barcode": "23302911",
"dimensions": "L",
"temperature_celcius": "-2"
}
}
],
"notes": [
{
"id": 1,
"body": "This is a note."
},
{
"id": 2,
"body": "This is another note."
}
],
"documents": []
}
]
Champs
id
- Type : Integer
- Requis : Oui
- Description : Identifiant unique interne DataDocks.
- Valeurs possibles : Ne peut pas être défini en externe.
appointment_number
- Type : Integer
- Requis : Oui
- Description : Le numéro séquentiel attribué automatiquement au rendez-vous.
- Valeurs possibles : Ne peut pas être défini en externe.
state
- Type : String
- Requis : Oui
- Description : L'état / le statut des rendez-vous.
- Valeurs possibles :
needs_booking
pending
booked
arrived
started
completed
left
cancelled
duration
- Type : Integer
- Requis : Oui
- Description : La durée du rendez-vous en minutes.
- Valeurs possibles : Doit être supérieur à 0.
shipping_number
- Type : String
- Requis : Non
- Description : Le numéro d'expédition.
trailer_number
- Type : String
- Requis : Non
- Description : Le numéro de la remorque.
bol_number
- Type : String
- Requis : Non
- Description : Le numéro de BOL.
carrier_name
- Type : String
- Requis : Non
- Description : Le nom du transporteur auquel le rendez-vous est assigné.
carrier_email
- Type : String
- Requis : Non
- Description : L'email du transporteur auquel le rendez-vous est assigné si aucun transporteur n'a été trouvé / spécifié.
driver_name
- Type : String
- Requis : Non
- Description : Le nom du conducteur.
created_by
- Type : String
- Requis : Non
- Description : Le nom de l'utilisateur qui a créé le rendez-vous.
outbound
- Type : Boolean
- Requis : Oui
- Description : Vrai s'il s'agit d'un rendez-vous sortant, Faux s'il s'agit d'un rendez-vous entrant. La valeur par défaut est Faux.
drop_trailer
- Type : Boolean
- Requis : Oui
- Description : Indique s'il s'agit d'une remorque déposée. La valeur par défaut est Faux.
queued
- Type : Boolean
- Requis : Oui
- Description : Indique si cela a été mis en file d'attente pour une date spécifique, mais pas encore programmé. La valeur par défaut est Faux.
dock_name
- Type : String
- Requis : Non
- Description : Le nom du quai auquel le rendez-vous est assigné.
- Valeurs possibles : Un quai valide à l'emplacement du rendez-vous.
yard_name
- Type : String
- Requis : Non
- Description : Le nom de la cour auquel le rendez-vous est assigné.
- Valeurs possibles : Une cour valide à l'emplacement du rendez-vous.
free_until
- Type : DateTime
- Requis : Non
- Description : ?
scheduled_at
- Type : DateTime
- Requis : Non
- Description : Quand le rendez-vous est programmé.
approved_at
- Type : DateTime
- Requis : Non
- Description : Quand le rendez-vous a été approuvé.
arrived_at
- Type : DateTime
- Requis : Non
- Description : Quand le rendez-vous est arrivé.
started_at
- Type : DateTime
- Requis : Non
- Description : Quand le traitement du rendez-vous a commencé.
completed_at
- Type : DateTime
- Requis : Non
- Description : Quand le traitement du rendez-vous s’est terminé.
left_at
- Type : DateTime
- Requis : Non
- Description : Quand le rendez-vous a quitté la propriété.
cancelled_at
- Type : DateTime
- Requis : Non
- Description : Quand le rendez-vous a été annulé.
custom_values
- Type : Hash
- Requis : Non
- Description : Un hachage (objet) de paires clé / valeur des champs personnalisés qui ont été remplis pour le rendez-vous.
packing_lists
- Type : Array
- Requis : Non
- Description : Les listes d'emballage appartenant au rendez-vous.
packing_lists > id
- Type : Integer
- Requis : Oui
- Description : Identifiant unique interne DataDocks.
- Valeurs possibles : Ne peut pas être défini en externe.
packing_lists > po_number
- Type : String
- Requis : Non
- Description : Le numéro de bon de commande auquel la liste d'emballage est associée.
packing_lists > customer_name
- Type : String
- Requis : Non
- Description : Le nom du client auquel la liste d'emballage est associée.
packing_lists > product_name
- Type : String
- Requis : Non
- Description : Le nom du produit auquel la liste d'emballage est associée.
packing_lists > unit_name
- Type : String
- Requis : Non
- Description : Le nom de l'unité auquel la liste d'emballage est associée.
packing_lists > booked_quantity
- Type : Décimal
- Requis : Non
- Description : La quantité réservée.
packing_lists > booked_weight
- Type : Décimal
- Requis : Non
- Description : Le poids réservé.
packing_lists > actual_quantity
- Type : Décimal
- Requis : Non
- Description : La quantité réelle.
packing_lists > actual_weight
- Type : Décimal
- Requis : Non
- Description : Le poids réel.
packing_lists > custom_values
- Type : Hash
- Requis : Non
- Description : Un hachage (objet) de paires clé / valeur des champs personnalisés qui ont été remplis pour la liste d'emballage.
notes
- Type : Array
- Requis : Non
- Description : Les notes jointes au rendez-vous.
notes > id
- Type : Integer
- Requis : Oui
- Description : Identifiant unique interne DataDocks.
- Valeurs possibles : Ne peut pas être défini en externe.
notes > body
- Type : String
- Requis : Oui
- Description : Le contenu / corps de la note.
documents
- Type : Array
- Requis : Non
- Description : Les documents attachés au rendez-vous.
Création de rendez-vous
Vous pouvez créer un rendez-vous en utilisant l'appel API suivant et en fournissant les données de rendez-vous au format JSON.
curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "Authorization: Token [api_token]" \
-X POST \
-d '{"appointment": {"carrier_name": "My Shipping Co.", "shipping_number": "AA11223344"}}' \
https://[location_subdomain].datadocks.com/api/v1/appointments
Si votre jeton API est 12345
, et votre sous-domaine de localisation est toronto-acme
, cela ressemblerait à :
curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "Authorization: Token 12345" \
-X POST \
-d '{"appointment": {"carrier_name": "My Shipping Co.", "shipping_number": "AA11223344"}}' \
https://toronto-acme.datadocks.com/api/v1/appointments
Mise à jour des rendez-vous
Vous pouvez mettre à jour un rendez-vous en utilisant l'appel API suivant et en fournissant les données de rendez-vous au format JSON. Notez que l'URL nécessite l'identifiant du rendez-vous à la fin (l'identifiant du rendez-vous DataDocks).
curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "Authorization: Token [api_token]" \
-X PUT \
-d '{"appointment": {"shipping_number": "BB55667788"}}' \
https://[location_subdomain].datadocks.com/api/v1/appointments/[appointment_id]
Si votre jeton API est 12345
, votre sous-domaine de localisation est toronto-acme
, et l'identifiant du rendez-vous que vous souhaitez mettre à jour est 1
, cela ressemblerait à :
curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "Authorization: Token 12345" \
-X PUT \
-d '{"appointment": {"shipping_number": "BB55667788"}}' \
https://toronto-acme.datadocks.com/api/v1/appointments/1