Тема
Быстрый старт
За три запроса вы найдёте постомат, создадите заявку на получателя и получите код, по которому получатель заберёт посылку.
Что понадобится:
- токен компании (
YOUR_API_KEY) — см. Как получить доступ; - хост окружения. В примерах используется тестовое окружение
http://api.test.postomat.inlog.ai.
Только на сервере
Токен даёт полный доступ к заявкам вашей компании. Выполняйте запросы только с вашего сервера и не передавайте токен в браузер или мобильное приложение.
1. Найдите постомат
GET /postomat/list возвращает активные постоматы. Для постраничной выдачи передайте page и pageSize вместе.
bash
curl "http://api.test.postomat.inlog.ai/api/v1/integration/company/postomat/list?page=1&pageSize=10&withCity=true" \
-H "Authorization: Bearer YOUR_API_KEY"js
import { createPostomatClient } from '@inlog-sdk/postomat'
const client = createPostomatClient({
apiKey: 'YOUR_API_KEY', // храните токен в секретах сервера
baseURL: 'http://api.test.postomat.inlog.ai/api/v1/integration/company',
})
const postomats = await client.postomats.list({ page: 1, pageSize: 10, withCity: true })
console.log(postomats.total, postomats.data[0]?.id)java
import ai.inlog.sdk.postomat.PostomatClient;
import ai.inlog.sdk.postomat.SdkConfig;
import ai.inlog.sdk.postomat.model.GetPostomatListQuery;
import ai.inlog.sdk.postomat.model.PageResponse;
import com.fasterxml.jackson.databind.JsonNode;
PostomatClient client = PostomatClient.create(
SdkConfig.builder()
.apiKey(System.getenv("POSTOMAT_API_KEY")) // YOUR_API_KEY
.baseUrl("http://api.test.postomat.inlog.ai/api/v1/integration/company")
.build()
);
PageResponse<JsonNode> postomats = client.postomats().list(
GetPostomatListQuery.builder().page(1).pageSize(10).withCity(true).build()
);
String postomatId = postomats.getResults().get(0).get("id").asText();Ответ содержит общее количество total и массив data:
json
{
"total": 42,
"data": [
{
"id": "tz4a98xxat96iws9zmbrgj3a",
"title": "Постомат №1",
"address": "ул. Примерная, 1",
"lat": 42.87,
"lng": 74.59,
"cityId": "pfh0haxfpzowht3oi213cqos",
"city": { "id": "pfh0haxfpzowht3oi213cqos", "title": "Бишкек" }
}
]
}2. Создайте заявку
POST /order/create создаёт заявку на доставку в выбранный постомат. Обязательные поля — toUserPhone, postomatId и sendMessage.
bash
curl -X POST "http://api.test.postomat.inlog.ai/api/v1/integration/company/order/create" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"toUserPhone": "+996700000000",
"postomatId": "tz4a98xxat96iws9zmbrgj3a",
"sendMessage": true
}'js
const order = await client.orders.create({
toUserPhone: '+996700000000',
postomatId: 'tz4a98xxat96iws9zmbrgj3a',
sendMessage: true,
})
console.log(order.id)java
import ai.inlog.sdk.postomat.model.CreateOrderBody;
import ai.inlog.sdk.postomat.model.Order;
import com.fasterxml.jackson.annotation.JsonInclude;
// Не отправлять незаданные поля как null (см. «SDK Java → Известные ограничения»).
@JsonInclude(JsonInclude.Include.NON_NULL)
class NonNullCreateOrderBody extends CreateOrderBody {}
CreateOrderBody body = new NonNullCreateOrderBody();
body.setToUserPhone("+996700000000");
body.setPostomatId("tz4a98xxat96iws9zmbrgj3a");
body.setSendMessage(true);
Order order = client.orders().create(body);
System.out.println(order.getId());В ответе — созданная заявка. Сохраните её id:
json
{
"id": "gfb0sfr5ahkhu9dns4bja2ly",
"postomatId": "tz4a98xxat96iws9zmbrgj3a",
"companyId": "l1x5xgkd3wu1ooyqj2s0n6dk",
"days": 2,
"weight": 0,
"sendMessage": true,
"isActive": true,
"createdAt": "2026-09-29T08:00:00.000Z"
}3. Получите коды
Код закладки (down-code) нужен курьеру, чтобы заложить посылку в ячейку. Код получения (up-code) получатель вводит на постомате, чтобы забрать посылку.
bash
curl "http://api.test.postomat.inlog.ai/api/v1/integration/company/order/gfb0sfr5ahkhu9dns4bja2ly/down-code" \
-H "Authorization: Bearer YOUR_API_KEY"js
const downCode = await client.orders.getDownCode(order.id)
console.log(downCode.password)java
import ai.inlog.sdk.postomat.model.Code;
Code downCode = client.orders().getDownCode(order.getId());
System.out.println(downCode.getPassword());json
{
"id": "u2c6h8u7l0y8f2t3z6x1q9vw",
"type": "DOWN",
"password": "4821",
"orderId": "gfb0sfr5ahkhu9dns4bja2ly",
"createdAt": "2026-09-29T08:00:00.000Z",
"updatedAt": "2026-09-29T08:00:00.000Z"
}Что дальше
- Заявки — все поля создания, список и получение заявки.
- Статусы заявки — как меняется статус и как его отслеживать.
- Вебхуки — уведомления о смене статуса.
- Ошибки и ретраи — форма ошибок и рекомендации по повторам.