{
"error": "error_brand_already_exists",
"localMessage": "Бренд Base уже существует",
"params": {
"name": "Base"
}
}Публичный API · Справочник API
Доставка
Тарифы и пункты доставки, создание заказов в службах доставки и получение накладных.
Методы для работы с интеграциями со службами доставки.
/api/delivery
Модель данных
Структуры данных
Поля объектов, которые используются в запросах и ответах этого раздела.
AdditionalDeliveryServiceDto3 полей
codestringПоле code.
namestringПоле name.
descriptionstringПоле description.
Address15 полей
idinteger · int32Поле id.
postCodestringПоле postCode.
countryCountryПоле country.
regionRegionПоле region.
regionIdinteger · int32Поле regionId.
streetstringПоле street.
housestringПоле house.
districtstringПоле district.
citystringПоле city.
localitystringПоле locality.
buildingstringПоле building.
flatstringПоле flat.
shortstringПоле short.
addressIdAddressПоле addressId.
fullstringПоле full.
Country6 полей
countryIdinteger · int32Идентификатор страны
namestringНазвание страны
code2stringДвухбуквенный код страны
code3stringТрехбуквенный код страны
namesobjectПоле names.
printNamestringПоле printName.
DeliveryTariff13 полей
deliverySumnumber · floatСтоимость доставки
periodMininteger · int32Минимальное время доставки (в рабочих днях)
periodMaxinteger · int32Максимальное время доставки (в рабочих днях)
calendarMininteger · int32Минимальное время доставки (в календарных днях)
calendarMaxinteger · int32Максимальное время доставки (в календарных днях)
tariffIdinteger · int32Уникальный идентификатор
shippingServicestringСервис доставки, которому принадлежит данный тариф
tariffCodeinteger · int32Код тарифа
externalTariffCodestringВнешний строковый идентификатор тарифа или предложения
tariffNamestringНазвание тарифа
tariffDescriptionstringОписание тарифа
deliveryModeinteger · int32Режим доставки
additionalServicesAdditionalDeliveryServiceDto[]Дополнительные услуги к тарифу
Organization38 полей
idinteger · int64Идентификатор организации. Проставляется автоматически
read-onlynamestringПолное наименование организации
ОбязательноshortNamestringПоле shortName.
taxTypestringСистема налогооблажения
taxRateinteger · int32Ставка налога, если она отличается от стандартной
taxNdsinteger · int32Ставка налога, если она отличается от стандартной
inputTaxNdsinteger · int32Ставка входящего НДС
outputTaxNdsinteger · int32Ставка исходящего НДС
enableNewTaxCalculationbooleanВключить расчет налогов по новым правилам
useNdsCostPricebooleanУчитывать входящий НДС в себестоимости
innstringИНН
ОбязательноkppstringКПП. Проставляется только для ООО
bankstringНазвание банка
bikstringБИК счета организации
corrBillstringНомер корреспондентского счета
billNumberstringНомер счета организации
stampPathstringСсылка на изображение печати организации
read-onlystampUrlstringСсылка на изображение печати организации
read-onlystampSizeinteger · int32Размер в байтах изображения печати организации
read-onlystampWidthinteger · int32Ширина изображения печати организации
read-onlystampHeightinteger · int32Высота изображения печати организации
read-onlystampFileNamestringИмя исходного файла печати
read-onlysignaturePathstringФото подписи директора организации
read-onlysignatureUrlstringФото подписи директора организации
read-onlysignatureFileNamestringИмя исходного файла подписи
read-onlyfulfillmentContractSignerNamestringФИО подписанта со стороны фулфилмента
fulfillmentContractSignerPositionstringДолжность подписанта со стороны фулфилмента
signatureSizeinteger · int32Размер файла в байтах подписи директора организации
read-onlysignatureWidthinteger · int32Ширина изображения подписи директора
read-onlysignatureHeightinteger · int32Высота изображения подписи директора
read-onlyipPersonPersonРуководитель организации или ИП
formstringОрганизационно правовая форма
ОбязательноipbooleanПоле ip.
clientIdinteger · int64Идентификатор клиента
read-onlyaddressAddressАдресс организации
phoneNumberstringНомер телефона
addressFullstringПолный адрес
read-onlysamplebooleanВ реквизитах остались тестовые данные
read-onlyPerson14 полей
personIdinteger · int64Поле personId.
read-onlyfirstNamestringИмя сотрудника
ОбязательноlastNamestringФамилия сотрудника
ОбязательноsurNamestringОтчество сотрудника
clientIdinteger · int64Идентификатор клиента
read-onlypositionPersonPositionДолжность сотрудника
ОбязательноversionIdinteger · int64Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
read-onlycreatedUserstringПроставляется автоматически. Пользователь создавший сотрудника
read-onlycreatedDatestring · date-timeПроставляется автоматически. Дата создания сотрудника
read-onlydeletedbooleanПризнак удаления сотрудника
read-onlyuserIdinteger · int32Связь сотрудника с пользователем
read-onlyhasChangesbooleanПоле hasChanges.
fullNamestringПолные ФИО
read-onlyshortNamestringФамилия и инициалы
read-onlyPersonPosition7 полей
idinteger · int64Идентификатор должности. Проставляется автоматически
read-onlynamestringНазвание должности
ОбязательноdeletedbooleanПризнак удаления должности
read-onlyclientIdinteger · int64Идентификатор клиента
read-onlydefaultJobIdinteger · int64Работа по умолчанию для должности
createdUserstringПользователь, который создал должность
read-onlycreatedDatestring · date-timeДата создания должности
read-onlyRegion4 полей
regionIdinteger · int32Поле regionId.
countryIdinteger · int32Поле countryId.
namestringПоле name.
regionSynonymsRegionSynonym[]Поле regionSynonyms.
RegionSynonym4 полей
idinteger · int64Поле id.
regionIdinteger · int64Поле regionId.
synonymstringПоле synonym.
servicestringПоле service.
WarehouseDelivery15 полей
warehouseDeliveryIdinteger · int64Поле warehouseDeliveryId.
pointstringПоле point.
servicestringПоле service.
warehouseIdinteger · int64Поле warehouseId.
organizationIdinteger · int64Поле organizationId.
tariffPrioritystringПоле tariffPriority.
prioritiesobjectПоле priorities.
priorityByModebooleanПоле priorityByMode.
additionalServicesstringПоле additionalServices.
sendZeroPricebooleanПоле sendZeroPrice.
fakeNamestringПоле fakeName.
hideOrganizationbooleanПоле hideOrganization.
sellerOrganizationIdinteger · int64Поле sellerOrganizationId.
organizationOrganizationПоле organization.
additionalServiceForTariffDeliveryTariffПоле additionalServiceForTariff.
FileExportColumn5 полей
idinteger · int64ID записи
fileExportIdinteger · int64ID конфигурации экспорта
columnNamestringНазвание столбца
columnOrderinteger · int32Порядок столбца в файле
isEnabledbooleanВключен ли столбец для экспорта
TmsTask25 полей
idinteger · int64Идентификатор задачи
read-onlystatusstringТекущий статус задачи
read-onlytypestringТип задачи
read-onlynamestringДанные задачи в json - могут быть пустыми
clientIdinteger · int64Поле clientId.
entityIdinteger · int64Сущность, к которой относится задача
progressinteger · int32Прогресс выполнения задачи в процентах
processedQuantityinteger · int32Количество обработанных записей задачи
organizationIdinteger · int64Организация задачи, может быть 0, если не зависит от организации
priorityinteger · int32Приоритет задачи - чем выше тем быстрее задача запустится
propertiesstringПараметры задачи
messagestringСообщение с результатом выполнения задачи
messageParamsstringПараметры сообщения с результатом выполнения задачи
createdDatestring · date-timeДата добавления задачи в очередь
startDatestring · date-timeДата запуска задачи
finishDatestring · date-timeДата завершения задачи
urlstringСсылка на скачивание файла с результатом задачи
inputFileUrlstringСсылка на загруженный файл
retryNumberinteger · int32Счётчик перезапуска задачи.
userIdinteger · int32Пользователь запустивший задачу
retryDatestring · date-timeЗапланированная дата перезапуска
debugbooleanЗапуск задачи в режиме отладки с большим логированием
forcedStartbooleanРучной запуск задачи
servicestringСервис в рамках которого выполняется задача
langstringЯзык на котором сейчас запущена таска
CalculatedDeliveryTariff11 полей
deliverySumnumber · floatСтоимость доставки
periodMininteger · int32Минимальное время доставки (в рабочих днях)
periodMaxinteger · int32Максимальное время доставки (в рабочих днях)
calendarMininteger · int32Минимальное время доставки (в календарных днях)
calendarMaxinteger · int32Максимальное время доставки (в календарных днях)
servicesobjectПоле services.
locationToCodestringПоле locationToCode.
locationFromCodestringПоле locationFromCode.
tariffCodeinteger · int32Поле tariffCode.
deliveryModeToOrderCreateinteger · int32Поле deliveryModeToOrderCreate.
deliveryModeListinteger[]Поле deliveryModeList.
DeliveryServiceData10 полей
idinteger · int64Поле id.
tokenExpiredDatestring · date-timeПоле tokenExpiredDate.
servicestringПоле service.
serviceClientIdstringПоле serviceClientId.
serviceSecretDeliveryServiceDataПоле serviceSecret.
clientIdinteger · int64Поле clientId.
organizationIdinteger · int64Поле organizationId.
updateTokenbooleanПоле updateToken.
hasSecretbooleanПоле hasSecret.
hasTokenbooleanПоле hasToken.
DeliveryRegion2 полей
namestringПоле name.
idstringПоле id.
DeliveryPoint11 полей
namestringПоле name.
locationDeliveryPointsLocationПоле location.
addressstringПоле address.
addressCommentstringПоле addressComment.
notestringПоле note.
sitestringПоле site.
zipCodestringПоле zipCode.
codestringПоле code.
emailstringПоле email.
workTimestringПоле workTime.
phonesPhone[]Поле phones.
DeliveryPointsLocation12 полей
addressstringСтрока адреса
codeinteger · int32Код населенного пункта СДЭК
postal_codestringПочтовый индекс
country_codestringКод страны в формате ISO_3166-1_alpha-2
citystringНазвание города
fias_guidstringУникальный идентификатор ФИАС населенного пункта
longitudenumber · floatДолгота центра населенного пункта
latitudenumber · floatШирота центра населенного пункта
regionstringНазвание региона населенного пункта
region_codeinteger · int32Код региона СДЭК
address_fullstringСтрока адреса
city_codestringКод населенного пункта СДЭК
Phone2 полей
numberstringНомер телефонаДолжен передаваться в международном формате: код страны (для России +7) и сам номер (10 и более цифр)
additionalstringДополнительная информация (добавочный номер)
DeliveryCity2 полей
namestringПоле name.
idstringПоле id.
AddressDto8 полей
addressstringАдрес найденного объекта
postalCodestringИндекс почтового отделения
regionstringОбласть/Край
localitystringНаселённый пункт
streetstringУлица
housestringОтдельный дом
longitudenumber · doubleДолгота
latitudenumber · doubleШирота
Ошибки
Обработка ошибок
При ошибке API возвращает её код в поле error и сообщение на языке пользователя в localMessage. Проверяйте код error в программе, а localMessage показывайте пользователю.
errorКод ошибки для обработки в программе.
localMessageСообщение на языке пользователя, которому принадлежит токен.
paramsЗначения, которые сервер подставил в сообщение об ошибке.
Язык localMessage определяется полем lang пользователя, которому принадлежит API-токен. Язык страницы документации и заголовок Accept-Language его не переключают; если язык пользователя не указан, используется русский.
{
"error": "error_brand_already_exists",
"localMessage": "Brand Base already exists",
"params": {
"name": "Base"
}
}Методы
Методы
Обновление статуса из сервиса доставки
/api/delivery/updateDeliveryOrderОбновление статуса из сервиса доставки.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
orderId |
integer · int64 | Да | Идентификатор заказа |
curl --request POST 'https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200Тело ответа пустое.
Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Сохранить пункт доставки со склада
/api/delivery/storeWarehouseDeliveryСохранить пункт доставки со склада.
Тело запроса
application/jsonПоля объектаWarehouseDelivery
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
warehouseDeliveryId |
integer · int64 | Нет | Поле warehouseDeliveryId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
point |
string | Нет | Поле point. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Поле service. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warehouseId |
integer · int64 | Нет | Поле warehouseId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organizationId |
integer · int64 | Нет | Поле organizationId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tariffPriority |
string | Нет | Поле tariffPriority. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorities |
object | Нет | Поле priorities. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityByMode |
boolean | Нет | Поле priorityByMode. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalServices |
string | Нет | Поле additionalServices. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sendZeroPrice |
boolean | Нет | Поле sendZeroPrice. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fakeName |
string | Нет | Поле fakeName. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrganization |
boolean | Нет | Поле hideOrganization. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sellerOrganizationId |
integer · int64 | Нет | Поле sellerOrganizationId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organization |
Organization | Нет | Поле organization. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор организации. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Полное наименование организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortName |
string | Нет | Поле shortName. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxType |
stringYSN, YSN_CONSUMPTION, AUSN, AUSN_CONSUMPTION, OSNO, SELF_EMPLOYED, YSN_GENERAL | Нет | Система налогооблажения | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxRate |
integer · int32 | Нет | Ставка налога, если она отличается от стандартной | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxNds |
integer · int32 | Нет | Ставка налога, если она отличается от стандартной | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputTaxNds |
integer · int32 | Нет | Ставка входящего НДС | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outputTaxNds |
integer · int32 | Нет | Ставка исходящего НДС | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNewTaxCalculation |
boolean | Нет | Включить расчет налогов по новым правилам | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useNdsCostPrice |
boolean | Нет | Учитывать входящий НДС в себестоимости | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inn |
string | Да | ИНН | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kpp |
string | Нет | КПП. Проставляется только для ООО | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bank |
string | Нет | Название банка | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bik |
string | Нет | БИК счета организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
corrBill |
string | Нет | Номер корреспондентского счета | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billNumber |
string | Нет | Номер счета организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampPath |
string | Нет | Ссылка на изображение печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampUrl |
string | Нет | Ссылка на изображение печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampSize |
integer · int32 | Нет | Размер в байтах изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampWidth |
integer · int32 | Нет | Ширина изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampHeight |
integer · int32 | Нет | Высота изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampFileName |
string | Нет | Имя исходного файла печати | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signaturePath |
string | Нет | Фото подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureUrl |
string | Нет | Фото подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureFileName |
string | Нет | Имя исходного файла подписи | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillmentContractSignerName |
string | Нет | ФИО подписанта со стороны фулфилмента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillmentContractSignerPosition |
string | Нет | Должность подписанта со стороны фулфилмента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureSize |
integer · int32 | Нет | Размер файла в байтах подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureWidth |
integer · int32 | Нет | Ширина изображения подписи директора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureHeight |
integer · int32 | Нет | Высота изображения подписи директора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipPerson |
Person | Нет | Руководитель организации или ИП | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
personId |
integer · int64 | Нет | Поле personId. |
firstName |
string | Да | Имя сотрудника |
lastName |
string | Да | Фамилия сотрудника |
surName |
string | Нет | Отчество сотрудника |
clientId |
integer · int64 | Нет | Идентификатор клиента |
position |
PersonPosition | Да | Должность сотрудника |
versionId |
integer · int64 | Нет | Поле нужно передавать при изменении,для предотвращения одновременной перезаписи |
createdUser |
string | Нет | Проставляется автоматически. Пользователь создавший сотрудника |
createdDate |
string · date-time | Нет | Проставляется автоматически. Дата создания сотрудника |
deleted |
boolean | Нет | Признак удаления сотрудника |
userId |
integer · int32 | Нет | Связь сотрудника с пользователем |
hasChanges |
boolean | Нет | Поле hasChanges. |
fullName |
string | Нет | Полные ФИО |
shortName |
string | Нет | Фамилия и инициалы |
formipclientIdaddress
Поля объекта
Address
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int32 | Нет | Поле id. |
postCode |
string | Нет | Поле postCode. |
country |
Country | Нет | Поле country. |
region |
Region | Нет | Поле region. |
regionId |
integer · int32 | Нет | Поле regionId. |
street |
string | Нет | Поле street. |
house |
string | Нет | Поле house. |
district |
string | Нет | Поле district. |
city |
string | Нет | Поле city. |
locality |
string | Нет | Поле locality. |
building |
string | Нет | Поле building. |
flat |
string | Нет | Поле flat. |
short |
string | Нет | Поле short. |
addressId |
Address | Нет | Поле addressId. |
full |
string | Нет | Поле full. |
phoneNumberaddressFullsampleadditionalServiceForTariff
Поля объекта
DeliveryTariff
| Поле | Тип | Обязательно | Описание | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | Нет | Стоимость доставки | ||||||||||||||||
periodMin |
integer · int32 | Нет | Минимальное время доставки (в рабочих днях) | ||||||||||||||||
periodMax |
integer · int32 | Нет | Максимальное время доставки (в рабочих днях) | ||||||||||||||||
calendarMin |
integer · int32 | Нет | Минимальное время доставки (в календарных днях) | ||||||||||||||||
calendarMax |
integer · int32 | Нет | Максимальное время доставки (в календарных днях) | ||||||||||||||||
tariffId |
integer · int32 | Нет | Уникальный идентификатор | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Сервис доставки, которому принадлежит данный тариф | ||||||||||||||||
tariffCode |
integer · int32 | Нет | Код тарифа | ||||||||||||||||
externalTariffCode |
string | Нет | Внешний строковый идентификатор тарифа или предложения | ||||||||||||||||
tariffName |
string | Нет | Название тарифа | ||||||||||||||||
tariffDescription |
string | Нет | Описание тарифа | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Нет | Режим доставки | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | Нет | Дополнительные услуги к тарифу | ||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
description |
string | Нет | Поле description. |
curl --request POST 'https://api.selsup.ru/api/delivery/storeWarehouseDelivery' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}'
const response = await fetch('https://api.selsup.ru/api/delivery/storeWarehouseDelivery', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/storeWarehouseDelivery', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/storeWarehouseDelivery',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'warehouseDeliveryId': 1001,
'point': 'string',
'service': 'CDEK',
'warehouseId': 1001,
'organizationId': 1001,
'tariffPriority': 'string'
},
)
response.raise_for_status()
result = response.json()
<?php
$payload = <<<'JSON'
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/storeWarehouseDelivery',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/storeWarehouseDelivery", strings.NewReader(`{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/storeWarehouseDelivery"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
WarehouseDelivery
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
warehouseDeliveryId |
integer · int64 | Нет | Поле warehouseDeliveryId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
point |
string | Нет | Поле point. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Поле service. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warehouseId |
integer · int64 | Нет | Поле warehouseId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organizationId |
integer · int64 | Нет | Поле organizationId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tariffPriority |
string | Нет | Поле tariffPriority. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorities |
object | Нет | Поле priorities. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityByMode |
boolean | Нет | Поле priorityByMode. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalServices |
string | Нет | Поле additionalServices. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sendZeroPrice |
boolean | Нет | Поле sendZeroPrice. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fakeName |
string | Нет | Поле fakeName. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrganization |
boolean | Нет | Поле hideOrganization. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sellerOrganizationId |
integer · int64 | Нет | Поле sellerOrganizationId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organization |
Organization | Нет | Поле organization. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор организации. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Полное наименование организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortName |
string | Нет | Поле shortName. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxType |
stringYSN, YSN_CONSUMPTION, AUSN, AUSN_CONSUMPTION, OSNO, SELF_EMPLOYED, YSN_GENERAL | Нет | Система налогооблажения | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxRate |
integer · int32 | Нет | Ставка налога, если она отличается от стандартной | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxNds |
integer · int32 | Нет | Ставка налога, если она отличается от стандартной | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputTaxNds |
integer · int32 | Нет | Ставка входящего НДС | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outputTaxNds |
integer · int32 | Нет | Ставка исходящего НДС | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNewTaxCalculation |
boolean | Нет | Включить расчет налогов по новым правилам | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useNdsCostPrice |
boolean | Нет | Учитывать входящий НДС в себестоимости | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inn |
string | Да | ИНН | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kpp |
string | Нет | КПП. Проставляется только для ООО | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bank |
string | Нет | Название банка | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bik |
string | Нет | БИК счета организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
corrBill |
string | Нет | Номер корреспондентского счета | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billNumber |
string | Нет | Номер счета организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampPath |
string | Нет | Ссылка на изображение печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampUrl |
string | Нет | Ссылка на изображение печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampSize |
integer · int32 | Нет | Размер в байтах изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampWidth |
integer · int32 | Нет | Ширина изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampHeight |
integer · int32 | Нет | Высота изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampFileName |
string | Нет | Имя исходного файла печати | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signaturePath |
string | Нет | Фото подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureUrl |
string | Нет | Фото подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureFileName |
string | Нет | Имя исходного файла подписи | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillmentContractSignerName |
string | Нет | ФИО подписанта со стороны фулфилмента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillmentContractSignerPosition |
string | Нет | Должность подписанта со стороны фулфилмента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureSize |
integer · int32 | Нет | Размер файла в байтах подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureWidth |
integer · int32 | Нет | Ширина изображения подписи директора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureHeight |
integer · int32 | Нет | Высота изображения подписи директора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipPerson |
Person | Нет | Руководитель организации или ИП | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
personId |
integer · int64 | Нет | Поле personId. |
firstName |
string | Да | Имя сотрудника |
lastName |
string | Да | Фамилия сотрудника |
surName |
string | Нет | Отчество сотрудника |
clientId |
integer · int64 | Нет | Идентификатор клиента |
position |
PersonPosition | Да | Должность сотрудника |
versionId |
integer · int64 | Нет | Поле нужно передавать при изменении,для предотвращения одновременной перезаписи |
createdUser |
string | Нет | Проставляется автоматически. Пользователь создавший сотрудника |
createdDate |
string · date-time | Нет | Проставляется автоматически. Дата создания сотрудника |
deleted |
boolean | Нет | Признак удаления сотрудника |
userId |
integer · int32 | Нет | Связь сотрудника с пользователем |
hasChanges |
boolean | Нет | Поле hasChanges. |
fullName |
string | Нет | Полные ФИО |
shortName |
string | Нет | Фамилия и инициалы |
formipclientIdaddress
Поля объекта
Address
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int32 | Нет | Поле id. |
postCode |
string | Нет | Поле postCode. |
country |
Country | Нет | Поле country. |
region |
Region | Нет | Поле region. |
regionId |
integer · int32 | Нет | Поле regionId. |
street |
string | Нет | Поле street. |
house |
string | Нет | Поле house. |
district |
string | Нет | Поле district. |
city |
string | Нет | Поле city. |
locality |
string | Нет | Поле locality. |
building |
string | Нет | Поле building. |
flat |
string | Нет | Поле flat. |
short |
string | Нет | Поле short. |
addressId |
Address | Нет | Поле addressId. |
full |
string | Нет | Поле full. |
phoneNumberaddressFullsampleadditionalServiceForTariff
Поля объекта
DeliveryTariff
| Поле | Тип | Обязательно | Описание | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | Нет | Стоимость доставки | ||||||||||||||||
periodMin |
integer · int32 | Нет | Минимальное время доставки (в рабочих днях) | ||||||||||||||||
periodMax |
integer · int32 | Нет | Максимальное время доставки (в рабочих днях) | ||||||||||||||||
calendarMin |
integer · int32 | Нет | Минимальное время доставки (в календарных днях) | ||||||||||||||||
calendarMax |
integer · int32 | Нет | Максимальное время доставки (в календарных днях) | ||||||||||||||||
tariffId |
integer · int32 | Нет | Уникальный идентификатор | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Сервис доставки, которому принадлежит данный тариф | ||||||||||||||||
tariffCode |
integer · int32 | Нет | Код тарифа | ||||||||||||||||
externalTariffCode |
string | Нет | Внешний строковый идентификатор тарифа или предложения | ||||||||||||||||
tariffName |
string | Нет | Название тарифа | ||||||||||||||||
tariffDescription |
string | Нет | Описание тарифа | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Нет | Режим доставки | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | Нет | Дополнительные услуги к тарифу | ||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
description |
string | Нет | Поле description. |
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}Ошибки12
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_duplicate_warehouse_delivery_for_warehouseПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_duplicate_warehouse_delivery_for_warehouse; localMessage содержит приведённый выше перевод.
error_empty_shipping_pointПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_empty_shipping_point; localMessage содержит приведённый выше перевод.
error_empty_shipping_serviceПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_empty_shipping_service; localMessage содержит приведённый выше перевод.
error_empty_tariff_priorityПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_empty_tariff_priority; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
error_no_warehouse_deliveryПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_warehouse_delivery; localMessage содержит приведённый выше перевод.
error_organization_not_foundПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_organization_not_found; localMessage содержит приведённый выше перевод.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
Удалить пункт доставки со склада
/api/delivery/removeWarehouseDeliveryУдалить пункт доставки со склада.
Тело запроса
application/jsonПоля объектаWarehouseDelivery
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
warehouseDeliveryId |
integer · int64 | Нет | Поле warehouseDeliveryId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
point |
string | Нет | Поле point. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Поле service. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warehouseId |
integer · int64 | Нет | Поле warehouseId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organizationId |
integer · int64 | Нет | Поле organizationId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tariffPriority |
string | Нет | Поле tariffPriority. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorities |
object | Нет | Поле priorities. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityByMode |
boolean | Нет | Поле priorityByMode. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalServices |
string | Нет | Поле additionalServices. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sendZeroPrice |
boolean | Нет | Поле sendZeroPrice. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fakeName |
string | Нет | Поле fakeName. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrganization |
boolean | Нет | Поле hideOrganization. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sellerOrganizationId |
integer · int64 | Нет | Поле sellerOrganizationId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organization |
Organization | Нет | Поле organization. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор организации. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Полное наименование организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortName |
string | Нет | Поле shortName. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxType |
stringYSN, YSN_CONSUMPTION, AUSN, AUSN_CONSUMPTION, OSNO, SELF_EMPLOYED, YSN_GENERAL | Нет | Система налогооблажения | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxRate |
integer · int32 | Нет | Ставка налога, если она отличается от стандартной | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxNds |
integer · int32 | Нет | Ставка налога, если она отличается от стандартной | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputTaxNds |
integer · int32 | Нет | Ставка входящего НДС | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outputTaxNds |
integer · int32 | Нет | Ставка исходящего НДС | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNewTaxCalculation |
boolean | Нет | Включить расчет налогов по новым правилам | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useNdsCostPrice |
boolean | Нет | Учитывать входящий НДС в себестоимости | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inn |
string | Да | ИНН | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kpp |
string | Нет | КПП. Проставляется только для ООО | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bank |
string | Нет | Название банка | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bik |
string | Нет | БИК счета организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
corrBill |
string | Нет | Номер корреспондентского счета | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billNumber |
string | Нет | Номер счета организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampPath |
string | Нет | Ссылка на изображение печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampUrl |
string | Нет | Ссылка на изображение печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampSize |
integer · int32 | Нет | Размер в байтах изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampWidth |
integer · int32 | Нет | Ширина изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampHeight |
integer · int32 | Нет | Высота изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampFileName |
string | Нет | Имя исходного файла печати | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signaturePath |
string | Нет | Фото подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureUrl |
string | Нет | Фото подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureFileName |
string | Нет | Имя исходного файла подписи | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillmentContractSignerName |
string | Нет | ФИО подписанта со стороны фулфилмента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillmentContractSignerPosition |
string | Нет | Должность подписанта со стороны фулфилмента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureSize |
integer · int32 | Нет | Размер файла в байтах подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureWidth |
integer · int32 | Нет | Ширина изображения подписи директора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureHeight |
integer · int32 | Нет | Высота изображения подписи директора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipPerson |
Person | Нет | Руководитель организации или ИП | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
personId |
integer · int64 | Нет | Поле personId. |
firstName |
string | Да | Имя сотрудника |
lastName |
string | Да | Фамилия сотрудника |
surName |
string | Нет | Отчество сотрудника |
clientId |
integer · int64 | Нет | Идентификатор клиента |
position |
PersonPosition | Да | Должность сотрудника |
versionId |
integer · int64 | Нет | Поле нужно передавать при изменении,для предотвращения одновременной перезаписи |
createdUser |
string | Нет | Проставляется автоматически. Пользователь создавший сотрудника |
createdDate |
string · date-time | Нет | Проставляется автоматически. Дата создания сотрудника |
deleted |
boolean | Нет | Признак удаления сотрудника |
userId |
integer · int32 | Нет | Связь сотрудника с пользователем |
hasChanges |
boolean | Нет | Поле hasChanges. |
fullName |
string | Нет | Полные ФИО |
shortName |
string | Нет | Фамилия и инициалы |
formipclientIdaddress
Поля объекта
Address
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int32 | Нет | Поле id. |
postCode |
string | Нет | Поле postCode. |
country |
Country | Нет | Поле country. |
region |
Region | Нет | Поле region. |
regionId |
integer · int32 | Нет | Поле regionId. |
street |
string | Нет | Поле street. |
house |
string | Нет | Поле house. |
district |
string | Нет | Поле district. |
city |
string | Нет | Поле city. |
locality |
string | Нет | Поле locality. |
building |
string | Нет | Поле building. |
flat |
string | Нет | Поле flat. |
short |
string | Нет | Поле short. |
addressId |
Address | Нет | Поле addressId. |
full |
string | Нет | Поле full. |
phoneNumberaddressFullsampleadditionalServiceForTariff
Поля объекта
DeliveryTariff
| Поле | Тип | Обязательно | Описание | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | Нет | Стоимость доставки | ||||||||||||||||
periodMin |
integer · int32 | Нет | Минимальное время доставки (в рабочих днях) | ||||||||||||||||
periodMax |
integer · int32 | Нет | Максимальное время доставки (в рабочих днях) | ||||||||||||||||
calendarMin |
integer · int32 | Нет | Минимальное время доставки (в календарных днях) | ||||||||||||||||
calendarMax |
integer · int32 | Нет | Максимальное время доставки (в календарных днях) | ||||||||||||||||
tariffId |
integer · int32 | Нет | Уникальный идентификатор | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Сервис доставки, которому принадлежит данный тариф | ||||||||||||||||
tariffCode |
integer · int32 | Нет | Код тарифа | ||||||||||||||||
externalTariffCode |
string | Нет | Внешний строковый идентификатор тарифа или предложения | ||||||||||||||||
tariffName |
string | Нет | Название тарифа | ||||||||||||||||
tariffDescription |
string | Нет | Описание тарифа | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Нет | Режим доставки | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | Нет | Дополнительные услуги к тарифу | ||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
description |
string | Нет | Поле description. |
curl --request POST 'https://api.selsup.ru/api/delivery/removeWarehouseDelivery' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}'
const response = await fetch('https://api.selsup.ru/api/delivery/removeWarehouseDelivery', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/delivery/removeWarehouseDelivery', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/removeWarehouseDelivery',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'warehouseDeliveryId': 1001,
'point': 'string',
'service': 'CDEK',
'warehouseId': 1001,
'organizationId': 1001,
'tariffPriority': 'string'
},
)
response.raise_for_status()
<?php
$payload = <<<'JSON'
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/removeWarehouseDelivery',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/removeWarehouseDelivery", strings.NewReader(`{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/removeWarehouseDelivery"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200Тело ответа пустое.
Ошибки7
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
error_organization_not_foundПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_organization_not_found; localMessage содержит приведённый выше перевод.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
Создание заказа в сервисе доставки
/api/delivery/order/{orderId}Позволяет создать заказ в службе доставки из заказа SelSup. При этом в заказе должен быть проставлен пункт доставки
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
orderId |
integer · int64 | Да | Идентификатор заказа |
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Сервис доставки |
Тело запроса
application/jsonПоля объектаDeliveryTariff
| Поле | Тип | Обязательно | Описание | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | Нет | Стоимость доставки | ||||||||||||||||
periodMin |
integer · int32 | Нет | Минимальное время доставки (в рабочих днях) | ||||||||||||||||
periodMax |
integer · int32 | Нет | Максимальное время доставки (в рабочих днях) | ||||||||||||||||
calendarMin |
integer · int32 | Нет | Минимальное время доставки (в календарных днях) | ||||||||||||||||
calendarMax |
integer · int32 | Нет | Максимальное время доставки (в календарных днях) | ||||||||||||||||
tariffId |
integer · int32 | Нет | Уникальный идентификатор | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Сервис доставки, которому принадлежит данный тариф | ||||||||||||||||
tariffCode |
integer · int32 | Нет | Код тарифа | ||||||||||||||||
externalTariffCode |
string | Нет | Внешний строковый идентификатор тарифа или предложения | ||||||||||||||||
tariffName |
string | Нет | Название тарифа | ||||||||||||||||
tariffDescription |
string | Нет | Описание тарифа | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Нет | Режим доставки | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | Нет | Дополнительные услуги к тарифу | ||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
description |
string | Нет | Поле description. |
curl --request POST 'https://api.selsup.ru/api/delivery/order/1001' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}'
const response = await fetch('https://api.selsup.ru/api/delivery/order/1001', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/delivery/order/1001', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/order/1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'deliverySum': 1,
'periodMin': 1,
'periodMax': 1,
'calendarMin': 1,
'calendarMax': 1,
'tariffId': 1001
},
)
response.raise_for_status()
<?php
$payload = <<<'JSON'
{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/order/1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/order/1001", strings.NewReader(`{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/order/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200Тело ответа пустое.
Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Список доступных тарифов для заказа
/api/delivery/getTariffsСписок доступных тарифов для заказа.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Сервис доставки |
orderId |
integer · int64 | Да | Идентификатор заказа |
curl --request POST 'https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&orderId=1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
DeliveryTariff[]
| Поле | Тип | Обязательно | Описание | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | Нет | Стоимость доставки | ||||||||||||||||
periodMin |
integer · int32 | Нет | Минимальное время доставки (в рабочих днях) | ||||||||||||||||
periodMax |
integer · int32 | Нет | Максимальное время доставки (в рабочих днях) | ||||||||||||||||
calendarMin |
integer · int32 | Нет | Минимальное время доставки (в календарных днях) | ||||||||||||||||
calendarMax |
integer · int32 | Нет | Максимальное время доставки (в календарных днях) | ||||||||||||||||
tariffId |
integer · int32 | Нет | Уникальный идентификатор | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Сервис доставки, которому принадлежит данный тариф | ||||||||||||||||
tariffCode |
integer · int32 | Нет | Код тарифа | ||||||||||||||||
externalTariffCode |
string | Нет | Внешний строковый идентификатор тарифа или предложения | ||||||||||||||||
tariffName |
string | Нет | Название тарифа | ||||||||||||||||
tariffDescription |
string | Нет | Описание тарифа | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Нет | Режим доставки | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | Нет | Дополнительные услуги к тарифу | ||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
description |
string | Нет | Поле description. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Скачивает PDF файл со всеми накладными службы доставки
/api/delivery/downloadDeliveryLabelsСкачивает PDF файл со всеми накладными службы доставки.
Параметры запроса
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
columns |
FileExportColumn[] | Нет | Настройки столбцов для экспорта отчета по заказам | ||||||||||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | ID записи |
fileExportId |
integer · int64 | Нет | ID конфигурации экспорта |
columnName |
string | Нет | Название столбца |
columnOrder |
integer · int32 | Нет | Порядок столбца в файле |
isEnabled |
boolean | Нет | Включен ли столбец для экспорта |
actualtypeotherShipmentsshipmentMethodshipmentPhaseserviceWarehouseIdexternalOrderIdinvoiceNumberarticlecontainsArticleproductbarcodeorganizationsqueryuserIdcloseUserIdserviceservicesstatusstatuseswithoutSupplyorderProductIdproductIdbrandIdsupplierIdhasCollectTaskorganizationIdclientOrganizationIdsfulfillmentClientIdupdateInServicehasServiceErrornoLabelisLegalnoMsOrdernoMsDemandidssupplyIdnotCollecteddbsexpressfbsnoWarehousecloseDatecheckedmodifiedDatemodifiedDateToincomeIdbindingOrderIdcloseDateFromcloseDateTodeliveryTransferDateFromdeliveryTransferDateToorderDatedeliveryDatedeliveryDateFromdeliveryDateTocreatedDateFromcreatedDateToforMoySkladwithMoySkladOrderwarehouseIdcategoryIdwarehouseIdsstockWarehouseIddateFromdateTotimeZonemarkingStatusdeletedcollectLabelsortOrdersByDatesortBySkunotGroupByOrganizationnotGroupByServicetargetCountproductLabelproductCodeLabelservicesForLabelinfoLabelgroupedreplaceSetByComponentreplaceSetsByComponentsIncomecollectDeliveryLabelshippingServicesForLabelorderIdhasVideoFixationwithProductspassageIdswithContractorboxIdsortTypehasMarkedProductshasMissingMarkingCodeswithAnalyticslimitpagecountsortByascendingcurl --request POST 'https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
TmsTask
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор задачи |
status |
stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION | Нет | Текущий статус задачи |
type |
stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT, EXPORT_PURCHASE_PLAN_FILE_TASK, RETAIL_ORDER_PRODUCTS_FILE_TASK, FULFILLMENT_BILLING_REGISTRY_FILE_TASK, SUPPLY_PLANNING_REPORT_FILE_TASK, REBUILD_TAX_BASE_HOURLY_AGGREGATE_TASK, PACK_ORDERS_TASK, IMPORT_ORDER_MARKING_CODES_TASK, PRODUCTION_ANALYTICS_FILE_TASK, CARD_REQUIREMENT_AI_TASK, CARD_REQUIREMENT_SCAN_TASK, SUPPLY_LABELS_FILE_TASK, TRANSFER_PRODUCTS_BETWEEN_SERVICES_TASK, RETIRE_SOLD_OUT_CARDS_TASK, WILDBERRIES_CARDS_JOIN_TASK | Нет | Тип задачи |
name |
string | Нет | Данные задачи в json - могут быть пустыми |
clientId |
integer · int64 | Нет | Поле clientId. |
entityId |
integer · int64 | Нет | Сущность, к которой относится задача |
progress |
integer · int32 | Нет | Прогресс выполнения задачи в процентах |
processedQuantity |
integer · int32 | Нет | Количество обработанных записей задачи |
organizationId |
integer · int64 | Нет | Организация задачи, может быть 0, если не зависит от организации |
priority |
integer · int32 | Нет | Приоритет задачи - чем выше тем быстрее задача запустится |
properties |
string | Нет | Параметры задачи |
message |
string | Нет | Сообщение с результатом выполнения задачи |
messageParams |
string | Нет | Параметры сообщения с результатом выполнения задачи |
createdDate |
string · date-time | Нет | Дата добавления задачи в очередь |
startDate |
string · date-time | Нет | Дата запуска задачи |
finishDate |
string · date-time | Нет | Дата завершения задачи |
url |
string | Нет | Ссылка на скачивание файла с результатом задачи |
inputFileUrl |
string | Нет | Ссылка на загруженный файл |
retryNumber |
integer · int32 | Нет | Счётчик перезапуска задачи. |
userId |
integer · int32 | Нет | Пользователь запустивший задачу |
retryDate |
string · date-time | Нет | Запланированная дата перезапуска |
debug |
boolean | Нет | Запуск задачи в режиме отладки с большим логированием |
forcedStart |
boolean | Нет | Ручной запуск задачи |
service |
stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN | Нет | Сервис в рамках которого выполняется задача |
lang |
string | Нет | Язык на котором сейчас запущена таска |
{
"id": 1001,
"status": "CREATED",
"type": "WILDBERRIES_CREATE_CARD",
"name": "Example",
"clientId": 1001,
"entityId": 1001
}Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Отмена заказа в сервисе доставки
/api/delivery/cancelDeliveryOrderОтмена заказа в сервисе доставки.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
orderId |
integer · int64 | Да | Идентификатор заказа |
curl --request POST 'https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200Тело ответа пустое.
Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Расчет стоимости конкретного тарифа для указанных данных заказа с дополнительными услугами
/api/delivery/calculateTariffРасчет стоимости конкретного тарифа для указанных данных заказа с дополнительными услугами.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
tariffCode |
integer · int32 | Да | Код тарифа для доставки |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Сервис доставки |
orderId |
integer · int64 | Да | Идентификатор заказа |
curl --request POST 'https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&orderId=1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
CalculatedDeliveryTariff
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
deliverySum |
number · float | Нет | Стоимость доставки |
periodMin |
integer · int32 | Нет | Минимальное время доставки (в рабочих днях) |
periodMax |
integer · int32 | Нет | Максимальное время доставки (в рабочих днях) |
calendarMin |
integer · int32 | Нет | Минимальное время доставки (в календарных днях) |
calendarMax |
integer · int32 | Нет | Максимальное время доставки (в календарных днях) |
services |
object | Нет | Поле services. |
locationToCode |
string | Нет | Поле locationToCode. |
locationFromCode |
string | Нет | Поле locationFromCode. |
tariffCode |
integer · int32 | Нет | Поле tariffCode. |
deliveryModeToOrderCreate |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Нет | Поле deliveryModeToOrderCreate. |
deliveryModeList |
integer[] | Нет | Поле deliveryModeList. |
{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"services": "string"
}Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Добавить интеграцию с сервисом доставки
/api/delivery/addDeliveryServiceIntegrationПозволяет добавить новую интеграцию с сервисом доставки
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Сервис доставки |
serviceClientId |
string | Да | Клиентский идентификатор |
serviceSecret |
string | Нет | Пароль/секрет |
token |
string | Нет | Токен авторизации |
organizationId |
integer · int64 | Да | Организация |
curl --request POST 'https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200Тело ответа пустое.
Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Получить интеграцию с сервисом доставки
/api/delivery/integration/{organizationId}/{service}Получить интеграцию с сервисом доставки.
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Сервис доставки |
organizationId |
integer · int64 | Да | Организация |
curl --request GET 'https://api.selsup.ru/api/delivery/integration/1001/CDEK' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/integration/1001/CDEK', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/integration/1001/CDEK', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/delivery/integration/1001/CDEK',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/integration/1001/CDEK',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/delivery/integration/1001/CDEK", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/integration/1001/CDEK"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
DeliveryServiceData
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
tokenExpiredDate |
string · date-time | Нет | Поле tokenExpiredDate. |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Поле service. |
serviceClientId |
string | Нет | Поле serviceClientId. |
serviceSecret |
DeliveryServiceData | Нет | Поле serviceSecret. |
clientId |
integer · int64 | Нет | Поле clientId. |
organizationId |
integer · int64 | Нет | Поле organizationId. |
updateToken |
boolean | Нет | Поле updateToken. |
hasSecret |
boolean | Нет | Поле hasSecret. |
hasToken |
boolean | Нет | Поле hasToken. |
{
"id": 1001,
"tokenExpiredDate": "2026-01-15T12:00:00Z",
"service": "CDEK",
"serviceClientId": "string",
"serviceSecret": "string",
"clientId": 1001
}Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Выбрать пункты доставки со складов
/api/delivery/getWarehouseDeliveryВыбрать пункты доставки со складов.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
organizationId |
integer · int64 | Да | Поле organizationId. |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Поле service. |
curl --request GET 'https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
WarehouseDelivery[]
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
warehouseDeliveryId |
integer · int64 | Нет | Поле warehouseDeliveryId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
point |
string | Нет | Поле point. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Поле service. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warehouseId |
integer · int64 | Нет | Поле warehouseId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organizationId |
integer · int64 | Нет | Поле organizationId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tariffPriority |
string | Нет | Поле tariffPriority. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorities |
object | Нет | Поле priorities. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityByMode |
boolean | Нет | Поле priorityByMode. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalServices |
string | Нет | Поле additionalServices. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sendZeroPrice |
boolean | Нет | Поле sendZeroPrice. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fakeName |
string | Нет | Поле fakeName. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrganization |
boolean | Нет | Поле hideOrganization. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sellerOrganizationId |
integer · int64 | Нет | Поле sellerOrganizationId. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organization |
Organization | Нет | Поле organization. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор организации. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Полное наименование организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortName |
string | Нет | Поле shortName. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxType |
stringYSN, YSN_CONSUMPTION, AUSN, AUSN_CONSUMPTION, OSNO, SELF_EMPLOYED, YSN_GENERAL | Нет | Система налогооблажения | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxRate |
integer · int32 | Нет | Ставка налога, если она отличается от стандартной | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxNds |
integer · int32 | Нет | Ставка налога, если она отличается от стандартной | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputTaxNds |
integer · int32 | Нет | Ставка входящего НДС | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outputTaxNds |
integer · int32 | Нет | Ставка исходящего НДС | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNewTaxCalculation |
boolean | Нет | Включить расчет налогов по новым правилам | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useNdsCostPrice |
boolean | Нет | Учитывать входящий НДС в себестоимости | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inn |
string | Да | ИНН | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kpp |
string | Нет | КПП. Проставляется только для ООО | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bank |
string | Нет | Название банка | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bik |
string | Нет | БИК счета организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
corrBill |
string | Нет | Номер корреспондентского счета | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billNumber |
string | Нет | Номер счета организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampPath |
string | Нет | Ссылка на изображение печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampUrl |
string | Нет | Ссылка на изображение печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampSize |
integer · int32 | Нет | Размер в байтах изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampWidth |
integer · int32 | Нет | Ширина изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampHeight |
integer · int32 | Нет | Высота изображения печати организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampFileName |
string | Нет | Имя исходного файла печати | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signaturePath |
string | Нет | Фото подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureUrl |
string | Нет | Фото подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureFileName |
string | Нет | Имя исходного файла подписи | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillmentContractSignerName |
string | Нет | ФИО подписанта со стороны фулфилмента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillmentContractSignerPosition |
string | Нет | Должность подписанта со стороны фулфилмента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureSize |
integer · int32 | Нет | Размер файла в байтах подписи директора организации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureWidth |
integer · int32 | Нет | Ширина изображения подписи директора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureHeight |
integer · int32 | Нет | Высота изображения подписи директора | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipPerson |
Person | Нет | Руководитель организации или ИП | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
personId |
integer · int64 | Нет | Поле personId. |
firstName |
string | Да | Имя сотрудника |
lastName |
string | Да | Фамилия сотрудника |
surName |
string | Нет | Отчество сотрудника |
clientId |
integer · int64 | Нет | Идентификатор клиента |
position |
PersonPosition | Да | Должность сотрудника |
versionId |
integer · int64 | Нет | Поле нужно передавать при изменении,для предотвращения одновременной перезаписи |
createdUser |
string | Нет | Проставляется автоматически. Пользователь создавший сотрудника |
createdDate |
string · date-time | Нет | Проставляется автоматически. Дата создания сотрудника |
deleted |
boolean | Нет | Признак удаления сотрудника |
userId |
integer · int32 | Нет | Связь сотрудника с пользователем |
hasChanges |
boolean | Нет | Поле hasChanges. |
fullName |
string | Нет | Полные ФИО |
shortName |
string | Нет | Фамилия и инициалы |
formipclientIdaddress
Поля объекта
Address
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int32 | Нет | Поле id. |
postCode |
string | Нет | Поле postCode. |
country |
Country | Нет | Поле country. |
region |
Region | Нет | Поле region. |
regionId |
integer · int32 | Нет | Поле regionId. |
street |
string | Нет | Поле street. |
house |
string | Нет | Поле house. |
district |
string | Нет | Поле district. |
city |
string | Нет | Поле city. |
locality |
string | Нет | Поле locality. |
building |
string | Нет | Поле building. |
flat |
string | Нет | Поле flat. |
short |
string | Нет | Поле short. |
addressId |
Address | Нет | Поле addressId. |
full |
string | Нет | Поле full. |
phoneNumberaddressFullsampleadditionalServiceForTariff
Поля объекта
DeliveryTariff
| Поле | Тип | Обязательно | Описание | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | Нет | Стоимость доставки | ||||||||||||||||
periodMin |
integer · int32 | Нет | Минимальное время доставки (в рабочих днях) | ||||||||||||||||
periodMax |
integer · int32 | Нет | Максимальное время доставки (в рабочих днях) | ||||||||||||||||
calendarMin |
integer · int32 | Нет | Минимальное время доставки (в календарных днях) | ||||||||||||||||
calendarMax |
integer · int32 | Нет | Максимальное время доставки (в календарных днях) | ||||||||||||||||
tariffId |
integer · int32 | Нет | Уникальный идентификатор | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Сервис доставки, которому принадлежит данный тариф | ||||||||||||||||
tariffCode |
integer · int32 | Нет | Код тарифа | ||||||||||||||||
externalTariffCode |
string | Нет | Внешний строковый идентификатор тарифа или предложения | ||||||||||||||||
tariffName |
string | Нет | Название тарифа | ||||||||||||||||
tariffDescription |
string | Нет | Описание тарифа | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Нет | Режим доставки | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | Нет | Дополнительные услуги к тарифу | ||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
description |
string | Нет | Поле description. |
[
"string"
]Ошибки8
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
error_no_warehouse_deliveryПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_warehouse_delivery; localMessage содержит приведённый выше перевод.
error_organization_not_foundПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_organization_not_found; localMessage содержит приведённый выше перевод.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
Выбрать регионы доставки
/api/delivery/getRegionsВыбрать регионы доставки.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поисковый запрос для фильтрации регионов |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Поле service. |
organizationId |
integer · int64 | Да | Поле organizationId. |
curl --request GET 'https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&organizationId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&organizationId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&organizationId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&organizationId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&organizationId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&organizationId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
DeliveryRegion[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
name |
string | Нет | Поле name. |
id |
string | Нет | Поле id. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Выбрать пункты доставки
/api/delivery/getPointsПозволяет получить пункты доставки для заказа по фильтру. Выбранный пункт необходимо после сохранить в заказ
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
postCode |
string | Нет | Поле postCode. |
country |
string | Нет | Поле country. |
region |
string | Нет | Поле region. |
city |
string | Нет | Поле city. |
query |
string | Нет | Поле query. |
forSupply |
boolean | Нет | Поле forSupply. |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Поле service. |
organizationId |
integer · int64 | Да | Поле organizationId. |
curl --request GET 'https://api.selsup.ru/api/delivery/getPoints?service=CDEK&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getPoints?service=CDEK&organizationId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/getPoints?service=CDEK&organizationId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/delivery/getPoints?service=CDEK&organizationId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/getPoints?service=CDEK&organizationId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/delivery/getPoints?service=CDEK&organizationId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/getPoints?service=CDEK&organizationId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
DeliveryPoint[]
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name |
string | Нет | Поле name. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
location |
DeliveryPointsLocation | Нет | Поле location. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
address |
string | Нет | Строка адреса |
code |
integer · int32 | Нет | Код населенного пункта СДЭК |
postal_code |
string | Нет | Почтовый индекс |
country_code |
string | Нет | Код страны в формате ISO_3166-1_alpha-2 |
city |
string | Нет | Название города |
fias_guid |
string | Нет | Уникальный идентификатор ФИАС населенного пункта |
longitude |
number · float | Нет | Долгота центра населенного пункта |
latitude |
number · float | Нет | Широта центра населенного пункта |
region |
string | Нет | Название региона населенного пункта |
region_code |
integer · int32 | Нет | Код региона СДЭК |
address_full |
string | Нет | Строка адреса |
city_code |
string | Нет | Код населенного пункта СДЭК |
addressaddressCommentnotesitezipCodecodeemailworkTimephones
Структура элемента массива
Phone
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
number |
string | Нет | Номер телефонаДолжен передаваться в международном формате: код страны (для России +7) и сам номер (10 и более цифр) |
additional |
string | Нет | Дополнительная информация (добавочный номер) |
[
"string"
]Ошибки10
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_empty_delivery_serviceПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_empty_delivery_service; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
error_no_delivery_integrationПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_delivery_integration; localMessage содержит приведённый выше перевод.
error_organization_not_foundПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_organization_not_found; localMessage содержит приведённый выше перевод.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
error_unsupported_delivery_serviceПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_unsupported_delivery_service; localMessage содержит приведённый выше перевод.
Получить все возможные тарифы для выбранного сервиса доставки
/api/delivery/getDeliveryTariffsПолучить все возможные тарифы для выбранного сервиса доставки.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Поле service. |
query |
string | Да | Поле query. |
curl --request GET 'https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=string' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=string', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=string', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=string',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=string',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=string", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=string"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
DeliveryTariff[]
| Поле | Тип | Обязательно | Описание | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | Нет | Стоимость доставки | ||||||||||||||||
periodMin |
integer · int32 | Нет | Минимальное время доставки (в рабочих днях) | ||||||||||||||||
periodMax |
integer · int32 | Нет | Максимальное время доставки (в рабочих днях) | ||||||||||||||||
calendarMin |
integer · int32 | Нет | Минимальное время доставки (в календарных днях) | ||||||||||||||||
calendarMax |
integer · int32 | Нет | Максимальное время доставки (в календарных днях) | ||||||||||||||||
tariffId |
integer · int32 | Нет | Уникальный идентификатор | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Нет | Сервис доставки, которому принадлежит данный тариф | ||||||||||||||||
tariffCode |
integer · int32 | Нет | Код тарифа | ||||||||||||||||
externalTariffCode |
string | Нет | Внешний строковый идентификатор тарифа или предложения | ||||||||||||||||
tariffName |
string | Нет | Название тарифа | ||||||||||||||||
tariffDescription |
string | Нет | Описание тарифа | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Нет | Режим доставки | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | Нет | Дополнительные услуги к тарифу | ||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
description |
string | Нет | Поле description. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Выбрать город доставки
/api/delivery/getCitiesМетод используется для саджеста списка городов, для выбранной службы доставки. Можно пофильтровать города по региону
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поисковый запрос для фильтрации городов |
region |
string | Да | Фильтр по региону - передается код региона из саджеста для выбранной службы доставки |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Служба доставки |
organizationId |
integer · int64 | Да | Организация |
curl --request GET 'https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&organizationId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&organizationId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&organizationId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&organizationId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&organizationId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&organizationId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
DeliveryCity[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
name |
string | Нет | Поле name. |
id |
string | Нет | Поле id. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Выбрать адрес получателя
/api/delivery/getAddressПозволяет найти адрес получателя для заказа по фильтру. Выбранный пункт необходимо после сохранить в заказ
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
postCode |
string | Нет | Поле postCode. |
country |
string | Нет | Поле country. |
region |
string | Нет | Поле region. |
city |
string | Нет | Поле city. |
query |
string | Нет | Поле query. |
forSupply |
boolean | Нет | Поле forSupply. |
curl --request GET 'https://api.selsup.ru/api/delivery/getAddress' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getAddress', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/getAddress', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/delivery/getAddress',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/getAddress',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/delivery/getAddress", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/getAddress"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
AddressDto[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
address |
string | Нет | Адрес найденного объекта |
postalCode |
string | Нет | Индекс почтового отделения |
region |
string | Нет | Область/Край |
locality |
string | Нет | Населённый пункт |
street |
string | Нет | Улица |
house |
string | Нет | Отдельный дом |
longitude |
number · double | Нет | Долгота |
latitude |
number · double | Нет | Широта |
[
"string"
]Ошибки4
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_get_addressПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_get_address; localMessage содержит приведённый выше перевод.
Дополнительные услуги сервиса доставки
/api/delivery/fetchDeliveryServiceAdditionalServicesДополнительные услуги сервиса доставки.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Сервис доставки |
tariffCode |
integer · int32 | Нет | Код тарифа |
curl --request GET 'https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
AdditionalDeliveryServiceDto[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
description |
string | Нет | Поле description. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Удалить интеграцию с сервисом доставки
/api/delivery/{service}/{organizationId}Позволяет удалить интеграцию с сервисом доставки
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | Да | Сервис доставки |
organizationId |
integer · int64 | Да | Организация |
curl --request DELETE 'https://api.selsup.ru/api/delivery/CDEK/1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/CDEK/1001', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/delivery/CDEK/1001', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.delete(
'https://api.selsup.ru/api/delivery/CDEK/1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/CDEK/1001',
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("DELETE", "https://api.selsup.ru/api/delivery/CDEK/1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/delivery/CDEK/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("DELETE", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200Тело ответа пустое.
Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.