NAV
json

Перед началом

Приветствуем вас в API CRM МойДроп! CRM имеет две версии: для поставщиков и для дропшипперов. В данной документации описаны способы интеграции для обоих версий в соответствующих разделах.

Примеры готового кода на PHP | Наш GitHub

Версия для поставщиков

Авторизация

Для авторизации во всех запросах к API используйте заголовок X-API-KEY. API-ключ можно найти на этой странице в разделе "Интеграции".

Внимание! Страница доступна только после регистрации.

Также обязательным заголовком при запросах является Content-Type: application/json

Создание заказа

Запрос для добавления нового заказа в CRM. Пример кода на PHP для интеграции простых лендингов и автоматической передачи заказов с них доступен на нашем GitHub.

POST https://backend.mydrop.com.ua/vendor/api/orders

Пример запроса:

{
    "name": "Иван Петренко",
    "phone": "+380960000001",
    "products": [
        {
            "product_title": "Кеды Nike",
            "product_sku": "ld-1245",
            "manufacturer": "nike",
            "assembly_price": 450,
            "price": 780,
            "amount": 1,
            "size_title": "XL",
            "size_note": "30 см"
        }
    ],
    "city": "Киев",
    "warehouse_number": "1",
    "order_source": "Лендинг",
    "traffic_source": "AdWords",
    "utm_source": "some_utm_source",
    "utm_medium": "some_utm_medium",
    "utm_term": "some_utm_term",
    "utm_content": "some_utm_content",
    "utm_campaign": "some_utm_campaign"
}

Пример ответа: такой же, как при запросе на получения данных о заказе по ID (ниже приведён в документации)

HTTP-запрос

POST https://backend.mydrop.com.ua/vendor/api/orders

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
name имя покупателя Иван Петренко да
phone телефон +380960000001 да
products массив с товарами заказа (структура описана ниже) да
dropshipper_id ID дропшиппера (необязательно для розничных заказов) нет
delivery_payment сума накладенного платежу 1000 нет
prepay_amount сума предоплаты 200 нет
delivery_service служба доставки nova_poshta, ukr_poshta, meest нет
city город для отправки Киев нет
warehouse_number отделение почты 1 нет
delivery_paid доставка за счёт отправителя false нет
pickup самовывоз false нет
home_delivery куръерская доставка false нет
street улица текстом вул. Садова (Дарницький р-н, Осокорки) да, если home_delivery = true
street_ref ref улицы из базы улиц Новой Почты 3c5dde87-684a-11e6-8304-00505688561d да, если home_delivery = true и delivery_service = nova_poshta
house_number номер дома 3 да, если home_delivery = true
flat_number номер квартиры 15 да, если home_delivery = true
volumetric_length Длинна коробки посылки (в см) 10 нет
volumetric_height Высота коробки посылки (в см) 20 нет
volumetric_width Ширина коробки посылки (в см) 30 нет
weight Вес коробки посылки (в кг) 30 нет
delivery_address адрес доставки текстом (для служб доставки без полной интеграции) вул. Миру, буд. 3, кв. 15 да, только для служб доставки без полной интеграции
ttn номер ТТН (необязательно, будет сгенерирован автоматически) 20450535304114 нет
description примечание нет
order_source источник заказа Лендинг нет
traffic_source источник трафика AdWords нет
payment_status статус оплаты текстом Не оплачено нет
utm_source utm_source нет
utm_medium utm_medium нет
utm_term utm_term нет
utm_content utm_content нет
utm_campaign utm_campaign нет

JSON-поля объекта структуры products

Поле Описание Пример значения Обязательно
title название нового или существующего товара Кеды Nike да, если не указан sku
sku артикул ld-1245 да, если не указан title
manufacturer производитель nike нет
assembly_price цена закупки товара 450 нет, если не указан - будет автоматически указано значение из карточки товара
drop_price дроп. цена товара 600 нет, если не указан - будет автоматически указано значение из карточки товара
price цена продажи товара 780 да
amount количество товара 1 да
size_title вариация / размер товара XL нет
size_note примечание к размеру 30 см нет

Получение списка заказов

Запрос для получения списка заказов.

GET https://backend.mydrop.com.ua/vendor/api/orders

Пример ответа:

