FastDo Delivery

Общие сведения

Статусы заказа

NOW - Созданный заказ, ожидает одобрения оператора.

3 - Заказ одобрен оператором и доступен курьерам.

EXECUTING - Заказ выполняется курьером.

CANCELED - Заказ отменен.


Типы транспорта

wall - Пеший курьер

car - Курьер на легковой машине

argo - Курьер на грузовой машине


История изменений API


Методы API

Расчет стоимости доставки

С помощью данного метода вы можете расcчитать точную стоимость доставки перед созданием заказа. Чем больше параметров вы указываете при расчете заказа, тем точнее будет результат.

В ответ на запрос без параметров всегда возвращается минимальная стоимость заказа.

TOCKEN можно получить после регистрации в личном кабинете


https://api.fastdo.ru/basic/api/v1/calc

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

Название Тип данных Обязательно Описание
matter string да Что везем. Минимум 3 символа, максимум 5000 символов. Укажите категорию товара (например, «видеорегистратор»), а не его модель, которая ничего не говорит курьеру. Укажите габариты отправления, если необходимо. Значение по умолчанию: null.
vehicle range нет Тип транспорта. Значение по умолчанию: wall (Пеший курьер)
wall - Пеший курьер
car - Курьер на автомобиле
cargo - Грузовой автомобиль
total_weight number нет Общий вес отправления, кг. Значение по умолчанию: 0.
insurance_amount money нет Сумма страховки. Значение по умолчанию: "0.00".
backpayment_details string / null нет Реквизиты для перевода выручки. Например, номер карты или Qiwi-кошелька. Максимум 300 символов.Значение по умолчанию: null.
points string / null нет Список адресов (точек) в заказе. Максимум 10 точек. Значение по умолчанию: [].
points[address] string да Полный адрес в формате: город, улица, дом. Максимум 500 символов.
points[start_date] date yyyy-mm-dd нет Ожидаемая дата прибытия на точку
points[start_time] date H:m нет Ожидаемое вермя прибытия на точку (от)
points[finish_time] date H:m нет Ожидаемое вермя прибытия на точку (до)
points[name] string нет Имя контактного лица на точке. Максимум 500 символов.
points[phone] phone pattern' => '/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/' нет Номер телефона контактного лица на точке.
points[note] string нет Дополнительная информация о заказе для курьера: номер офиса или квартиры, название компании, с какой купюры сдача, габариты отправления.
points[client_order_id] string нет Внутренний номер заказа в интернет-магазине клиента. Максимум 500 символов.
points[taking_amount] number нет Сумма для получения от клиента на точке. Максимальная сумма 10000
points[buyout_amount] number нет Сумма выкупа на точке. Максимальная сумма 10000

Параметры ответа

Название Тип данных Описание
is_error number Успешность выполнения запроса. 0 - нет ошибок, 1 - есть ошибки
result objec Массив данных
result[cost] money Данные предварительно рассчитанного заказа.
result[cost][payment_amount] money Стоимость доставки. Входит в общую стоимость заказа (payment_amount)
result[cost][delivery_fee_amount] money Данные предварительно рассчитанного заказа.
result[cost][insurance_amount] money Сумма страховки
result[cost][insurance_fee_amount] money Стоимость страховки. Входит в общую стоимость заказа (payment_amount)
result[cost][add_services] money Стоимость допполнительных услуг.
result[cost][money_transfer_fee_amount] money Комиссия за работу с деньгами (перевод выручки, получение денег на точках). Входит в общую стоимость заказа (payment_amount)
result[cost][money_transfer_fee_amount_buyout] money Сумма за выкуп товара. Входит в общую стоимость заказа (payment_amount)
result[cost][money_transfer_fee_amount_taking] money Сумма за получение денежных средств. Входит в общую стоимость заказа (payment_amount)
result[cost][discount_amount] money Скидка.Уже учтена в общей стоимости заказа (payment_amount)

Пример использования

<?php 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'https://api.fastdo.ru/basic/api/v1/calc');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); 
$token = 'TOCKEN API';
$authorization = 'Authorization: Bearer ' . $token;
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded' , $authorization]);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 

