Frequently asked questions
Creating an order
What are external_order_id, claim_id, and idempotency_key?
The external_order_id parameter is a unique order ID in the partner's system. Each new order must have its own external_order_id parameter that is different from previous orders. The value of the external_order_id parameter can include letters, digits, and other characters. To ensure that values are unique, we recommend using the uuid format and its derivatives.
The claim_id parameter is an order ID in the Yandex Autonomous Robots service. It is generated automatically in uuid format and is returned when creating an order.
The idempotency_key parameter is an idempotency attribute passed as a request parameter. idempotency_key is used to execute the same request multiple times, ensuring that the action occurs only once. For example, if you send a request to open a robot lid twice with the same idempotency_key, it will open only once.
Do I need to pass the order dimensions and weight?
No, you don't need to pass the order dimensions and weight in the API request. However, you have to consider the robot's restrictions:
- order weight less than 20 kg;
- order size less than 420×490×297 mm.
How do I pass point coordinates?
You must pass coordinates (the route_points[].address.coordinates[] field) in the following order: [longitude, latitude].
What is the correct way to specify IDs of points and their visit order?
The route_points[].point_id field specifies a unique ID of the point on the route. It can be an arbitrary integer.
The route_points[].visit_order field specifies a sequential number of the route point. The order pickup point must be numbered 1. The next point (order delivery point) must be numbered 2, and so on.
If you assume that the recipient may refuse and return the order, please indicate the order return point (if it is not the same as the order pickup point).
How do I find out the estimated time of arrival (ETA) of the order?
The performer_info.claim.eta field returns ETA when the order is created. While the order is being fulfilled, the time is recalculated based on the current traffic conditions and the robot's location. To find out the estimated time of arrival, use the Order information request.
Can I change a previously created order?
Evaluating an order
How long does it take to evaluate an order?
It takes about 1 second to evaluate an order.
You can find out the order status using the Order information method.
Confirming an order
How do I confirm a created order?
Orders are automatically confirmed by the service immediately after their evaluation. You don't have to send additional requests to confirm orders.
How is a robot assigned to my order?
A robot is automatically selected by the service based on the current location and status.
If you want, you can manually select and assign a robot to fulfill your order. To do this, you first need to find available robots, then select the one you need, and enter its VIN when creating an order.
Tracking an order
How can I get information about order status changes?
You can get information about the current order status using the Order information or Events journal method.
A request for order information also returns the estimated time of arrival (performer_info.claim.eta), and it's recalculated with each request execution based on the current traffic conditions (traffic jams and so on).
How do I find out if the estimated time of order arrival has changed?
Each time you request order information, the estimated time of arrival (eta) is recalculated based on the current traffic conditions (traffic jams and so on), as well as the robot's location and status.
How can I get information about the location of the robot that is delivering my order?
Information about the robot is returned in the courier section of the response body when you request order information. The response body also contains the robot's VIN (vin).
You can use a VIN to view all robot events.
Canceling and returning an order
How do I cancel an order?
You can cancel the order until the customer confirms that they received the cargo.
If the cargo isn't yet in the robot, the order status immediately changes to cancelled.
If the cargo is already in the robot, but delivery hasn't been confirmed, order cancellation triggers cargo return to the loading point.
How can the recipient return an order?
The customer can only return the order immediately after receiving it, while the robot is still at the delivery point. To return the order, use the order cancellation method: it will trigger cargo return to the loading point.
If an order is canceled by the service due to a robot malfunction, what happens to the order?
If a robot malfunction occurs and the order can't be delivered, the order is automatically canceled. The order information request returns a cancelled status in the response.
After that, you need to contact support and discuss possible solutions to the issue.
If you didn't find the answer you were looking for, you can use the feedback form to submit your question. Please describe the problem in as much detail as possible. Attach a screenshot if possible.