{
    "results": [
        {
            "id": 123,
            "index": 34,
            "ttn": "20450535304114",
            "returnTtn": null,
            "name": "Иван Петренко",
            "phone": "+380960000001",
            "products": [
                {
                    "product": {
                        "id": 3210,
                        "title": "Футболка синяя",
                        "sku": "t-shirt-1"
                    },
                    "amount": 1,
                    "assembly_price": 100,
                    "drop_price": 300,
                    "price": 500,
                    "size": {
                        "id": 342,
                        "title": "L",
                        "note": null
                    }
                }
            ],
            "dateTime": "2022-05-05T21:21:40.489181",
            "orderStatus": {
                "id": 145, 
                "title": "Новый",
                "type": "success",
                "final": false
            },
            "prepayAmount": 0,
            "deliveryPayment": 500,
            "total": 500,
            "dropPrice": 300,
            "dropshipperPayout": 200,
            "realMargin": 200,
            "loss": 0,
            "directDeliveryLoss": 51,
            "reverseDeliveryLoss": null,
            "deliveryService": "nova_poshta",
            "pickup": false,
            "homeDelivery": false,
            "street": null,
            "streetRef": null,
            "houseNumber": null,
            "city": "м. Київ, Київська",
            "cityRef": "e718a680-4b33-11e4-ab6d-005056801329",
            "warehouseNumber": "1",
            "warehouseRef": "ec09d88-e1c2-11e3-8c4a-0050568002cf",
            "description": "Пример примечания",
            "createdWith": "api",
            "vendorDropshipper": {
                "id": 4343,
                "dropshipper": {
                    "id": 1,
                    "name": "Евгений"
                }
            },
            "weight": 0.5,
            "deliveryStatusCode": "1",
            "deliveryStatus": "Нова пошта очікує надходження від відправника",
            "returnDeliveryStatusCode": null,
            "returnDeliveryStatus": null,
            "manager": {
                "id": 45,
                "name": "Аня"
            }
        }
    ],
    "meta": {
        "page": 1,
        "from": 1,
        "to": 20,
        "perPage": 20,
        "totalCount": 188,
        "totalPages": 10
    }
}

HTTP-запрос

GET https://backend.mydrop.com.ua/vendor/api/orders

Query-параметры

Параметр Описание Пример значения Обязательно
page страница 1 да
per_page элементов на странице (максимум 50) 20 да
sub_type подтип заказа, если указано dropshippers - выводит только заказы с дропшипперами, если указать all - выведет все заказы, если указать not_dropshippers - выведет все розничные (без дропшипперов) all нет
date_type тип фильтрации по времени (period, day) period нет
date день 29/03/2023 да, если date_type = day
date_start дата начала периода 19/03/2023 да, если date_type = period
date_end дата конца периода 29/03/2023 да, если date_type = period

Получение данных заказа по ID

Запрос для получения информации про конкретный заказ по его ID (внутренний ID из CRM, можно получить при запросе списка заказов).

GET https://backend.mydrop.com.ua/vendor/api/orders/<order_id>

Пример ответа:

{
    "id": 123,
    "index": 34,
    "ttn": "20450535304114",
    "returnTtn": null,
    "name": "Иван Петренко",
    "phone": "+380960000001",
    "products": [
        {
            "product": {
                "id": 3210,
                "title": "Футболка синяя",
                "sku": "t-shirt-1"
            },
            "amount": 1,
            "assembly_price": 100,
            "drop_price": 300,
            "price": 500,
            "size": {
                "id": 342,
                "title": "L",
                "note": null
            }
        }
    ],
    "dateTime": "2022-05-05T21:21:40.489181",
    "orderStatus": {
        "id": 145, 
        "title": "Новый",
        "type": "success",
        "final": false
    },
    "prepayAmount": 0,
    "deliveryPayment": 500,
    "total": 500,
    "dropPrice": 300,
    "dropshipperPayout": 200,
    "realMargin": 200,
    "loss": 0,
    "directDeliveryLoss": 51,
    "reverseDeliveryLoss": null,
    "deliveryService": "nova_poshta",
    "pickup": false,
    "homeDelivery": false,
    "street": null,
    "streetRef": null,
    "houseNumber": null,
    "city": "м. Київ, Київська",
    "cityRef": "e718a680-4b33-11e4-ab6d-005056801329",
    "warehouseNumber": "1",
    "warehouseRef": "ec09d88-e1c2-11e3-8c4a-0050568002cf",
    "description": "Пример примечания",
    "createdWith": "api",
    "vendorDropshipper": {
        "id": 4343,
        "dropshipper": {
            "id": 1,
            "name": "Евгений"
        }
    },
    "weight": 0.5,
    "deliveryStatusCode": "1",
    "deliveryStatus": "Нова пошта очікує надходження від відправника",
    "returnDeliveryStatusCode": null,
    "returnDeliveryStatus": null,
    "manager": {
        "id": 45,
        "name": "Аня"
    }
}