$data = ['order' => 
            [
                'matter' => 'Документы', 
                
                'points' => [
                    [
                        'address'=>'москва, изюмская 26', //  ||ОБЯЗ строка мин 5, макс 500 символов
                    ],
                    [
                        'address'=>'москва, измайловское шоссе 29', //  ||ОБЯЗ строка мин 5, макс 500 символов
                    ],
                ],
            ]
        ];

$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $json); 
 
$result = curl_exec($curl); 
if ($result === false) { 
    throw new Exception(curl_error($curl), curl_errno($curl)); 
} 

echo $result;

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

С помощью данного метода вы можете оформить заказ на доставку.

TOCKEN можно получить после регистрации в личном кабинете


https://api.fastdo.ru/basic/api/v1/create

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

Название Тип данных Обязательно Описание
matter string да Что везем. Минимум 3 символа, максимум 5000 символов. Укажите категорию товара (например, «видеорегистратор»), а не его модель, которая ничего не говорит курьеру. Укажите габариты отправления, если необходимо. Значение по умолчанию: null.
vehicle range да Тип транспорта. Значение по умолчанию: wall (Пеший курьер)
wall - Пеший курьер
car - Курьер на автомобиле
cargo - Грузовой автомобиль
total_weight number да Общий вес отправления, кг. Значение по умолчанию: 0.
insurance_amount money нет Сумма страховки. Значение по умолчанию: "0.00".
backpayment_details string / null нет Реквизиты для перевода выручки. Например, номер карты или Qiwi-кошелька. Максимум 300 символов.Значение по умолчанию: null.
points string / null да Список адресов (точек) в заказе. Минимум 2 точки. Максимум 10 точек. Значение по умолчанию: [].
points[address] string да Полный адрес в формате: город, улица, дом. Максимум 500 символов.
points[start_date] date yyyy-mm-dd нет Ожидаемая дата прибытия на точку
points[start_time] date H:m нет Ожидаемое вермя прибытия на точку (от)
points[finish_time] date H:m нет Ожидаемое вермя прибытия на точку (до)
points[name] string да Имя контактного лица на точке. Максимум 500 символов.
points[phone] phone pattern' => '/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/' да Номер телефона контактного лица на точке.
points[note] string нет Дополнительная информация о заказе для курьера: номер офиса или квартиры, название компании, с какой купюры сдача, габариты отправления.
points[client_order_id] string нет Внутренний номер заказа в интернет-магазине клиента. Максимум 500 символов.
points[taking_amount] number нет Сумма для получения от клиента на точке. Максимальная сумма 10000
points[buyout_amount] number нет Сумма выкупа на точке. Максимальная сумма 10000

Параметры ответа

Название Тип данных Описание
is_error number Успешность выполнения запроса. 0 - нет ошибок, 1 - есть ошибки
result objec Массив данных
result[cost] money Данные предварительно рассчитанного заказа.
result[cost][payment_amount] money Стоимость доставки. Входит в общую стоимость заказа (payment_amount)
result[cost][delivery_fee_amount] money Данные предварительно рассчитанного заказа.
result[cost][insurance_amount] money Сумма страховки
result[cost][insurance_fee_amount] money Стоимость страховки. Входит в общую стоимость заказа (payment_amount)
result[cost][add_services] money Стоимость допполнительных услуг.
result[cost][money_transfer_fee_amount] money Комиссия за работу с деньгами (перевод выручки, получение денег на точках). Входит в общую стоимость заказа (payment_amount)
result[cost][money_transfer_fee_amount_buyout] money Сумма за выкуп товара. Входит в общую стоимость заказа (payment_amount)
result[cost][money_transfer_fee_amount_taking] money Сумма за получение денежных средств. Входит в общую стоимость заказа (payment_amount)
result[cost][discount_amount] money Скидка.Уже учтена в общей стоимости заказа (payment_amount)

Пример использования

<?php 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'https://api.fastdo.ru/basic/api/v1/create');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); 
$token = 'TOCKEN API';
$authorization = 'Authorization: Bearer ' . $token;
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded' , $authorization]);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 

