Контрагенты

Методы для работы с контрагентами товаров

Базовый URL: https://api.selsup.ru

🔗 Контрагент по идентификатору

Возвращает данные контрагента по идентификатору
GET /api/contractor/{contractorId}

Параметры пути PATH

Название Тип Обязательный Описание
contractorId integer Да Идентификатор контрагента

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer Идентификатор контрагента. Проставляется автоматически
name string Наименование контрагента
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
clientId integer Идентификатор клиента
createdUser string Логин пользователя, который создал контрагента
lastIncomeDate string Дата последнего поступления для этого контрагента для сортировки
deleted boolean Признак удаления контрагента
organizationId integer Организация для реквизитов контрагента
phoneNumber string Номер телефона
email string Адрес электронной почты
contactName string Имя контакта
moySkladId string Идентификатор в сервисе МойСклад
url string Ссылка на сайт
organization Organization Данные об организации
Структура Organization
Поле Тип Описание
id integer Идентификатор организации. Проставляется автоматически
name string Полное наименование организации
shortName string
taxType string Система налогооблажения
taxRate integer Ставка налога, если она отличается от стандартной
taxNds integer Ставка налога, если она отличается от стандартной
enableNewTaxCalculation boolean Включить расчет налогов по новым правилам
inn string ИНН
kpp string КПП. Проставляется только для ООО
bank string Название банка
bik string БИК счета организации
corrBill string Номер корреспондентского счета
billNumber string Номер счета организации
stampPath string Ссылка на изображение печати организации
stampUrl string Ссылка на изображение печати организации
stampSize integer Размер в байтах изображения печати организации
stampWidth integer Ширина изображения печати организации
stampHeight integer Высота изображения печати организации
signaturePath string Фото подписи директора организации
signatureUrl string Фото подписи директора организации
signatureSize integer Размер файла в байтах подписи директора организации
signatureWidth integer Ширина изображения подписи директора
signatureHeight integer Высота изображения подписи директора
ipPerson Person Сотрудник
Структура Person
Поле Тип Описание
personId integer
firstName string Имя сотрудника
lastName string Фамилия сотрудника
surName string Отчество сотрудника
clientId integer Идентификатор клиента
position PersonPosition Должность
Структура PersonPosition
Поле Тип Описание
id integer Идентификатор должности. Проставляется автоматически
name string Название должности
deleted boolean Признак удаления должности
clientId integer Идентификатор клиента
defaultJobId integer Работа по умолчанию для должности
createdUser string Пользователь, который создал должность
createdDate string Дата создания должности
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
createdUser string Проставляется автоматически. Пользователь создавший сотрудника
createdDate string Проставляется автоматически. Дата создания сотрудника
deleted boolean Признак удаления сотрудника
userId integer Связь сотрудника с пользователем
hasChanges boolean
fullName string Полные ФИО
shortName string Фамилия и инициалы
form string Форма собственности организации
ip boolean
clientId integer Идентификатор клиента
address Address Адресс организации
Структура Address
Поле Тип Описание
id integer
postCode string
country Country Страна
Структура Country
Поле Тип Описание
countryId integer Идентификатор страны
name string Название страны
code2 string Двухбуквенный код страны
code3 string Трехбуквенный код страны
printName string
region Region
Структура Region
Поле Тип Описание
id integer
countryId integer
name string
regionId Region
regionId integer
street string
house string
district string
city string
locality string
building string
flat string
short string
full string
addressId Address Адресс организации
Структура Address
Поле Тип Описание
id integer
postCode string
country object Страна
region object
regionId integer
street string
house string
district string
city string
locality string
building string
flat string
short string
full string
addressId object Адресс организации
phoneNumber string Номер телефона
addressFull string Полный адрес
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.get('https://api.selsup.ru/api/contractor/${contractorId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.get<any>('https://api.selsup.ru/api/contractor/${contractorId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.get(
    'https://api.selsup.ru/api/contractor/${contractorId}',
    headers=headers
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/contractor/${contractorId}", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/${contractorId}"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/${contractorId}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/contractor/{contractorId}' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Изменить контрагента

Изменяет данные о контрагенте
PUT /api/contractor/{contractorId}

Параметры пути PATH

Название Тип Обязательный Описание
contractorId integer Да Идентификатор поставщика

Тело запроса *Обязательно

Content-Type: application/json
ПолеТипОписание
id integer Идентификатор контрагента. Проставляется автоматически
name Обязательный string Наименование контрагента
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
organizationId integer Организация для реквизитов контрагента
phoneNumber string Номер телефона
email string Адрес электронной почты
contactName string Имя контакта
moySkladId string Идентификатор в сервисе МойСклад
url string Ссылка на сайт

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer Идентификатор контрагента. Проставляется автоматически
name string Наименование контрагента
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
clientId integer Идентификатор клиента
createdUser string Логин пользователя, который создал контрагента
lastIncomeDate string Дата последнего поступления для этого контрагента для сортировки
deleted boolean Признак удаления контрагента
organizationId integer Организация для реквизитов контрагента
phoneNumber string Номер телефона
email string Адрес электронной почты
contactName string Имя контакта
moySkladId string Идентификатор в сервисе МойСклад
url string Ссылка на сайт
organization Organization Данные об организации
Структура Organization
Поле Тип Описание
id integer Идентификатор организации. Проставляется автоматически
name string Полное наименование организации
shortName string
taxType string Система налогооблажения
taxRate integer Ставка налога, если она отличается от стандартной
taxNds integer Ставка налога, если она отличается от стандартной
enableNewTaxCalculation boolean Включить расчет налогов по новым правилам
inn string ИНН
kpp string КПП. Проставляется только для ООО
bank string Название банка
bik string БИК счета организации
corrBill string Номер корреспондентского счета
billNumber string Номер счета организации
stampPath string Ссылка на изображение печати организации
stampUrl string Ссылка на изображение печати организации
stampSize integer Размер в байтах изображения печати организации
stampWidth integer Ширина изображения печати организации
stampHeight integer Высота изображения печати организации
signaturePath string Фото подписи директора организации
signatureUrl string Фото подписи директора организации
signatureSize integer Размер файла в байтах подписи директора организации
signatureWidth integer Ширина изображения подписи директора
signatureHeight integer Высота изображения подписи директора
ipPerson Person Сотрудник
Структура Person
Поле Тип Описание
personId integer
firstName string Имя сотрудника
lastName string Фамилия сотрудника
surName string Отчество сотрудника
clientId integer Идентификатор клиента
position PersonPosition Должность
Структура PersonPosition
Поле Тип Описание
id integer Идентификатор должности. Проставляется автоматически
name string Название должности
deleted boolean Признак удаления должности
clientId integer Идентификатор клиента
defaultJobId integer Работа по умолчанию для должности
createdUser string Пользователь, который создал должность
createdDate string Дата создания должности
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
createdUser string Проставляется автоматически. Пользователь создавший сотрудника
createdDate string Проставляется автоматически. Дата создания сотрудника
deleted boolean Признак удаления сотрудника
userId integer Связь сотрудника с пользователем
hasChanges boolean
fullName string Полные ФИО
shortName string Фамилия и инициалы
form string Форма собственности организации
ip boolean
clientId integer Идентификатор клиента
address Address Адресс организации
Структура Address
Поле Тип Описание
id integer
postCode string
country Country Страна
Структура Country
Поле Тип Описание
countryId integer Идентификатор страны
name string Название страны
code2 string Двухбуквенный код страны
code3 string Трехбуквенный код страны
printName string
region Region
Структура Region
Поле Тип Описание
id integer
countryId integer
name string
regionId Region
regionId integer
street string
house string
district string
city string
locality string
building string
flat string
short string
full string
addressId Address Адресс организации
Структура Address
Поле Тип Описание
id integer
postCode string
country object Страна
region object
regionId integer
street string
house string
district string
city string
locality string
building string
flat string
short string
full string
addressId object Адресс организации
phoneNumber string Номер телефона
addressFull string Полный адрес
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.put('https://api.selsup.ru/api/contractor/${contractorId}',
  {
    "id": "Иванович",
    "name": "Иван",
    "versionId": 123,
    "clientId": 123,
    "createdUser": "Пример createdUser",
    "lastIncomeDate": "2024-01-15T10:30:00Z",
    "deleted": false,
    "organizationId": "АО \"Торговый дом\"",
    "phoneNumber": "+7 (999) 123-45-67",
    "email": "ivan.petrov@example.com"
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.put<any>('https://api.selsup.ru/api/contractor/${contractorId}',
  {
    "id": "Иванович",
    "name": "Иван",
    "versionId": 123,
    "clientId": 123,
    "createdUser": "Пример createdUser",
    "lastIncomeDate": "2024-01-15T10:30:00Z",
    "deleted": false,
    "organizationId": "АО \"Торговый дом\"",
    "phoneNumber": "+7 (999) 123-45-67",
    "email": "ivan.petrov@example.com"
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.put(
    'https://api.selsup.ru/api/contractor/${contractorId}',
    headers=headers,
    json={
    'id': 'Иванович',
    'name': 'Иван',
    'versionId': 123,
    'clientId': 123,
    'createdUser': 'Пример createdUser',
    'lastIncomeDate': '2024-01-15T10:30:00Z',
    'deleted': false,
    'organizationId': 'АО \'Торговый дом\'',
    'phoneNumber': '+7 (999) 123-45-67',
    'email': 'ivan.petrov@example.com'
}
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    payload := map[string]interface{}{
        `id`: `Иванович`,
        `name`: `Иван`,
        `versionId`: 123,
        `clientId`: 123,
        `createdUser`: `Пример createdUser`,
        `lastIncomeDate`: `2024-01-15T10:30:00Z`,
        `deleted`: false,
        `organizationId`: `АО \`Торговый дом\``,
        `phoneNumber`: `+7 (999) 123-45-67`,
        `email`: `ivan.petrov@example.com`
}
    jsonData, _ := json.Marshal(payload)

    req, _ := http.NewRequest("put", "https://api.selsup.ru/api/contractor/${contractorId}", bytes.NewBuffer(jsonData))
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/${contractorId}"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .put(HttpRequest.BodyPublishers.ofString(
        "{\"id\":\"Иванович\",\"name\":\"Иван\",\"versionId\":123,\"clientId\":123,\"createdUser\":\"Пример createdUser\",\"lastIncomeDate\":\"2024-01-15T10:30:00Z\",\"deleted\":false,\"organizationId\":\"АО \\"Торговый дом\\"\",\"phoneNumber\":\"+7 (999) 123-45-67\",\"email\":\"ivan.petrov@example.com\"}"
    ))
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/${contractorId}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'put',
    CURLOPT_POSTFIELDS => json_encode({
    'id': 'Иванович',
    'name': 'Иван',
    'versionId': 123,
    'clientId': 123,
    'createdUser': 'Пример createdUser',
    'lastIncomeDate': '2024-01-15T10:30:00Z',
    'deleted': false,
    'organizationId': 'АО \'Торговый дом\'',
    'phoneNumber': '+7 (999) 123-45-67',
    'email': 'ivan.petrov@example.com'
}),
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X put \
  'https://api.selsup.ru/api/contractor/{contractorId}' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "Иванович",
  "name": "Иван",
  "versionId": 123,
  "clientId": 123,
  "createdUser": "Пример createdUser",
  "lastIncomeDate": "2024-01-15T10:30:00Z",
  "deleted": false,
  "organizationId": "АО \"Торговый дом\"",
  "phoneNumber": "+7 (999) 123-45-67",
  "email": "ivan.petrov@example.com"
}'

🔗 Удалить контрагента

Удаляет контрагента полностью
DELETE /api/contractor/{contractorId}

Параметры пути PATH

Название Тип Обязательный Описание
contractorId integer Да Идентификатор контрагента

Тело ответа

✓ 200 OK
Тип: string
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.delete('https://api.selsup.ru/api/contractor/${contractorId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.delete<any>('https://api.selsup.ru/api/contractor/${contractorId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.delete(
    'https://api.selsup.ru/api/contractor/${contractorId}',
    headers=headers
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("delete", "https://api.selsup.ru/api/contractor/${contractorId}", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/${contractorId}"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .delete(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/${contractorId}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'delete',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X delete \
  'https://api.selsup.ru/api/contractor/{contractorId}' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Добавление поставщика к товару

Добавляет связь поставщика с карточкой товара, когда данный поставщик поставляетуказанную модель
POST /api/contractor/{contractorId}/model/{modelId}

Параметры пути PATH

Название Тип Обязательный Описание
contractorId integer Да Параметр contractorId
modelId integer Да Параметр modelId

Тело ответа

✓ 200 OK
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.post('https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.post<any>('https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.post(
    'https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}',
    headers=headers
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/contractor/{contractorId}/model/{modelId}' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Удаление поставщика для товара

Удаляет связь поставщика с карточкой товара, когда больше данный поставщикне поставляет товар
DELETE /api/contractor/{contractorId}/model/{modelId}

Параметры пути PATH

Название Тип Обязательный Описание
contractorId integer Да Параметр contractorId
modelId integer Да Параметр modelId

Тело ответа

✓ 200 OK
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.delete('https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.delete<any>('https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.delete(
    'https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}',
    headers=headers
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("delete", "https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .delete(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/${contractorId}/model/${modelId}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'delete',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X delete \
  'https://api.selsup.ru/api/contractor/{contractorId}/model/{modelId}' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Импорт поставщиков файлом

Запускает задачу по импорту поставщиков для товаров из файла
POST /api/contractor/products/import

Тело запроса

Content-Type: multipart/form-data
ПолеТипОписание
file Обязательный byte[] Excel файл

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer Идентификатор задачи
status string Текущий статус задачи
type string Тип задачи
name string Данные задачи в json - могут быть пустыми
clientId integer
entityId integer Сущность, к которой относится задача
progress integer Прогресс выполнения задачи в процентах
processedQuantity integer Количество обработанных записей задачи
organizationId integer Организация задачи, может быть 0, если не зависит от организации
priority integer Приоритет задачи - чем выше тем быстрее задача запустится
properties string Параметры задачи
message string Сообщение с результатом выполнения задачи
messageParams string Параметры сообщения с результатом выполнения задачи
createdDate string Дата добавления задачи в очередь
startDate string Дата запуска задачи
finishDate string Дата завершения задачи
url string Ссылка на скачивание файла с результатом задачи
inputFileUrl string Ссылка на загруженный файл
retryNumber integer Счётчик перезапуска задачи.
userId integer Пользователь запустивший задачу
retryDate string Запланированная дата перезапуска
debug boolean Запуск задачи в режиме отладки с большим логированием
forcedStart boolean Ручной запуск задачи
service string Сервис
lang string Язык на котором сейчас запущена таска
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const formData = new FormData();
formData.append('file', fileInput.files[0]); // File input element

fetch('https://api.selsup.ru/api/contractor/products/import', {
  method: 'post',
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
  body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const formData = new FormData();
const fileInput = document.getElementById('file-input') as HTMLInputElement;
if (fileInput.files?.[0]) {
  formData.append('file', fileInput.files[0]);
}

interface ResponseData {
  // Define your response type here
}

const response = await fetch('https://api.selsup.ru/api/contractor/products/import', {
  method: 'post',
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
  body: formData
});

const data: ResponseData = await response.json();
console.log(data);
import requests

files = {
    'file': ('file.pdf', open('/path/to/file.pdf', 'rb'), 'application/pdf'),
}

response = requests.post(
    'https://api.selsup.ru/api/contractor/products/import',
    headers={'Authorization': 'YOUR_API_KEY'},
    files=files,
)

print(response.json())
package main

import (
    "bytes"
    "fmt"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

func main() {
    var b bytes.Buffer
    w := multipart.NewWriter(&b)

    // Add file
    file, err := os.Open("/path/to/file.pdf")
    if err != nil {
        panic(err)
    }
    defer file.Close()
    fw, err := w.CreateFormFile("file", "file.pdf")
    if err != nil {
        panic(err)
    }
    _, err = io.Copy(fw, file)
    if err != nil {
        panic(err)
    }

    w.Close()

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/contractor/products/import", &b)
    req.Header.Set("Content-Type", w.FormDataContentType())
    req.Header.Set("Authorization", "YOUR_API_KEY")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    fmt.Println("Response Status:", resp.Status)
}
import java.io.*;
import java.net.http.*;
import java.nio.file.*;

public class MultipartExample {
    public static void main(String[] args) throws Exception {
        String boundary = "----WebKitFormBoundary7MA4YWxkTrZu0gW";
        HttpClient client = HttpClient.newHttpClient();

        // Build multipart body
        StringBuilder body = new StringBuilder();
        body.append("--").append(boundary).append("\r\n");
        body.append("Content-Disposition: form-data; name=\"file\"; filename=\"file.pdf\"\r\n");
        body.append("Content-Type: application/octet-stream\r\n\r\n");
        // Read file bytes here
        body.append("\r\n");
        body.append("--").append(boundary).append("--\r\n");

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.selsup.ru/api/contractor/products/import"))
            .header("Content-Type", "multipart/form-data; boundary=" + boundary)
            .header("Authorization", "YOUR_API_KEY")
            .POST(HttpRequest.BodyPublishers.ofString(body.toString()))
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
<?php
$curl = curl_init();

$postData = [
    'file' => new CURLFile('/path/to/file.pdf'),
];

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/products/import',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => $postData,
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/contractor/products/import' \
  -H 'Authorization: YOUR_API_KEY' \
  -F 'file=@/path/to/file.pdf'

🔗 Выгрузка товаров для проставления поставщиков

Запускает задачу по выгрузке файла с поставщиками товаров
POST /api/contractor/products/export

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer Идентификатор задачи
status string Текущий статус задачи
type string Тип задачи
name string Данные задачи в json - могут быть пустыми
clientId integer
entityId integer Сущность, к которой относится задача
progress integer Прогресс выполнения задачи в процентах
processedQuantity integer Количество обработанных записей задачи
organizationId integer Организация задачи, может быть 0, если не зависит от организации
priority integer Приоритет задачи - чем выше тем быстрее задача запустится
properties string Параметры задачи
message string Сообщение с результатом выполнения задачи
messageParams string Параметры сообщения с результатом выполнения задачи
createdDate string Дата добавления задачи в очередь
startDate string Дата запуска задачи
finishDate string Дата завершения задачи
url string Ссылка на скачивание файла с результатом задачи
inputFileUrl string Ссылка на загруженный файл
retryNumber integer Счётчик перезапуска задачи.
userId integer Пользователь запустивший задачу
retryDate string Запланированная дата перезапуска
debug boolean Запуск задачи в режиме отладки с большим логированием
forcedStart boolean Ручной запуск задачи
service string Сервис
lang string Язык на котором сейчас запущена таска
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.post('https://api.selsup.ru/api/contractor/products/export',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.post<any>('https://api.selsup.ru/api/contractor/products/export',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.post(
    'https://api.selsup.ru/api/contractor/products/export',
    headers=headers
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/contractor/products/export", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/products/export"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/products/export',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/contractor/products/export' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Импорт контрагентов файлом

Импортирует контрагентов файлом в формате multipart/form-data
POST /api/contractor/import

Тело запроса

Content-Type: multipart/form-data
ПолеТипОписание
file Обязательный byte[] Excel файл

Тело ответа

✓ 200 OK
Тип: string
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const formData = new FormData();
formData.append('file', fileInput.files[0]); // File input element

fetch('https://api.selsup.ru/api/contractor/import', {
  method: 'post',
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
  body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const formData = new FormData();
const fileInput = document.getElementById('file-input') as HTMLInputElement;
if (fileInput.files?.[0]) {
  formData.append('file', fileInput.files[0]);
}

interface ResponseData {
  // Define your response type here
}

const response = await fetch('https://api.selsup.ru/api/contractor/import', {
  method: 'post',
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
  body: formData
});

const data: ResponseData = await response.json();
console.log(data);
import requests

files = {
    'file': ('file.pdf', open('/path/to/file.pdf', 'rb'), 'application/pdf'),
}

response = requests.post(
    'https://api.selsup.ru/api/contractor/import',
    headers={'Authorization': 'YOUR_API_KEY'},
    files=files,
)

print(response.json())
package main

import (
    "bytes"
    "fmt"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

func main() {
    var b bytes.Buffer
    w := multipart.NewWriter(&b)

    // Add file
    file, err := os.Open("/path/to/file.pdf")
    if err != nil {
        panic(err)
    }
    defer file.Close()
    fw, err := w.CreateFormFile("file", "file.pdf")
    if err != nil {
        panic(err)
    }
    _, err = io.Copy(fw, file)
    if err != nil {
        panic(err)
    }

    w.Close()

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/contractor/import", &b)
    req.Header.Set("Content-Type", w.FormDataContentType())
    req.Header.Set("Authorization", "YOUR_API_KEY")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    fmt.Println("Response Status:", resp.Status)
}
import java.io.*;
import java.net.http.*;
import java.nio.file.*;

public class MultipartExample {
    public static void main(String[] args) throws Exception {
        String boundary = "----WebKitFormBoundary7MA4YWxkTrZu0gW";
        HttpClient client = HttpClient.newHttpClient();

        // Build multipart body
        StringBuilder body = new StringBuilder();
        body.append("--").append(boundary).append("\r\n");
        body.append("Content-Disposition: form-data; name=\"file\"; filename=\"file.pdf\"\r\n");
        body.append("Content-Type: application/octet-stream\r\n\r\n");
        // Read file bytes here
        body.append("\r\n");
        body.append("--").append(boundary).append("--\r\n");

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.selsup.ru/api/contractor/import"))
            .header("Content-Type", "multipart/form-data; boundary=" + boundary)
            .header("Authorization", "YOUR_API_KEY")
            .POST(HttpRequest.BodyPublishers.ofString(body.toString()))
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
<?php
$curl = curl_init();

$postData = [
    'file' => new CURLFile('/path/to/file.pdf'),
];

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/import',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => $postData,
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/contractor/import' \
  -H 'Authorization: YOUR_API_KEY' \
  -F 'file=@/path/to/file.pdf'

🔗 Импорт артикулов контрагента файлом

Импортирует контрагентов файлом в формате multipart/form-data
POST /api/contractor/article/import

Параметры запроса QUERY

Название Тип Обязательный Описание
isGroup boolean Да Параметр isGroup

Тело запроса

Content-Type: multipart/form-data
ПолеТипОписание
file Обязательный byte[] Excel файл

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer Идентификатор задачи
status string Текущий статус задачи
type string Тип задачи
name string Данные задачи в json - могут быть пустыми
clientId integer
entityId integer Сущность, к которой относится задача
progress integer Прогресс выполнения задачи в процентах
processedQuantity integer Количество обработанных записей задачи
organizationId integer Организация задачи, может быть 0, если не зависит от организации
priority integer Приоритет задачи - чем выше тем быстрее задача запустится
properties string Параметры задачи
message string Сообщение с результатом выполнения задачи
messageParams string Параметры сообщения с результатом выполнения задачи
createdDate string Дата добавления задачи в очередь
startDate string Дата запуска задачи
finishDate string Дата завершения задачи
url string Ссылка на скачивание файла с результатом задачи
inputFileUrl string Ссылка на загруженный файл
retryNumber integer Счётчик перезапуска задачи.
userId integer Пользователь запустивший задачу
retryDate string Запланированная дата перезапуска
debug boolean Запуск задачи в режиме отладки с большим логированием
forcedStart boolean Ручной запуск задачи
service string Сервис
lang string Язык на котором сейчас запущена таска
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const formData = new FormData();
formData.append('file', fileInput.files[0]); // File input element

fetch('https://api.selsup.ru/api/contractor/article/import?isGroup=true', {
  method: 'post',
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
  body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const formData = new FormData();
const fileInput = document.getElementById('file-input') as HTMLInputElement;
if (fileInput.files?.[0]) {
  formData.append('file', fileInput.files[0]);
}

interface ResponseData {
  // Define your response type here
}

const response = await fetch('https://api.selsup.ru/api/contractor/article/import?isGroup=true', {
  method: 'post',
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
  body: formData
});

const data: ResponseData = await response.json();
console.log(data);
import requests

files = {
    'file': ('file.pdf', open('/path/to/file.pdf', 'rb'), 'application/pdf'),
}

params = {
    'isGroup': 'true',
}

response = requests.post(
    'https://api.selsup.ru/api/contractor/article/import',
    headers={'Authorization': 'YOUR_API_KEY'},
    files=files,
    params=params,
)

print(response.json())
package main

import (
    "bytes"
    "fmt"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

func main() {
    var b bytes.Buffer
    w := multipart.NewWriter(&b)

    // Add file
    file, err := os.Open("/path/to/file.pdf")
    if err != nil {
        panic(err)
    }
    defer file.Close()
    fw, err := w.CreateFormFile("file", "file.pdf")
    if err != nil {
        panic(err)
    }
    _, err = io.Copy(fw, file)
    if err != nil {
        panic(err)
    }

    w.Close()

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/contractor/article/import?isGroup=true", &b)
    req.Header.Set("Content-Type", w.FormDataContentType())
    req.Header.Set("Authorization", "YOUR_API_KEY")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    fmt.Println("Response Status:", resp.Status)
}
import java.io.*;
import java.net.http.*;
import java.nio.file.*;

public class MultipartExample {
    public static void main(String[] args) throws Exception {
        String boundary = "----WebKitFormBoundary7MA4YWxkTrZu0gW";
        HttpClient client = HttpClient.newHttpClient();

        // Build multipart body
        StringBuilder body = new StringBuilder();
        body.append("--").append(boundary).append("\r\n");
        body.append("Content-Disposition: form-data; name=\"file\"; filename=\"file.pdf\"\r\n");
        body.append("Content-Type: application/octet-stream\r\n\r\n");
        // Read file bytes here
        body.append("\r\n");
        body.append("--").append(boundary).append("--\r\n");

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.selsup.ru/api/contractor/article/import?isGroup=true"))
            .header("Content-Type", "multipart/form-data; boundary=" + boundary)
            .header("Authorization", "YOUR_API_KEY")
            .POST(HttpRequest.BodyPublishers.ofString(body.toString()))
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
<?php
$curl = curl_init();

$params = [
    'isGroup' => 'true',
];
$url = 'https://api.selsup.ru/api/contractor/article/import?' . http_build_query($params);

$postData = [
    'file' => new CURLFile('/path/to/file.pdf'),
];

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => $postData,
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/contractor/article/import?isGroup=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -F 'file=@/path/to/file.pdf'

🔗 Выгрузка артикулов для проставления поставщиков

Запускает задачу по выгрузке файла с поставщиками товаров
POST /api/contractor/article/export

Параметры запроса QUERY

Название Тип Обязательный Описание
isGroup boolean Да Параметр isGroup

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer Идентификатор задачи
status string Текущий статус задачи
type string Тип задачи
name string Данные задачи в json - могут быть пустыми
clientId integer
entityId integer Сущность, к которой относится задача
progress integer Прогресс выполнения задачи в процентах
processedQuantity integer Количество обработанных записей задачи
organizationId integer Организация задачи, может быть 0, если не зависит от организации
priority integer Приоритет задачи - чем выше тем быстрее задача запустится
properties string Параметры задачи
message string Сообщение с результатом выполнения задачи
messageParams string Параметры сообщения с результатом выполнения задачи
createdDate string Дата добавления задачи в очередь
startDate string Дата запуска задачи
finishDate string Дата завершения задачи
url string Ссылка на скачивание файла с результатом задачи
inputFileUrl string Ссылка на загруженный файл
retryNumber integer Счётчик перезапуска задачи.
userId integer Пользователь запустивший задачу
retryDate string Запланированная дата перезапуска
debug boolean Запуск задачи в режиме отладки с большим логированием
forcedStart boolean Ручной запуск задачи
service string Сервис
lang string Язык на котором сейчас запущена таска
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  isGroup: 'true',
};

const response = await axios.post('https://api.selsup.ru/api/contractor/article/export',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  isGroup?: string;
}

const params: QueryParams = {
  isGroup: 'true',
};

const response = await axios.post<any>('https://api.selsup.ru/api/contractor/article/export',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'isGroup': 'true',
}

response = requests.post(
    'https://api.selsup.ru/api/contractor/article/export',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/contractor/article/export?isGroup=true", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/article/export?isGroup=true"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'isGroup' => 'true',
];

$url = 'https://api.selsup.ru/api/contractor/article/export?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/contractor/article/export?isGroup=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Пометить удаленным или восстановить контрагента

Убирает или восстанавливает пометку контрагента удаленным
POST /api/contractor/archive/{contractorId}

Параметры пути PATH

Название Тип Обязательный Описание
contractorId integer Да Идентификатор контрагента

Параметры запроса QUERY

Название Тип Обязательный Описание
deleted boolean Да true - пометить удаленным или false - восстановить поставщика

Тело ответа

✓ 200 OK
Тип: string
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  deleted: 'false',
};

const response = await axios.post('https://api.selsup.ru/api/contractor/archive/${contractorId}',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  deleted?: string;
}

const params: QueryParams = {
  deleted: 'false',
};

const response = await axios.post<any>('https://api.selsup.ru/api/contractor/archive/${contractorId}',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'deleted': 'false',
}

response = requests.post(
    'https://api.selsup.ru/api/contractor/archive/${contractorId}',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/contractor/archive/${contractorId}?deleted=false", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/archive/${contractorId}?deleted=false"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'deleted' => 'false',
];

$url = 'https://api.selsup.ru/api/contractor/archive/${contractorId}?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/contractor/archive/{contractorId}?deleted=value' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Создание контрагента

Создает нового контрагента. При создании обязательно только поле с названием контрагента
POST /api/contractor/

Тело запроса *Обязательно

Content-Type: application/json
ПолеТипОписание
id integer Идентификатор контрагента. Проставляется автоматически
name Обязательный string Наименование контрагента
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
organizationId integer Организация для реквизитов контрагента
phoneNumber string Номер телефона
email string Адрес электронной почты
contactName string Имя контакта
moySkladId string Идентификатор в сервисе МойСклад
url string Ссылка на сайт

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer Идентификатор контрагента. Проставляется автоматически
name string Наименование контрагента
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
clientId integer Идентификатор клиента
createdUser string Логин пользователя, который создал контрагента
lastIncomeDate string Дата последнего поступления для этого контрагента для сортировки
deleted boolean Признак удаления контрагента
organizationId integer Организация для реквизитов контрагента
phoneNumber string Номер телефона
email string Адрес электронной почты
contactName string Имя контакта
moySkladId string Идентификатор в сервисе МойСклад
url string Ссылка на сайт
organization Organization Данные об организации
Структура Organization
Поле Тип Описание
id integer Идентификатор организации. Проставляется автоматически
name string Полное наименование организации
shortName string
taxType string Система налогооблажения
taxRate integer Ставка налога, если она отличается от стандартной
taxNds integer Ставка налога, если она отличается от стандартной
enableNewTaxCalculation boolean Включить расчет налогов по новым правилам
inn string ИНН
kpp string КПП. Проставляется только для ООО
bank string Название банка
bik string БИК счета организации
corrBill string Номер корреспондентского счета
billNumber string Номер счета организации
stampPath string Ссылка на изображение печати организации
stampUrl string Ссылка на изображение печати организации
stampSize integer Размер в байтах изображения печати организации
stampWidth integer Ширина изображения печати организации
stampHeight integer Высота изображения печати организации
signaturePath string Фото подписи директора организации
signatureUrl string Фото подписи директора организации
signatureSize integer Размер файла в байтах подписи директора организации
signatureWidth integer Ширина изображения подписи директора
signatureHeight integer Высота изображения подписи директора
ipPerson Person Сотрудник
Структура Person
Поле Тип Описание
personId integer
firstName string Имя сотрудника
lastName string Фамилия сотрудника
surName string Отчество сотрудника
clientId integer Идентификатор клиента
position PersonPosition Должность
Структура PersonPosition
Поле Тип Описание
id integer Идентификатор должности. Проставляется автоматически
name string Название должности
deleted boolean Признак удаления должности
clientId integer Идентификатор клиента
defaultJobId integer Работа по умолчанию для должности
createdUser string Пользователь, который создал должность
createdDate string Дата создания должности
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
createdUser string Проставляется автоматически. Пользователь создавший сотрудника
createdDate string Проставляется автоматически. Дата создания сотрудника
deleted boolean Признак удаления сотрудника
userId integer Связь сотрудника с пользователем
hasChanges boolean
fullName string Полные ФИО
shortName string Фамилия и инициалы
form string Форма собственности организации
ip boolean
clientId integer Идентификатор клиента
address Address Адресс организации
Структура Address
Поле Тип Описание
id integer
postCode string
country Country Страна
Структура Country
Поле Тип Описание
countryId integer Идентификатор страны
name string Название страны
code2 string Двухбуквенный код страны
code3 string Трехбуквенный код страны
printName string
region Region
Структура Region
Поле Тип Описание
id integer
countryId integer
name string
regionId Region
regionId integer
street string
house string
district string
city string
locality string
building string
flat string
short string
full string
addressId Address Адресс организации
Структура Address
Поле Тип Описание
id integer
postCode string
country object Страна
region object
regionId integer
street string
house string
district string
city string
locality string
building string
flat string
short string
full string
addressId object Адресс организации
phoneNumber string Номер телефона
addressFull string Полный адрес
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.post('https://api.selsup.ru/api/contractor/',
  {
    "id": "Иванович",
    "name": "Иван",
    "versionId": 123,
    "clientId": 123,
    "createdUser": "Пример createdUser",
    "lastIncomeDate": "2024-01-15T10:30:00Z",
    "deleted": false,
    "organizationId": "АО \"Торговый дом\"",
    "phoneNumber": "+7 (999) 123-45-67",
    "email": "ivan.petrov@example.com"
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.post<any>('https://api.selsup.ru/api/contractor/',
  {
    "id": "Иванович",
    "name": "Иван",
    "versionId": 123,
    "clientId": 123,
    "createdUser": "Пример createdUser",
    "lastIncomeDate": "2024-01-15T10:30:00Z",
    "deleted": false,
    "organizationId": "АО \"Торговый дом\"",
    "phoneNumber": "+7 (999) 123-45-67",
    "email": "ivan.petrov@example.com"
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.post(
    'https://api.selsup.ru/api/contractor/',
    headers=headers,
    json={
    'id': 'Иванович',
    'name': 'Иван',
    'versionId': 123,
    'clientId': 123,
    'createdUser': 'Пример createdUser',
    'lastIncomeDate': '2024-01-15T10:30:00Z',
    'deleted': false,
    'organizationId': 'АО \'Торговый дом\'',
    'phoneNumber': '+7 (999) 123-45-67',
    'email': 'ivan.petrov@example.com'
}
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    payload := map[string]interface{}{
        `id`: `Иванович`,
        `name`: `Иван`,
        `versionId`: 123,
        `clientId`: 123,
        `createdUser`: `Пример createdUser`,
        `lastIncomeDate`: `2024-01-15T10:30:00Z`,
        `deleted`: false,
        `organizationId`: `АО \`Торговый дом\``,
        `phoneNumber`: `+7 (999) 123-45-67`,
        `email`: `ivan.petrov@example.com`
}
    jsonData, _ := json.Marshal(payload)

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/contractor/", bytes.NewBuffer(jsonData))
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.ofString(
        "{\"id\":\"Иванович\",\"name\":\"Иван\",\"versionId\":123,\"clientId\":123,\"createdUser\":\"Пример createdUser\",\"lastIncomeDate\":\"2024-01-15T10:30:00Z\",\"deleted\":false,\"organizationId\":\"АО \\"Торговый дом\\"\",\"phoneNumber\":\"+7 (999) 123-45-67\",\"email\":\"ivan.petrov@example.com\"}"
    ))
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/contractor/',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => json_encode({
    'id': 'Иванович',
    'name': 'Иван',
    'versionId': 123,
    'clientId': 123,
    'createdUser': 'Пример createdUser',
    'lastIncomeDate': '2024-01-15T10:30:00Z',
    'deleted': false,
    'organizationId': 'АО \'Торговый дом\'',
    'phoneNumber': '+7 (999) 123-45-67',
    'email': 'ivan.petrov@example.com'
}),
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/contractor/' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "Иванович",
  "name": "Иван",
  "versionId": 123,
  "clientId": 123,
  "createdUser": "Пример createdUser",
  "lastIncomeDate": "2024-01-15T10:30:00Z",
  "deleted": false,
  "organizationId": "АО \"Торговый дом\"",
  "phoneNumber": "+7 (999) 123-45-67",
  "email": "ivan.petrov@example.com"
}'

🔗 Поиск контрагентов в МойСклад

Возвращает список контрагентов по фильтру в сервисе МойСклад
GET /api/contractor/moySklad

Параметры запроса QUERY

Название Тип Обязательный Описание
organizationId integer Да Параметр organizationId
query string Да Поисковый запрос
limit integer Да Максимальное количество записей

Тело ответа

✓ 200 OK
Content-Type: application/json
Тип ответа: Counterparty
Элементы массива
Поле Тип Описание
id string Нет
name string Нет
email string Нет
phone string Нет
created string Нет
updated string Нет
actualAddress string Нет
selsupCustomer Customer Нет Покупатель товаров
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  organizationId: 'АО "Торговый дом"',
  query: 'Пример query',
  limit: '100',
};

const response = await axios.get('https://api.selsup.ru/api/contractor/moySklad',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  organizationId?: number;
  query?: string;
  limit?: number;
}

const params: QueryParams = {
  organizationId: 'АО "Торговый дом"',
  query: 'Пример query',
  limit: '100',
};

const response = await axios.get<any>('https://api.selsup.ru/api/contractor/moySklad',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'organizationId': 'АО "Торговый дом"',
    'query': 'Пример query',
    'limit': '100',
}

response = requests.get(
    'https://api.selsup.ru/api/contractor/moySklad',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/contractor/moySklad?organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/moySklad?organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'organizationId' => 'АО "Торговый дом"',
    'query' => 'Пример query',
    'limit' => '100',
];

$url = 'https://api.selsup.ru/api/contractor/moySklad?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/contractor/moySklad?organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Поиск договоров в МойСклад

Возвращает список договоров по фильтру в сервисе МойСклад
GET /api/contractor/moySklad/contract

Параметры запроса QUERY

Название Тип Обязательный Описание
organizationId integer Да Параметр organizationId
limit integer Нет Максимальное количество записей
по умолчанию: 1000
offset integer Нет Смещение от начала

Тело ответа

✓ 200 OK
Content-Type: application/json
Тип ответа: Contract
Элементы массива
Поле Тип Описание
id string Нет
name string Нет
moment string Нет
contractType string Нет
description string Нет
updated string Нет
selsupCustomer Customer Нет Покупатель товаров
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  organizationId: 'АО "Торговый дом"',
  limit: '100',
  offset: '0',
};

const response = await axios.get('https://api.selsup.ru/api/contractor/moySklad/contract',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  organizationId?: number;
  limit?: number;
  offset?: number;
}

const params: QueryParams = {
  organizationId: 'АО "Торговый дом"',
  limit: '100',
  offset: '0',
};

const response = await axios.get<any>('https://api.selsup.ru/api/contractor/moySklad/contract',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'organizationId': 'АО "Торговый дом"',
    'limit': '100',
    'offset': '0',
}

response = requests.get(
    'https://api.selsup.ru/api/contractor/moySklad/contract',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/contractor/moySklad/contract?organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&offset=0", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/moySklad/contract?organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&offset=0"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'organizationId' => 'АО "Торговый дом"',
    'limit' => '100',
    'offset' => '0',
];

$url = 'https://api.selsup.ru/api/contractor/moySklad/contract?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/contractor/moySklad/contract?organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&offset=value' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Поиск контрагентов

Возвращает список контрагентов для саджеста по фильтру
GET /api/contractor/list

Параметры запроса QUERY

Название Тип Обязательный Описание
query string Нет Поисковый запрос для поиска по названию
deleted boolean Нет Показывать удаленных поставщиков?
withMarketplaces boolean Нет Вернуть в ответе в качестве контрагентов также маркетплейсы?
ids integer Нет ID контрагентов. Можно передавать несколько значений ids=123&ids=345
modelId integer Нет ID модели
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "NAME""ID""LASTINCOMEDATE""CONTRACTOR" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.

Тело ответа

✓ 200 OK
Content-Type: application/json
Тип ответа: Contractor Контрагенты
Элементы массива
Поле Тип Описание
id integer Нет Идентификатор контрагента. Проставляется автоматически
name string Нет Наименование контрагента
versionId integer Нет Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
clientId integer Нет Идентификатор клиента
createdUser string Нет Логин пользователя, который создал контрагента
lastIncomeDate string Нет Дата последнего поступления для этого контрагента для сортировки
deleted boolean Нет Признак удаления контрагента
organizationId integer Нет Организация для реквизитов контрагента
phoneNumber string Нет Номер телефона
email string Нет Адрес электронной почты
contactName string Нет Имя контакта
moySkladId string Нет Идентификатор в сервисе МойСклад
url string Нет Ссылка на сайт
organization Organization Нет Данные об организации
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  query: 'Пример query',
  deleted: 'false',
  withMarketplaces: 'true',
  ids: '',
  modelId: '123',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'NAME',
  ascending: 'true',
};

const response = await axios.get('https://api.selsup.ru/api/contractor/list',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  query?: string;
  deleted?: string;
  withMarketplaces?: string;
  ids?: string;
  modelId?: number;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
}

const params: QueryParams = {
  query: 'Пример query',
  deleted: 'false',
  withMarketplaces: 'true',
  ids: '',
  modelId: '123',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'NAME',
  ascending: 'true',
};

const response = await axios.get<any>('https://api.selsup.ru/api/contractor/list',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'query': 'Пример query',
    'deleted': 'false',
    'withMarketplaces': 'true',
    'ids': '',
    'modelId': '123',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'NAME',
    'ascending': 'true',
}

response = requests.get(
    'https://api.selsup.ru/api/contractor/list',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/contractor/list?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=false&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/list?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=false&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'query' => 'Пример query',
    'deleted' => 'false',
    'withMarketplaces' => 'true',
    'ids' => '',
    'modelId' => '123',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'NAME',
    'ascending' => 'true',
];

$url = 'https://api.selsup.ru/api/contractor/list?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/contractor/list?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=value&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Поиск контрагента

Возвращает список контрагентов по фильтру с навигацией по страницам
GET /api/contractor/find

Параметры запроса QUERY

Название Тип Обязательный Описание
query string Нет Поисковый запрос для поиска по названию
deleted boolean Нет Показывать удаленных поставщиков?
withMarketplaces boolean Нет Вернуть в ответе в качестве контрагентов также маркетплейсы?
ids integer Нет ID контрагентов. Можно передавать несколько значений ids=123&ids=345
modelId integer Нет ID модели
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "NAME""ID""LASTINCOMEDATE""CONTRACTOR" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
rows Array of Contractor Строки с результатом поиска
Структура Contractor
Поле Тип Описание
id integer Идентификатор контрагента. Проставляется автоматически
name Обязательный string Наименование контрагента
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
clientId integer Идентификатор клиента
createdUser string Логин пользователя, который создал контрагента
lastIncomeDate string Дата последнего поступления для этого контрагента для сортировки
deleted boolean Признак удаления контрагента
organizationId integer Организация для реквизитов контрагента
phoneNumber string Номер телефона
email string Адрес электронной почты
contactName string Имя контакта
moySkladId string Идентификатор в сервисе МойСклад
url string Ссылка на сайт
organization Organization Данные об организации
Структура Organization
Поле Тип Описание
id integer Идентификатор организации. Проставляется автоматически
name string Полное наименование организации
shortName string
taxType string Система налогооблажения
taxRate integer Ставка налога, если она отличается от стандартной
taxNds integer Ставка налога, если она отличается от стандартной
enableNewTaxCalculation boolean Включить расчет налогов по новым правилам
inn string ИНН
kpp string КПП. Проставляется только для ООО
bank string Название банка
bik string БИК счета организации
corrBill string Номер корреспондентского счета
billNumber string Номер счета организации
stampPath string Ссылка на изображение печати организации
stampUrl string Ссылка на изображение печати организации
stampSize integer Размер в байтах изображения печати организации
stampWidth integer Ширина изображения печати организации
stampHeight integer Высота изображения печати организации
signaturePath string Фото подписи директора организации
signatureUrl string Фото подписи директора организации
signatureSize integer Размер файла в байтах подписи директора организации
signatureWidth integer Ширина изображения подписи директора
signatureHeight integer Высота изображения подписи директора
ipPerson Person Сотрудник
Структура Person
Поле Тип Описание
personId integer
firstName string Имя сотрудника
lastName string Фамилия сотрудника
surName string Отчество сотрудника
clientId integer Идентификатор клиента
position PersonPosition Должность
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
createdUser string Проставляется автоматически. Пользователь создавший сотрудника
createdDate string Проставляется автоматически. Дата создания сотрудника
deleted boolean Признак удаления сотрудника
userId integer Связь сотрудника с пользователем
hasChanges boolean
fullName string Полные ФИО
shortName string Фамилия и инициалы
form string Форма собственности организации
ip boolean
clientId integer Идентификатор клиента
address Address Адресс организации
Структура Address
Поле Тип Описание
id integer
postCode string
country Country Страна
region Region
regionId integer
street string
house string
district string
city string
locality string
building string
flat string
short string
full string
addressId Address Адресс организации
phoneNumber string Номер телефона
addressFull string Полный адрес
total integer Общее количество найденных записей. Возвращается только, когда count = true
page integer Номер запрошенной страницы
hasNextPage boolean Есть ли следующая страница
emptyPurchase integer Показатель пустой закупочной цены
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  query: 'Пример query',
  deleted: 'false',
  withMarketplaces: 'true',
  ids: '',
  modelId: '123',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'NAME',
  ascending: 'true',
};

const response = await axios.get('https://api.selsup.ru/api/contractor/find',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  query?: string;
  deleted?: string;
  withMarketplaces?: string;
  ids?: string;
  modelId?: number;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
}

const params: QueryParams = {
  query: 'Пример query',
  deleted: 'false',
  withMarketplaces: 'true',
  ids: '',
  modelId: '123',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'NAME',
  ascending: 'true',
};

const response = await axios.get<any>('https://api.selsup.ru/api/contractor/find',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'query': 'Пример query',
    'deleted': 'false',
    'withMarketplaces': 'true',
    'ids': '',
    'modelId': '123',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'NAME',
    'ascending': 'true',
}

response = requests.get(
    'https://api.selsup.ru/api/contractor/find',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/contractor/find?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=false&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/find?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=false&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'query' => 'Пример query',
    'deleted' => 'false',
    'withMarketplaces' => 'true',
    'ids' => '',
    'modelId' => '123',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'NAME',
    'ascending' => 'true',
];

$url = 'https://api.selsup.ru/api/contractor/find?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/contractor/find?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=value&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Поставщики для закупки

Возвращает список поставщиков, у которых есть заканчивающиеся товары
GET /api/contractor/findContractorForOrder

Параметры запроса QUERY

Название Тип Обязательный Описание
query string Нет Поисковый запрос для поиска по названию
deleted boolean Нет Показывать удаленных поставщиков?
withMarketplaces boolean Нет Вернуть в ответе в качестве контрагентов также маркетплейсы?
ids integer Нет ID контрагентов. Можно передавать несколько значений ids=123&ids=345
modelId integer Нет ID модели
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "NAME""ID""LASTINCOMEDATE""CONTRACTOR" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
rows Array of Contractor Строки с результатом поиска
Структура Contractor
Поле Тип Описание
id integer Идентификатор контрагента. Проставляется автоматически
name Обязательный string Наименование контрагента
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
clientId integer Идентификатор клиента
createdUser string Логин пользователя, который создал контрагента
lastIncomeDate string Дата последнего поступления для этого контрагента для сортировки
deleted boolean Признак удаления контрагента
organizationId integer Организация для реквизитов контрагента
phoneNumber string Номер телефона
email string Адрес электронной почты
contactName string Имя контакта
moySkladId string Идентификатор в сервисе МойСклад
url string Ссылка на сайт
organization Organization Данные об организации
Структура Organization
Поле Тип Описание
id integer Идентификатор организации. Проставляется автоматически
name string Полное наименование организации
shortName string
taxType string Система налогооблажения
taxRate integer Ставка налога, если она отличается от стандартной
taxNds integer Ставка налога, если она отличается от стандартной
enableNewTaxCalculation boolean Включить расчет налогов по новым правилам
inn string ИНН
kpp string КПП. Проставляется только для ООО
bank string Название банка
bik string БИК счета организации
corrBill string Номер корреспондентского счета
billNumber string Номер счета организации
stampPath string Ссылка на изображение печати организации
stampUrl string Ссылка на изображение печати организации
stampSize integer Размер в байтах изображения печати организации
stampWidth integer Ширина изображения печати организации
stampHeight integer Высота изображения печати организации
signaturePath string Фото подписи директора организации
signatureUrl string Фото подписи директора организации
signatureSize integer Размер файла в байтах подписи директора организации
signatureWidth integer Ширина изображения подписи директора
signatureHeight integer Высота изображения подписи директора
ipPerson Person Сотрудник
Структура Person
Поле Тип Описание
personId integer
firstName string Имя сотрудника
lastName string Фамилия сотрудника
surName string Отчество сотрудника
clientId integer Идентификатор клиента
position PersonPosition Должность
versionId integer Поле нужно передавать при изменении,для предотвращения одновременной перезаписи
createdUser string Проставляется автоматически. Пользователь создавший сотрудника
createdDate string Проставляется автоматически. Дата создания сотрудника
deleted boolean Признак удаления сотрудника
userId integer Связь сотрудника с пользователем
hasChanges boolean
fullName string Полные ФИО
shortName string Фамилия и инициалы
form string Форма собственности организации
ip boolean
clientId integer Идентификатор клиента
address Address Адресс организации
Структура Address
Поле Тип Описание
id integer
postCode string
country Country Страна
region Region
regionId integer
street string
house string
district string
city string
locality string
building string
flat string
short string
full string
addressId Address Адресс организации
phoneNumber string Номер телефона
addressFull string Полный адрес
total integer Общее количество найденных записей. Возвращается только, когда count = true
page integer Номер запрошенной страницы
hasNextPage boolean Есть ли следующая страница
emptyPurchase integer Показатель пустой закупочной цены
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  query: 'Пример query',
  deleted: 'false',
  withMarketplaces: 'true',
  ids: '',
  modelId: '123',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'NAME',
  ascending: 'true',
};

const response = await axios.get('https://api.selsup.ru/api/contractor/findContractorForOrder',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  query?: string;
  deleted?: string;
  withMarketplaces?: string;
  ids?: string;
  modelId?: number;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
}

const params: QueryParams = {
  query: 'Пример query',
  deleted: 'false',
  withMarketplaces: 'true',
  ids: '',
  modelId: '123',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'NAME',
  ascending: 'true',
};

const response = await axios.get<any>('https://api.selsup.ru/api/contractor/findContractorForOrder',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'query': 'Пример query',
    'deleted': 'false',
    'withMarketplaces': 'true',
    'ids': '',
    'modelId': '123',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'NAME',
    'ascending': 'true',
}

response = requests.get(
    'https://api.selsup.ru/api/contractor/findContractorForOrder',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/contractor/findContractorForOrder?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=false&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/contractor/findContractorForOrder?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=false&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'query' => 'Пример query',
    'deleted' => 'false',
    'withMarketplaces' => 'true',
    'ids' => '',
    'modelId' => '123',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'NAME',
    'ascending' => 'true',
];

$url = 'https://api.selsup.ru/api/contractor/findContractorForOrder?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/contractor/findContractorForOrder?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=value&withMarketplaces=true&ids=&modelId=123&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'