HTTP-запрос

GET https://backend.mydrop.com.ua/vendor/api/orders/<order_id>

URL-параметры

Параметр Описание Обязательно
order_id ID заказа да

Изменение данных заказа

Запрос для изменения номера ТТН и/или статуса заказа. Если необходимо поменять только один из параметров, укажите только его в запросе. Просмотреть стандартные и настроить собственные статусы заказов можно на этой странице после регистрации в CRM.

PUT https://backend.mydrop.com.ua/vendor/api/orders/<order_id>

Пример запроса:

{
    "ttn": "20450535304114",
    "status": "Продажа",
    "manualStatus": false
}

Пример ответа: такой же, как при запросе на получения данных о заказе по ID

HTTP-запрос

PUT https://backend.mydrop.com.ua/vendor/api/orders/<order_id>

URL-параметры

Параметр Описание Обязательно
order_id ID заказа да

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
name имя покупателя Иван Петренко да
phone телефон +380960000001 да
products массив с товарами заказа (структура описана ниже) да
products_mode режим работы с указанными товарами: replace или add replace - заменить существующие товары на новые, add - дополнить список товаров да
delivery_payment сума накладенного платежу 1000 нет
prepay_amount сума предоплаты 200 нет
change_delivery_address менять ли данные доставки? true нет
delivery_service служба доставки nova_poshta, ukr_poshta, meest нет
city город для отправки Киев нет
warehouse_number отделение почты 1 нет
delivery_paid доставка за счёт отправителя false нет
pickup самовывоз false нет
home_delivery куръерская доставка false нет
street улица текстом вул. Садова (Дарницький р-н, Осокорки) да, если home_delivery = true
street_ref ref улицы из базы улиц Новой Почты 3c5dde87-684a-11e6-8304-00505688561d да, если home_delivery = true и delivery_service = nova_poshta
house_number номер дома 3 да, если home_delivery = true
flat_number номер квартиры 15 да, если home_delivery = true
volumetric_length Длинна коробки посылки (в см) 10 нет
volumetric_height Высота коробки посылки (в см) 20 нет
volumetric_width Ширина коробки посылки (в см) 30 нет
weight Вес коробки посылки (в кг) 30 нет
delivery_address адрес доставки текстом (для служб доставки без полной интеграции) вул. Миру, буд. 3, кв. 15 да, только для служб доставки без полной интеграции
description примечание нет
ttn номер ТТН 20450535304114 нет
status статус заказа текстом Продажа нет
payment_status статус оплаты текстом Не оплачено нет
order_source источник заказа текстом Instagram нет
traffic_source источник трафика текстом Facebook нет
manual_status указать статус вручную (при значении true статус заказа в дальнейшем не будет меняеться автоматически на основе изменения статуса ТТН) false нет

Получение списка действий с заказами

Запрос для получения списка действий с заказами.

Параметр serviceAction обозначает, совершено ли действие автоматически CRM-системой, или же вручную вами или вашим менеджером.

Возможные типы действий actionType:

Значение Описание
created заказ создан
edited заказ отредактирован
ttn_generated ТТН сгенерирована
deleted заказ удалён
status_changed поменян статус на тот, что в поле description
restored заказ восстановлен
delivery_payment_received наложенный платёж отмечен полученным
delivery_payment_changed изменена сумма наложки
dropshipper_payout_status_changed поменян статус выплаты дропшипперу на тот, что в поле description

В приведённом примере ответа от сервера показаны два действия с заказом: первый с actionType: edited и serviceAction: false - менеджер Аня редактировала заказ вручную.

Второе действие с actionType: status_changed и serviceAction: true - CRM автоматически сменила статус на Продажа после отслеживания статуса ТТН.

GET https://backend.mydrop.com.ua/vendor/api/order_actions

Пример ответа:

{
    "results": [
        {
            "actionType": "status_changed",
            "dateTime": "2023-10-10T16:49:20.477181",
            "description": "Продажа",
            "id": 7781714,
            "serviceAction": true,
            "vendor": 1558,
            "vendorId": 1558,
            "vendorManager": null,
            "vendorManagerId": null,
            "vendorOrder": {
                "id": 1806163,
                "index": 1,
                "name": "Мирний Сергій"
            },
            "vendorOrderId": 1806163
        },
        {
            "actionType": "edited",
            "dateTime": "2023-10-10T16:21:58.510118",
            "description": null,
            "id": 7781713,
            "serviceAction": false,
            "vendor": 1558,
            "vendorId": 1558,
            "vendorManager": {
                "id": 17, 
                "name": "Аня"
            },
            "vendorManagerId": 17,
            "vendorOrder": {
                "id": 1806163,
                "index": 1,
                "name": "Мирний Сергій"
            },
            "vendorOrderId": 1806163
        }
    ],
    "meta": {
        "page": 1,
        "from": 1,
        "to": 20,
        "perPage": 20,
        "totalCount": 188,
        "totalPages": 10
    }
}

