Planifier les envois
Tous les envois doivent être planifiés à l'avance en créant un ordre d'envoi entrant ou sortant. Dans le cas contraire, l'envoi risque d'être rejeté. Seul un utilisateur du portail client Equinix disposant d'une autorisation de commande d'envois peut programmer ces envois. Les types d'envois actuellement pris en charge par les API du portail client d'Equinix sont indiqués ici.
Conditions préalables
-
Pour obtenir les détails de l'expédition, l'utilisateur doit avoir les permissions de commande
Shipments. -
Authentifier - Soumettez vos informations d'identification de l'utilisateur, l'ID du client et le secret du client pour l'authentification OAuth2. Reportez-vous à API Authentication pour savoir comment appeler l'API OAuth afin de valider et d'authentifier vos informations d'identification.
-
Pour planifier un envoi, vous devez déterminer l'identifiant exact de la cage et le numéro de compte de l'envoi. Ces valeurs seront transmises aux paramètres
cageIdetaccountNumberdans le corps de la requête. -
Obtenir des informations sur la localisation - Envoyez une requête
GETau point de terminaison/v1/orders/smarthands/locationspour récupérer les localisations IBX disponibles auxquelles vous avez accès. Vous pouvez sauter cette étape si vous connaissez déjà les informations de localisation.
Programmation d'un envoi entrant

Pour planifier une expédition entrante, envoyez une requête POST au point de terminaison /colocations/v2/orders/shipments. Utilisez le paramètre "type" : "INBOUND" pour spécifier qu'il s'agit d'un envoi entrant, et fournissez le reste des détails de l'envoi dans le corps de la demande. Pour une demande d'envoi entrant, il suffit d'indiquer le type d'envoi, la date d'envoi, la cage associée, le transporteur et le nombre de boîtes. Les autres informations nécessaires que vous devez transmettre dans le corps de la demande d'envoi entrant dépendent des éléments suivants :
- Si votre envoi entrant provient d'une cage liée à plusieurs comptes.
- Si le transporteur qui livre l'envoi appartient à votre organisation, il s'agit d'un transporteur répertorié ou d'un transporteur non répertorié. Si votre transporteur n'est pas DHL, FedEx, UPS, votre transporteur est non listé.
Exemple de requête cURL :
Un envoi entrant d'une cage associée à un compte unique qui sera livré par votre organisation.
Dans ce scénario, votre envoi entrant est livré à votre cage liée à un seul compte par une personne de votre organisation. Les informations minimales requises pour ce scénario sont transmises dans cet exemple de demande.
curl -X
POST "https://api.equinix.com/colocations/v2/orders/shipments"
-H "content-type: application/json"
-H "authorization: Bearer <token>"
-d '{
"type": "INBOUND",
"requestedDateTime": "2020-11-02T10:45:41Z",
"cageId": "AM1:01:000111",
"details": {
"carrier": "CUSTOMER_CARRIER",
"numberOfBoxes": 2
}
}'
Exemple de requête cURL :
Envoi entrant d'une cage associée à plusieurs comptes qui sera livré par un transporteur non répertorié. Des demandes, des informations, des coordonnées et des pièces jointes supplémentaires de Smart Hands sont également incluses.
Avant de créer une commande avec une pièce jointe, appelez le Fichier de pièces jointes.
Dans ce scénario, vous avez fourni les informations minimales requises pour faciliter un envoi entrant, et vous avez inclus des paramètres corporels supplémentaires qui prennent en charge les éléments suivants :
- demande supplémentaire de Smart Hands pour livrer l'envoi à votre cage
- description supplémentaire
- pièces jointes à l'appui
- votre propre identifiant de référence
- informations sur le bon de commande
- coordonnées des personnes chargées de la notification ou des contacts techniques
Tous les paramètres corporels disponibles et applicables sont transmis dans cet exemple de demande.
curl -X
POST "https://api.equinix.com/colocations/v2/orders/shipments"
-H "content-type: application/json"
-H "authorization: Bearer <token>"
-d '{
"type": "INBOUND",
"requestedDateTime": "2020-11-02T10:45:41Z",
"cageId": "AM1:01:000111",
"accountNumber": 901011,
"details": {
"carrier": "OTHER",
"carrierName": "New Carrier",
"numberOfBoxes": 2,
"carrierTrackingNumbers": [
"t1Z294AK92654678989",
"t1Z086DK96424456780"
],
"cageDelivery": true
},
"description": "Package is fragile and heavy. Handle with care. Additional description in attachment.",
"attachments": [
{
"id": "85d9660a-f877-405a-b38e-8e61a4f77f44",
"name": "OrderInstructions.docx"
}
],
"customerReferenceId": "2020/16347",
"purchaseOrder": {
"type": "NEW",
"number": "9654284",
"amount": "10000",
"startDate": "2020-10-01",
"endDate": "2021-09-30",
"attachmentId": "56d10de6-f2c0-4edd-ba29-b70736aa2093"
},
"contacts": [
{
"type": "NOTIFICATION",
"registeredUsers": [
"john_doe1",
"jane_smith1"
]
},
{
"type": "TECHNICAL",
"firstName": "John",
"lastName": "Doe",
"availability": "WORK_HOURS",
"timezone": "America/Los_Angeles",
"details": [
{
"type": "EMAIL",
"value": "johndoe@acme.com""
},
{
"type": "PHONE",
"value": "+1-987654321"
},
{
"type": "MOBILE",
"value": "+1-912345678"
}
]
}
]
}'
La commande est créée avec succès lorsqu'un code HTTP de 201 est renvoyé et que l'en-tête de réponse est renvoyé. Il n'y a pas de corps de réponse.
Si vous souhaitez mettre à jour cette commande, consultez /v2/orders/shipments/{orderId} dans la section API Reference pour plus d'informations.
Si vous souhaitez ajouter des notes à cette commande, récupérer des négociations pour cette commande et y répondre, ou annuler cette commande, consultez Orders dans la section API Reference pour plus d'informations.
Planifier un envoi sortant