$data = ['order' => 
            [
                'matter' => 'Документы', 
                
                'points' => [
                    [
                        'address'=>'москва, изюмская 26',
			'name' => 'Отправитель',
			'phone' => '+79001112233'
                    ],
                    [
                        'address'=>'москва, измайловское шоссе 29',
			'name' => 'Получатель',
			'phone' => '+79992224411'
                    ],
                ],
            ]
        ];

$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $json); 
 
$result = curl_exec($curl); 
if ($result === false) { 
    throw new Exception(curl_error($curl), curl_errno($curl)); 
} 

echo $result; 

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

С помощью данного метода вы можете оформить заказ на доставку.

For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors

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

При редактировании точки в заказе обязательно передайте её уникальный номер, в противном случае в заказ будет добавлена ещё одна точка. Все точки, для которых не был передан номер, будут удалены из заказа.

TOCKEN можно получить после регистрации в личном кабинете


https://api.fastdo.ru/basic/api/v1/orderedit

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

Название Тип данных Обязательно Описание
order_id number да ID заказа
params object да Переменные из разедла Создание заказа

Параметры ответа

Название Тип данных Описание
is_error number Успешность выполнения запроса. 0 - нет ошибок, 1 - есть ошибки
result objec Массив данных
result[cost] money Данные предварительно рассчитанного заказа.
result[cost][payment_amount] money Стоимость доставки. Входит в общую стоимость заказа (payment_amount)
result[cost][delivery_fee_amount] money Данные предварительно рассчитанного заказа.
result[cost][insurance_amount] money Сумма страховки
result[cost][insurance_fee_amount] money Стоимость страховки. Входит в общую стоимость заказа (payment_amount)
result[cost][add_services] money Стоимость допполнительных услуг.
result[cost][money_transfer_fee_amount] money Комиссия за работу с деньгами (перевод выручки, получение денег на точках). Входит в общую стоимость заказа (payment_amount)
result[cost][money_transfer_fee_amount_buyout] money Сумма за выкуп товара. Входит в общую стоимость заказа (payment_amount)
result[cost][money_transfer_fee_amount_taking] money Сумма за получение денежных средств. Входит в общую стоимость заказа (payment_amount)
result[cost][discount_amount] money Скидка.Уже учтена в общей стоимости заказа (payment_amount)

Пример использования

<?php 
 
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'https://api.fastdo.ru/basic/api/v1/orderedit'); 
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); 
$token = 'TOCKEN API';
$authorization = 'Authorization: Bearer ' . $token;
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded' , $authorization]);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
 
$data = ['order' => 
            [
                'order_id'          => 1111,
                'matter'              => 'Документы тендерные', 
                
                'points' => [ 
                    [ // вносим зменения в адресс 4
                        'point_id' => '4',
                        'address'=>'Москва Измайловское шоссе 45',
                        
                        'phone' => '+79992223377',
                        'note' => 'Комментарий к заказу или примечание',
                    ],
                    [ // не меняе данные 
                        'point_id' => '3',
                    ],
                    [ // добавляем новую точку
                        'address'=>'Москва Измайловское шоссе 29',
                        'start_date' => '2019-11-25',
                        'start_time' => '22:30',
                        'finish_time' => '23:30',
                        'name' => 'Получатель',
                        'phone' => '+79636297910',
                        'note' => 'Комментарий к заказу или примечание',
                        
                    ],
                    
                ],
                
                'services' => [
                    '1'=>1, //Неудобный груз (> 100см)
                    '2'=>0, //Забор со склада или из транспортной компании
                    '3'=>1, // Курьер на автомобиле
                    '4'=>1, //Опытный курьер
                    '5'=>1, //«Свой» курьер
                    '6'=>0, //Максимальный приоритет заказу
                    '7'=>0, //Подтвердить заказ перед доставкой
                    '8'=>0, //Помощь в погрузке (более 15 кг)
                    ]
            ]
        ];

 
$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $json); 
 
$result = curl_exec($curl); 
if ($result === false) { 
    throw new Exception(curl_error($curl), curl_errno($curl)); 
} 
 
echo $result; 

Отмена заказа

С помощью данного метода вы можете отменить заказ находящийся в статусе "Новый", "Идет поиск курьера"