HTTP-запрос

GET https://backend.mydrop.com.ua/vendor/api/order_actions

Query-параметры

Параметр Описание Пример значения Обязательно
page страница 1 да
per_page элементов на странице (максимум 50) 20 да
last_id ID последнего обработанного вами события 7781713 нет

Используйте параметр last_id чтобы отсортировать события, которые вы уже обработали. Таким образом в выборке будут только новые события.

Получение списка запросов на выплату

Запрос для получения списка запросов на выплату.

GET https://backend.mydrop.com.ua/vendor/payout_requests

Пример ответа:

{
    "results": [
        {
            "dateTime": "2023-05-31T20:18:07.894076",
            "id": 101283,
            "loss": 450.0,
            "margin": 1750.0,
            "ordersCount": 4,
            "payout": 1300.0,
            "payoutAddress": "5644 3455 4323 3234 Кириченко Сергей Павлович",
            "status": "Не выплачено",
            "updatedDateTime": null,
            "vendorDropshipper": {
                "id": 5,
                "dropshipperId": 12345,
                "name": "Тестовый дропшиппер"
            },
            "vendorDropshipperId": 5
        },
    ],
    "meta": {
        "page": 1,
        "from": 1,
        "to": 20,
        "perPage": 20,
        "totalCount": 188,
        "totalPages": 10
    }
}

HTTP-запрос

GET https://backend.mydrop.com.ua/vendor/payout_requests

Query-параметры

Параметр Описание Пример значения Обязательно
page страница 1 да
per_page элементов на странице (максимум 50) 20 да
status статус заказа для фильтрации Не выплачено нет

Получение списка заказов в выплате

Запрос для получения списка заказов в выплате.

GET https://backend.mydrop.com.ua/vendor/payout_requests/<payout_request_id>/orders

URL-параметры

Параметр Описание Обязательно
payout_request_id ID выплаты да

Пример ответа:

{
    "results": [
        {
            "dateTime": "2023-05-31T02:55:30.012593",
            "deliveryPayment": 1030,
            "description": null,
            "dropPrice": 315,
            "dropshipperLockedAmount": 0,
            "dropshipperPayout": -159,
            "dropshipperPayoutStatus": "Не выплачено",
            "dropshipperRealMargin": 0,
            "hasDiscount": true,
            "id": 1775135,
            "index": 1,
            "loss": 153,
            "orderStatus": {
                "id": 174,
                "title": "Возврат получен"
            },
            "prepayAmount": 0,
            "productsFormatted": "Платье FO-5512 (FO-5512) (S-M)",
            "surname": "Мирный",
            "total": 400,
            "ttn": "20450718777645",
            "ttnTextStatus": "Отказ получателя"
        }
    ],
    "meta": {
        "page": 1,
        "from": 1,
        "to": 20,
        "perPage": 20,
        "totalCount": 188,
        "totalPages": 10
    }
}

HTTP-запрос

GET https://backend.mydrop.com.ua/vendor/payout_requests/<payout_request_id>/orders

Query-параметры

Параметр Описание Пример значения Обязательно
page страница 1 да
per_page элементов на странице (максимум 50) 20 да

Смена статуса выплаты

POST https://backend.mydrop.com.ua/vendor/payout_requests/<payout_request_id>/status

URL-параметры

Параметр Описание Обязательно
payout_request_id ID выплаты да

Пример запроса:

{
    "status": "Выплачено"
}

HTTP-запрос

POST https://backend.mydrop.com.ua/vendor/payout_requests/<payout_request_id>/status

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
status новый статус выплаты Выплачено да

Обновление остатков и цен товаров

В запросе можно указать те поля и размеры, которые вы хотите изменить. Не обязательно указывать все типы цен, если вы хотите поменять только Дроп. цену. Или укажите только размер L в массиве sizes, если нужно поменять наличие только этого размера. Для поиска товара в базе используйте title, sku или import_id на выбор, но обязательно один из, иначе товар не будет найден и не обновится. Последовательность проверки import_id -> sku -> title.

В примере ниже для товара с артикулом t-shirt-1 мы меняем все три типа цен и наличие размеров L и XL. Для товара с артикулом t-shirt-2 мы меняем только наличие по размеру S.