Pour planifier une expédition sortante, envoyez une requête POST au point de terminaison /colocations/v2/orders/shipments. Utilisez le paramètre "type" : "OUTBOUND" pour spécifier qu'il s'agit d'un envoi sortant, et fournissez le reste des détails de l'envoi dans le corps de la demande. Pour une demande d'envoi sortant, il suffit d'indiquer le type d'envoi, la date d'envoi, la cage associée et le transporteur. Les autres informations nécessaires que vous devez transmettre dans le corps de la demande de transport sortant dépendent des éléments suivants :
- Si votre envoi provient d'une cage liée à plusieurs comptes.
- Si le transporteur qui livre l'envoi appartient à votre organisation, il s'agit d'un transporteur répertorié ou d'un transporteur non répertorié. Si votre transporteur n'est pas DHL, FedEx, UPS, votre transporteur est non listé.
- Si vous souhaitez qu'une étiquette d'expédition soit imprimée par Equinix.
Exemple de requête cURL :
Un envoi sortant d'une cage associée à un compte unique qui sera livré par une personne de votre organisation.
Dans ce scénario, votre envoi sortant est livré à votre cage liée à un seul compte par une personne de votre organisation. Les informations minimales requises pour ce scénario sont transmises dans cet exemple de demande.
curl -X
POST "https://api.equinix.com/colocations/v2/orders/shipments"
-H "content-type: application/json"
-H "authorization: Bearer <token>"
-d '{
"type": "OUTBOUND",
"requestedDateTime": "2020-11-02T10:45:41Z",
"cageId": "AM1:01:000111",
"details": {
"carrier": "CUSTOMER_CARRIER"
]
}
}'
Exemple de requête cURL :
Envoi sortant d'une cage associée à plusieurs comptes, qui sera livré par un transporteur non répertorié et qui nécessite l'impression de l'étiquette d'expédition par Equinix. Les détails de l'étiquette d'expédition sont fournis en pièce jointe. D'autres demandes, informations, coordonnées et pièces jointes de Smart Hands sont également incluses.
Avant de créer une commande avec une pièce jointe, appelez le Fichier de pièces jointes.
Dans ce scénario, vous avez fourni les informations minimales requises pour faciliter une demande de transport sortant, et vous avez inclus des paramètres supplémentaires dans le corps du message qui permettent de répondre aux questions suivantes :
- la valeur déclarée de l'envoi dans une devise autre que le dollar américain
- demandes supplémentaires de Smart Hands pour récupérer votre envoi dans votre cage ou pour l'assurer
- description supplémentaire
- pièces jointes à l'appui
- votre propre identifiant de référence
- informations sur le bon de commande
- coordonnées des personnes chargées de la notification ou des contacts techniques
Tous les paramètres corporels disponibles et applicables sont transmis dans cet exemple de demande.
curl -X
POST "https://api.equinix.com/colocations/v2/orders/shipments"
-H "content-type: application/json"
-H "authorization: Bearer <token>"
-d '{
"type": "OUTBOUND",
"requestedDateTime": "2020-11-02T10:45:41Z",
"cageId": "AM1:01:000111",
"accountNumber": 901011,
"details": {
"carrier": "OTHER",
"carrierName": "New Carrier",
"numberOfBoxes": 2,
"declaredValue": 1000,
"declaredValueCurrency": "EUR",
"carrierTrackingNumbers": [
"t1Z294AK92654678989",
"t1Z086DK96424456780"
],
"shipmentLabelRequired": true,
"shipmentAttachmentId": "f49891fc-d9a5-4b4b-bc65-150b1c5e6dff",
"requirePickup": true,
"insureShipment": true
},
"description": "Package is fragile and heavy. Handle with care. Additional description in attachment.",
"attachments": [
{
"id": "85d9660a-f877-405a-b38e-8e61a4f77f44",
"name": "OrderInstructions.docx"
}
],
"customerReferenceId": "2020/16347",
"purchaseOrder": {
"type": "NEW",
"number": "9654284",
"amount": "10000",
"startDate": "2020-10-01",
"endDate": "2021-09-30",
"attachmentId": "56d10de6-f2c0-4edd-ba29-b70736aa2093"
},
"contacts": [
{
"type": "NOTIFICATION",
"registeredUsers": [
"john_doe1",
"jane_smith1"
]
},
{
"type": "TECHNICAL",
"firstName": "John",
"lastName": "Doe",
"availability": "WORK_HOURS",
"timezone": "America/Los_Angeles",
"details": [
{
"type": "EMAIL",
"value": "johndoe@acme.com"
},
{
"type": "PHONE",
"value": "+1-987654321"
},
{
"type": "MOBILE",
"value": "+1-912345678"
}
]
}
]
}'
La commande est créée avec succès lorsqu'un code HTTP de 201 est renvoyé et que l'en-tête de réponse est renvoyé. Il n'y a pas de corps de réponse.
Si vous souhaitez mettre à jour cette commande, consultez /v2/orders/shipments/{orderId} dans la section API Reference pour plus d'informations.
Si vous souhaitez ajouter des notes à cette commande, récupérer des négociations pour cette commande et y répondre, ou annuler cette commande, consultez Orders dans la section API Reference pour plus d'informations.