TOCKEN можно получить после регистрации в личном кабинете


https://api.fastdo.ru/basic/api/v1/ordercancel

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

Название Тип данных Обязательно Описание
order_id number да ID заказа

Параметры ответа

Название Тип данных Описание
is_error number Успешность выполнения запроса. 0 - нет ошибок, 1 - есть ошибки
message string Текст результата запроса

Пример использования

<?php 
 
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'https://api.fastdo.ru/basic/api/v1/ordercancel');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); 
$token = 'TOCKEN API';
$authorization = 'Authorization: Bearer ' . $token;
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded' , $authorization]);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
 
$data = ['order' => 
            [
                'order_id' => 1111,
            ]
        ];
 
$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $json); 
 
$result = curl_exec($curl); 
if ($result === false) { 
    throw new Exception(curl_error($curl), curl_errno($curl)); 
} 
 
echo $result; 

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

С помощью данного метода вы можете оформить заказ на доставку.

TOCKEN можно получить после регистрации в личном кабинете


https://api.fastdo.ru/basic/api/v1/order

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

Название Тип данных Обязательно Описание
order_id number нет ID заказа

Параметры ответа

Название Тип данных Описание
is_error number Успешность выполнения запроса. 0 - нет ошибок, 1 - есть ошибки
result object Массив данных
result[order_id] number Идентификатор заказа
result[order_id_site] string Идентификатор заказа для отслеживания заказа
result[created_datetime] datetime Дата создания
result[finish_datetime] datetime Дата завершения
result[vehicle] range Тип транспорта
result[status] string Статус заказа
result[matter] strung Что везем
result[total_weight] number Общий вес отправления, кг.
result[backpayment_details] strung Реквизиты для перевода выручки.
result[insurance] number Сумма страховки
result[points][] object Список адресов (точек) в заказе
result[points][point_id] object Идетификатор точки
result[points][city] object Город
result[points][address] string Полный адрес в формате: город, улица, дом.
result[points][name] string Имя контактного лица на точке
result[points][phone] string pattern' => '/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/' Номер телефона контактного лица на точке.
result[points][dateFrom] dateTime Дата от
result[points][dateTo] dateTime Дата до
result[points][note] string Дополнительная информация о заказе для курьера: номер офиса или квартиры, название компании, с какой купюры сдача, габариты отправления.
result[points][taking_amount] number Сумма для получения от клиента на точке. Максимальная сумма 10000
result[points][buyout_amount] number Сумма выкупа на точке. Максимальная сумма 10000
result[points][client_order_id] string Внутренний номер заказа в интернет-магазине клиента. Максимум 500 символов.
result[points][latitude] float широта
result[points][longitude] float долгота
result[payment_amount] money Стоимость доставки. Входит в общую стоимость заказа (payment_amount)
result[delivery_fee_amount] money Данные предварительно рассчитанного заказа.
result[insurance_amount] money Сумма страховки
result[insurance_fee_amount] money Стоимость страховки. Входит в общую стоимость заказа (payment_amount)
result[add_services] money Стоимость допполнительных услуг.
result[money_transfer_fee_amount] money Комиссия за работу с деньгами (перевод выручки, получение денег на точках). Входит в общую стоимость заказа (payment_amount)
result[money_transfer_fee_amount_buyout] money Сумма за выкуп товара. Входит в общую стоимость заказа (payment_amount)
result[money_transfer_fee_amount_taking] money Сумма за получение денежных средств. Входит в общую стоимость заказа (payment_amount)
result[discount_amount] money Скидка.Уже учтена в общей стоимости заказа (payment_amount)

Пример использования

<?php 
 
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'https://api.fastdo.ru/basic/api/v1/order');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); 
$token = 'TOCKEN API';
$authorization = 'Authorization: Bearer ' . $token;
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded' , $authorization]);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
 
$data = ['order' => 
            [
                //'order_id' => 1539,
                
            ]
        ];
 
$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $json); 
 
$result = curl_exec($curl); 
if ($result === false) { 
    throw new Exception(curl_error($curl), curl_errno($curl)); 
} 
 
echo $result;