POST https://backend.mydrop.com.ua/vendor/api/products

Пример запроса:

[
    {
        "sku": "t-shirt-1",
        "assembly_price": 100,
        "drop_price": 200,
        "price": 300,
        "sizes": [
            {
                "title": "L",
                "amount": 10
            },
            {
                "title": "XL",
                "amount": 20
            }
        ]
    },
    {
        "sku": "t-shirt-2",
        "sizes": [
            {
                "title": "S",
                "amount": 5
            }
        ]
    }
]

Пример ответа:

{
    "productsUpdatedCount": 2, 
    "sizesUpdatedCount": 3, 
    "status": "ok"
}

HTTP-запрос

POST https://backend.mydrop.com.ua/vendor/api/products

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
title название Футболка белая title, sku, import_id на выбор
sku артикул t-shirt-1 title, sku, import_id на выбор
import_id ID импорта из выгрузки 3214325 title, sku, import_id на выбор
assembly_price себестоимость 100 нет
opt_price опт. цена 150 нет
drop_price дроп. цена 200 нет
price РРЦ / цена продажи 300 нет
sizes массив с размерами товара (структура описана ниже) нет

JSON-поля объекта структуры sizes

Поле Описание Пример значения Обязательно
title название вариации (размера) L title или sku
sku артикул вариации (размера) t-shirt-1-L title или sku
amount новое наличие (количество товара) 10 да

Загрузка фотографий

Для товаров можно дозагрузить фотографии. Для этого нужно использовать Content-Type: multipart/form-data. Поле для передачи binary-данных про изображение называется file, имя вашего файла, включая расширение, передайте в поле filename. Вы можете передать значение import_id через query-параметры. Таким образом если фотография уже добавлена в систему, она будет заменена той версией, которую вы пришлёте, но сохранит старое значение filename. Если же фото с таким import_id ещё не добавлено, то оно будет скачано и получил новое значение filename.

POST https://backend.mydrop.com.ua/vendor/api/products/upload

POST https://backend.mydrop.com.ua/vendor/api/products/upload?import_id=1234

Пример запроса:

------WebKitFormBoundarypgPLKMBApAKPyevw
Content-Disposition: form-data; name="file"; filename="2023-01-28_14-51.png"
Content-Type: image/png


------WebKitFormBoundarypgPLKMBApAKPyevw--

Пример ответа:

{
    "filename": "b8583c9d20a27e3c35ec.jpg",
}

Query-параметры

Параметр Описание Пример значения Обязательно
import_id внешний ID для обновления фотографий 1234 нет

Загрузка фотографий по URL изображения

Если у вас не получилось загрузить фотографии предыдущим способом, то вы можете загрузить его, к примеру, на файлообменник, получить публичную ссылку на изображение и загрузить фото в CRM.

POST https://backend.mydrop.com.ua/vendor/api/products/upload/by_url

Пример запроса:

{
    "url": "https://somesite.com/image.jpg",
    "extension": "jpg",
    "import_id": "1234"
}

Пример ответа:

{
    "filename": "b8583c9d20a27e3c35ec.jpg",
}

HTTP-запрос

POST https://backend.mydrop.com.ua/vendor/api/products/upload/by_url

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
url ссылка на фотографию https://somesite.com/image.jpg да
extension расширение файла jpg да, если в конце url отсутствует расширение
import_id внешний ID для обновления фотографий 1234 нет

Добавление и изменение категорий

С помощью этого метода можно добавить категории и подкатегории для товаров в CRM МойДроп. Любая категория может иметь любую степень вложенности. Т.е. подкатегория может содержать в себе ещё список подкатегорий и т.д.

При создании категории вы можете использовать поле import_id, чтобы назначить ей внешний ID из вашей системы. Сперва загружайте категории корневого каталога (у которых нету родителя), затем поочерёдно подкатегории, которые находятся внутри них.

Используйте поле parent_id, если создаёте подкатегории и хотите указать ID родителя, полученный из поля id при создании родительской категории ранее. Используйте поле parent_import_id чтобы указать внешний ID родительськой категории при создании подкатегории (по сути должен быть равен значению import_id при создании родительськой категории).

Если товар с указанным id или import_id уже добавлен в систему, запрос обновит информацию о данной категории. Если в запросе не будет указан parent_id или parent_import_id, то категория не будет иметь родителя, а значит станет корневой категорией.

POST https://backend.mydrop.com.ua/vendor/api/categories

Пример запроса:

