Новый Заказ Через Api

Добрый день.

Великие Гуру, объясните мне дураку пару моментов. Заранее извиняюсь за то, что отрываю Вас от великих дел.

1. Как я должен догадаться какие поля для создания нового заказа через API обязательные/минимально необходимые?

2. Натыкайте меня носом как маленького котенка хотя бы на один единственный пример по созданию нового заказа через API. Я почему то найти не могу. Примеров нет, ни в гугле ни на форуме, я даже у мерчиума изучал документацию на API и там тоже нет примеров.

Мне нужна строка JSON с параметрами которые надо передать. Как передавать и куда передавать объяснять не нужно, тут все работает. Проблема именно в параметрах ибо ошибка Bad Request.

http://docs.cs-cart.com/4.3.x/api/index.html- по этой ссылке мануал прокурен уже дотла.

P.S. Что касается самого движка CS-Cart со стороны пользователя то я могу сказать, что это классный, легкий, простой и понятный движок. Который своей легкостью подкупает тебя настолько, что радуешься как ребенок от того, что экономишь каких-то 10 тыщ рублей (я про битрикс), но когда дело касается допиливания движка под свои нужны, начинаешь вспоминать фразу: Горечь от плохого качества помнится гораздо дольше, чем радость от низкой цены.

Я уже 20 раз пожалел, что купил ваш движок. Уж лучше купить битрикс, который сложный для понимания, но очень простой для допиливания.

Что я думаю о Вашей компании сейчас?! Ничего хорошо. Фантик красивый - факт. Тех поддержка ужасная, документация нормальная, подробная отсутствуют, на форуме толком ничего нет, за любой, даже элементарный вопрос готовы содрать с нас денег... накипело....

Вот такой вариант работает у меня, с оговоркой, что заказ в админке числится как "Incomplete". Жду, когда мой вопрос на эту тему одобрит модератор.

POST http://cs-cart.lan/api/2/orders

{
    "user_id": 15,
    "b_firstname": "User",
    "b_lastname": "Test",
    "email": "user@email.com",
    "b_address": "1234 User st.",
    "b_address_2": "",
    "b_city": "Oakland",
    "b_country": "US",
    "b_state": "CA",
    "b_zipcode": "94607",
    "b_phone": "415-1234567",
    "s_address": "1234 User st.",
    "s_address_2": "",
    "s_city": "Oakland",
    "s_country": "US",
    "s_state": "CA",
    "s_zipcode": "94607",
    "s_phone": "415-1234567",
    "status": "O",
    "payment_id": 1,
    "products": {
        "1267114885":
            {
                "product_id": 248,
                "amount": 1
            },
        "1015124755":        
            {
                "product_id": 249,
                "amount": 1
            }
    }
}

Товары предварительно должны лежать в корзине.

ilich,

В ближайшее время опубликуем статью с примерами создания заказов через API.
При создании заказа, статус указывать нет смысла, потому что при создании заказа - делается тоже что и при размещении заказа через кастомерку.
Вероятно payment_id относится к стороннему пейменту (т.е. не офллайновый) и поэтому создание оредра не проходит.
Так же убедитесь что пеймент с таким payment_id существует.

Скопирую сюда кусок документации по созданию заказов:

POST /orders - Запрос на добавление заказа.
Формат запроса
Запрос следует отправлять с помощью метода POST. Данные должны приходить в теле HTTP запроса в соответствии с переданным Content-type.
http://example.com/api/2.0/orders
{
    "user_id":"3",
    "payment_id":"2",
    "shipping_id":"1",
    "products":{
         "148":{
             "amount":"1"
         }
    }
}
Для версии ULT, если запрос выполняется от имени администратора, то заказ необходимо создавать через объект store
http://example.com/api/2.0/stores/<идентификаторвитрины>/orders
{
    "user_id":"3",
    "payment_id":"2",
    "shipping_id":"1",
    "products":{
         "148":{
             "amount":"1"
         }
    }
}
Тело запроса
Атрибуты следует передавать в теле запроса.
user_id (условно обязательный) Идентификатор пользователя. Параметр может быть опущен, если в запросе есть параметр user_data.
payment_id (обязательный) Идентификатор платежной системы. Платежная система должна быть доступна в магазине.
shipping_id (обязательный) Идентификатор службы доставки. Служба доставки должна быть доступна в магазине и настроена соответствующим образом для расчета стоимости доставки на передаваемый адрес.
products (обязательный) Ассоциативный массив товаров, ключами которого являются идентификаторы товаров, а значения параметрами товара в заказе.
"products": {
    "241":{
        "amount":"1",
        "product_options":{
           "12":"44", 
           "13":"48" 
        }         
    }
}
amount (обязательный) - Кол-во товара.
product_options (не обязательный) - Ассоциативный массив описывающий комбинацию товара, в ключах - идентификатор опции, в значении - идентификатор варианта.
user_data (не обязательный) Ассоциативный массив с описание данных покупателя.
"user_data": {
  "email": "email@example.com",
  "b_firstname":"John",
  "b_lastname":"Doe",
  "b_address":"44 Main street",
  "b_city":"Boston",
  "b_state":"MA",
  "b_country":"US",
  "b_zipcode":"02134",
  "b_phone":"",
  "s_firstname":"John",
  "s_lastname":"Doe",
  "s_address":"44 Main street",
  "s_city":"Boston",
  "s_state":"MA",
  "s_country":"US",
  "s_zipcode":"02134",
  "s_phone":""
}
email (обязательный) - E-mail.
b_firstname (обязательный) - Имя плательщика.
b_lastname (обязательный) - Фамилия плательщика.
b_address (обязательный) - Адрес плательщика.
b_city (обязательный) - Город плательщика.
b_state (обязательный) - 2х символьный код штата плательщика. Список доступных значений можно увидеть в административном интерфейсе магазина Administration -> Shipping & taxes -> States.
b_country (обязательный) - 2х символьный код страны плательщика. Список доступных значений можно увидеть в административном интерфейсе магазина Administration -> Shipping & taxes -> Countries.
b_zipcode (обязательный) - Почтовый индекс плательщика.
b_phone (не обязательный) - Номер телефона плательщика.
s_firstname (обязательный) - Имя получателя.
s_lastname (обязательный) - Фамилия получателя.
s_address (обязательный) - Адрес получателя.
s_city (обязательный) - Город получателя.
s_state (обязательный) - 2х символьный код штата плательщика. Список доступных значений можно увидеть в административном интерфейсе магазина Administration -> Shipping & taxes -> States.
s_country (обязательный) - 2х символьный код страны плательщика. Список доступных значений можно увидеть в административном интерфейсе магазина Administration -> Shipping & taxes -> Countries.
s_zipcode (обязательный) - Почтовый индекс получателя.
s_phone (не обязательный) - Номер телефона получателя.
Параметр не будет учитываться, если в запросе есть user_id.
Формат ответа
В случае если заказ создать не удалось будет возвращен статус HTTP/1.1 400 Bad Request. В случае успеха будет возвращён статус HTTP/1.1 201 Created.
Если при создании заказа товары будут разбиты на подзаказы и в нем не будет доступен указанный метод доставки, то будет возвращен статус HTTP/1.1 400 Bad Request.
{
    "order_id": 106
}