{
    "title": "Футболки",
    "import_id": "1234",
    "parent_import_id": "4321",
    "filename": "b8583c9d20a27e3c35ec.jpg"
}

Пример ответа:

{
    "id": 3256,
    "title": "Футболки",
    "import_id": "1234",
    "parent_id": 8345,
    "image": {"id": 123, "filename": "b8583c9d20a27e3c35ec.jpg"}
}

HTTP-запрос

POST https://backend.mydrop.com.ua/vendor/api/categories

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
title название Футболки да
id ID категории 4547 если хотите обновить категорию по нему
import_id внешний ID категории 1234 если хотите назначить внешний ID или обновить категорию по нему
parent_id ID родителя из CRM 7345 parent_id или parent_import_id если создаёте подкатегорию
parent_import_id внешний ID родителя 4321 parent_id или parent_import_id если создаёте подкатегорию
filename изображение для обложки b8583c9d20a27e3c35ec.jpg нет

Редактирование и создание товаров

Этот запрос подходит для того, чтобы создавать и обновлять товары через один запрос, что позволяет обновлять базу товаров в CRM без необходимости дополнительно проверять, создан ли ранее уже этот товар.

В запросе можно указать те вариации (размеры) и фото, которые вы хотите добавить к уже существующим в товаре.
Можно указывать уже ранее добавленные вариации (размеры), они не будут повторно добавлены, но их наличие будет обновлено на указанное в запросе.

Дубликаты фотографии также не будут загружаться, если имя файла совпадает с тем, который уже загружен. При этом не обязательно указывать в списке фотографии, которые были ранее добавлены. Достаточно указать те, которыми необходимо дополнить карточку товара.

Для поиска товара в базе используйте title, sku или import_id на выбор, но обязательно один из, иначе товар не будет найден и не обновится. Последовательность проверки import_id -> sku -> title.

Для указания категории для товара используйте category_id или category_import_id. Если не указать ни одно из полей, то категория не будет изменена. category_id - это id категории, полученный при запросе /vendor/api/categories. category_import_id - это внешний ID категории, такой же, как передаёте (если передаёте) при запросе /vendor/api/categories, поле import_id.

Не обязательно указывать все поля: images, description и sizes если хотите дополнить что-то одно из. Если товар ранее не был добавлен, используйте поля title, sku, assembly_price, drop_price, price, чтобы заполнить карточку товара данными.

В примере ниже для товара с артикулом t-shirt-1 мы добавляем размеры L и XL, две новые фотографии и меняем описание. Для товара с артикулом t-shirt-2 мы добавляем только 1 новую фотографию.

POST https://backend.mydrop.com.ua/vendor/api/products/create_or_update

Пример запроса:

[
    {
        "title": "Футболка черная",
        "sku": "t-shirt-1",
        "description": "Новое описание",
        "sizes": [
            {
                "title": "L",
                "amount": 10
            },
            {
                "title": "XL",
                "amount": 20
            }
        ],
        "images": ["b8583c9d20a27e3c35ec.jpg", "2180be21d806a7f8a182.jpg"]
    },
    {
        "sku": "t-shirt-2",
        "images": ["a947323bf72815445857.jpg"]
    }
]

Пример ответа:

{
    "productsUpdatedCount": 2, 
    "status": "ok"
}

HTTP-запрос

POST https://backend.mydrop.com.ua/vendor/api/products/create_or_update

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
title название Футболка белая title, sku, import_id на выбор, обязательно, если товар новый
sku артикул t-shirt-1 title, sku, import_id на выбор
import_id ID импорта из выгрузки 3214325 title, sku, import_id на выбор
category_id ID категории 44345 category_id, category_import_id на выбор
category_import_id ID импорта категории 543343 category_id, category_import_id на выбор
description описание товара нет
sizes массив с новыми размерами товара (структура описана ниже) нет
images массив с заголовками изображений, полученных при загрузке нет

JSON-поля объекта структуры sizes

Поле Описание Пример значения Обязательно
title название новой вариации (размера) L да
sku артикул новой вариации (размера) t-shirt-1-L нет
amount изначальное наличие (количество товара) 10 да

Получение списка дропшипперов

Запрос для получения списка дропшипперов и поиска по ним.

GET https://backend.mydrop.com.ua/vendor/vendor_dropshippers

Пример ответа:

{
    "meta": {
        "currentPage": 1,
        "from": 1, 
        "to": 1, 
        "totalCount": 1, 
        "totalPages": 1
    },
    "results": [
        {
            "dateTime": "2023-08-18T12:34:14.277747", 
            "dropshipper": {
                "id": 1, 
                "name": "Тестовый дропшиппер", 
                "real": true
            },
            "dropshipperId": 1,
            "group": {"id": 1, "title": "Топовые"},
            "id": 5, 
            "link": "t.me/someone", 
            "name": "Тестовый", 
            "phone": "+380960000001"
        }
    ]
}

HTTP-запрос

GET https://backend.mydrop.com.ua/vendor/vendor_dropshippers

Query-параметры

Параметр Описание Пример значения Обязательно
page страница 1 нет
per_page элементов на странице (максимум 50) 20 нет
search_query поисковый запрос (по ID, имени, ссылке, телефону, адресу выплаты, примечанию) нет
only_not_verified показать только не верифицированных false нет

Создание нового дропшиппера

Запрос для добавления нового дропшиппера в CRM (без личного кабинета). Для создания дропшиппера с личным кабинетом ему необходимо лично зарегистрироваться по вашей ссылке-приглашению.

POST https://backend.mydrop.com.ua/vendor/vendor_dropshippers

Пример запроса:

{
    "name": "Тестовий Дропшиппер",
    "phone": "0981234567",
    "link": "https://t.me/test",
    "note": "Приклад примітки",
    "payoutAddress": "1234 4321 1234 4321",
    "shopLink": "https://instagram.com/test"
}

Пример ответа: такой же, как при запросе на получение списка дропшипперов

HTTP-запрос

POST https://backend.mydrop.com.ua/vendor/vendor_dropshippers

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
name имя дропшиппера Тестовий Дропшиппер да
phone телефон 0981234567 нет
link ссылка на контакт в соц. сетях https://t.me/test нет
note примечание нет
payoutAddress адрес для выплат 1234 4321 1234 4321 нет
shopLink ссылка на торговую площадку дропшиппера https://instagram.com/test нет

Версия для дропшипперов

Получение списка заказов

Запрос для получения списка заказов.

GET https://backend.mydrop.com.ua/dropshipper/api/orders

Пример ответа:

{
    "results": [
        {
            "id": 123,
            "index": 34,
            "ttn": "20450535304114",
            "name": "Иван Петренко",
            "phone": "+380960000001",
            "products": [
                {
                    "product": {
                        "id": 3210,
                        "title": "Футболка синяя",
                        "sku": "t-shirt-1",
                        "import_id": "4321123"
                    },
                    "amount": 1,
                    "drop_price": 300,
                    "price": 500,
                    "size": {
                        "id": 342,
                        "title": "L",
                        "note": null
                    }
                }
            ],
            "dateTime": "2022-05-05T21:21:40.489181",
            "orderStatus": {
                "id": 145, 
                "title": "Новый",
                "type": "success",
                "final": false
            },
            "prepayAmount": 0,
            "deliveryPayment": 500,
            "total": 500,
            "dropPrice": 300,
            "payout": 200,
            "realMargin": 200,
            "loss": 0,
            "directDeliveryLoss": 51,
            "reverseDeliveryLoss": null,
            "deliveryService": "nova_poshta",
            "pickup": false,
            "homeDelivery": false,
            "street": null,
            "streetRef": null,
            "houseNumber": null,
            "city": "м. Київ, Київська",
            "cityRef": "e718a680-4b33-11e4-ab6d-005056801329",
            "warehouseNumber": "1",
            "warehouseRef": "ec09d88-e1c2-11e3-8c4a-0050568002cf",
            "description": "Пример примечания",
            "dropshipperVendor": {
                "id": 4343,
                "vendor": {
                    "id": 1,
                    "name": "Пример поставщика"
                }
            },
            "deliveryStatusCode": "1",
            "deliveryStatus": "Нова пошта очікує надходження від відправника"
        }
    ],
    "meta": {
        "page": 1,
        "from": 1,
        "to": 20,
        "perPage": 20,
        "totalCount": 188,
        "totalPages": 10
    }
}

HTTP-запрос

GET https://backend.mydrop.com.ua/dropshipper/api/orders

Query-параметры

Параметр Описание Обязательно
page страница да
per_page элементов на странице (максимум 50) да

Создание заказа

Запрос для добавления нового заказа в CRM. Пример кода на PHP для интеграции простых лендингов и автоматической передачи заказов с них доступен на нашем GitHub.

POST https://backend.mydrop.com.ua/dropshipper/api/orders

Пример ответа:

{
    "id": 123,
    "index": 34,
    "ttn": "20450535304114",
    "name": "Иван Петренко",
    "phone": "+380960000001",
    "products": [
        {
            "product": {
                "id": 3210,
                "title": "Футболка синяя",
                "sku": "t-shirt-1",
                "import_id": "4321123"
            },
            "amount": 1,
            "drop_price": 300,
            "price": 500,
            "size": {
                "id": 342,
                "title": "L",
                "note": null
            }
        }
    ],
    "dateTime": "2022-05-05T21:21:40.489181",
    "orderStatus": {
        "id": 145, 
        "title": "Новый",
        "type": "success",
        "final": false
    },
    "prepayAmount": 0,
    "deliveryPayment": 500,
    "total": 500,
    "dropPrice": 300,
    "payout": 200,
    "realMargin": 200,
    "loss": 0,
    "directDeliveryLoss": 51,
    "reverseDeliveryLoss": null,
    "deliveryService": "nova_poshta",
    "pickup": false,
    "homeDelivery": false,
    "street": null,
    "streetRef": null,
    "houseNumber": null,
    "city": "м. Київ, Київська",
    "cityRef": "e718a680-4b33-11e4-ab6d-005056801329",
    "warehouseNumber": "1",
    "warehouseRef": "ec09d88-e1c2-11e3-8c4a-0050568002cf",
    "description": "Пример примечания",
    "dropshipperVendor": {
        "id": 4343,
        "vendor": {
            "id": 1,
            "name": "Пример поставщика"
        }
    },
    "deliveryStatusCode": "1",
    "deliveryStatus": "Нова пошта очікує надходження від відправника"
}

HTTP-запрос

POST https://backend.mydrop.com.ua/dropshipper/api/orders

JSON-поля при POST-запросе

Поле Описание Пример значения Обязательно
name имя покупателя Иван Петренко да
phone телефон +380960000001 да
products массив с товарами заказа (структура описана ниже) да
delivery_service служба доставки nova_poshta или ukr_poshta нет
city город для отправки Киев нет
warehouse_number отделение почты 1 нет
description примечание нет
ttn номер ТТН (необязательно, будет сгенерирован автоматически) 20450535304114 нет
order_source источник заказа Лендинг нет
traffic_source источник трафика AdWords нет
utm_source utm_source нет
utm_medium utm_medium нет
utm_term utm_term нет
utm_content utm_content нет
utm_campaign utm_campaign нет

JSON-поля объекта структуры products

Поле Описание Пример значения Обязательно
vendor_name название поставщика SomeDrop да
product_title название нового или существующего товара Кеды Nike да
sku артикул ld-1245 нет
drop_price дроп. цена товара 450 нет
price цена продажи товара 780 да
amount количество товара 1 да
size_title вариация / размер товара XL нет
size_note примечание к размеру 30 см нет

Получение информации о заказе

Запрос для получения информации о конкретном заказе по его ID

POST https://backend.mydrop.com.ua/dropshipper/api/orders/<order_id>

URL-параметры

Параметр Описание Обязательно
order_id ID заказа да

Пример ответа:

{
    "id": 123,
    "index": 34,
    "ttn": "20450535304114",
    "name": "Иван Петренко",
    "phone": "+380960000001",
    "products": [
        {
            "product": {
                "id": 3210,
                "title": "Футболка синяя",
                "sku": "t-shirt-1",
                "import_id": "4321123"
            },
            "amount": 1,
            "drop_price": 300,
            "price": 500,
            "size": {
                "id": 342,
                "title": "L",
                "note": null
            }
        }
    ],
    "dateTime": "2022-05-05T21:21:40.489181",
    "orderStatus": {
        "id": 145, 
        "title": "Новый",
        "type": "success",
        "final": false
    },
    "prepayAmount": 0,
    "deliveryPayment": 500,
    "total": 500,
    "dropPrice": 300,
    "payout": 200,
    "realMargin": 200,
    "loss": 0,
    "directDeliveryLoss": 51,
    "reverseDeliveryLoss": null,
    "deliveryService": "nova_poshta",
    "pickup": false,
    "homeDelivery": false,
    "street": null,
    "streetRef": null,
    "houseNumber": null,
    "city": "м. Київ, Київська",
    "cityRef": "e718a680-4b33-11e4-ab6d-005056801329",
    "warehouseNumber": "1",
    "warehouseRef": "ec09d88-e1c2-11e3-8c4a-0050568002cf",
    "description": "Пример примечания",
    "dropshipperVendor": {
        "id": 4343,
        "vendor": {
            "id": 1,
            "name": "Пример поставщика"
        }
    },
    "deliveryStatusCode": "1",
    "deliveryStatus": "Нова пошта очікує надходження від відправника"
}