Добавление записи через Rest API ( Python )
Re: Добавление записи через Rest API ( Python )
Сегодня весь день в разъездах, некогда было заниматься. я попробую после еще помучать. отпишусь
Re: Добавление записи через Rest API ( Python )
Все что могли попробовали, ошибка "не массив" хоть тресни! Он массив []! тут странно что часть кода которая занимается авторизацией ( key, username, password ... ) идет в коде как "Словарь" ( ключ : значение ) и он работает, авторизация проходит, а вот дальше items : "Тут уже должен быть именно массив" .
При любом варианте ( массив, словарь ) не принимает, ответ не массив
При любом варианте ( массив, словарь ) не принимает, ответ не массив
Код: Выделить всё
payload = {
"key": "****************************",
"username": "login",
"password": "password",
"action": "insert",
"entity_id": 76,
"items": items,
}
Код: Выделить всё
{"status":"error","error_code":"","error_message":"items is not array"}
Re: Добавление записи через Rest API ( Python )
Добрый день, новая ошибка, старую вроде решили. а теперь вот:
{"status":"error","error_code":"","error_message":"items is required"}
что это значит?
{"status":"error","error_code":"","error_message":"items is required"}
что это значит?
- support
- Техническая поддержка
- Сообщения: 9296
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Добавление записи через Rest API ( Python )
Это значить что items не видно
Re: Добавление записи через Rest API ( Python )
да уже понял, спасибо.
Война продолжается)
Война продолжается)
Re: Добавление записи через Rest API ( Python )
Опа, вроде пошло но не до конца.
{"status":"success","data":{"id":""}} ?? расшифруйте
{"status":"success","data":{"id":""}} ?? расшифруйте
- support
- Техническая поддержка
- Сообщения: 9296
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Добавление записи через Rest API ( Python )
Да, запрос выполнился, но похоже что запись не создалась, так как ID записи пустое.
Проверьте правильно ли указаны поля в массиве items. Можно пример кода посмотреть?
Проверьте правильно ли указаны поля в массиве items. Можно пример кода посмотреть?
Re: Добавление записи через Rest API ( Python )
Код: Выделить всё
# -*- coding: utf-8 -*-
#Библиотека пользовательская, взял с инета ( имитирует функцию из php )
from php import Php
#Библиотека для POST/GET запросов
import requests
url = "http://********/api/rest.php"
item = {
"field_276": "20",
"field_277": "test"
}
params = {
"key": "0umZsYFjg6NW4EKLxLmDTsCx***************",
"username": "Admin",
"password": "Parol123",
"action": "insert",
"entity_id": "29",
"items": item
}
date = Php.http_build_query(params)
print(date)
r = requests.get( url, date)
print(r.text)
key=0umZsYFjg6NW4EKLxLmDTsCx***************&username=Admin&password=Parol123&action=insert&entity_id=29&items[field_276]=20&items[field_277]=test&
{"status":"success","data":{"id":""}}
Re: Добавление записи через Rest API ( Python )
Я написал нужную мне програмулину для Windows ( на Python ), но оставлять заявки через Mail не очень быстро, хотелось бы через API ( как основной способ ), а единственный выход это PHP его на на машинах запускать не очень удобно. --->Питон запускает --> Php скрипт с переменными из Питона--> Результат возвращает в Питон .
НУ извращение какое то
НУ извращение какое то
-
- Сообщения: 28
- Зарегистрирован: 02 окт 2017, 08:49
- Имя: Алексей
- Откуда: Владивосток
Re: Добавление записи через Rest API ( Python )
Здравствуйте. Можете подсказать по питону?
Написал выборку по API на PHP. Работает.
Блок с параметрами
В данный момент пытаюсь сделать приложение на питоне. Но уперся в то, что блок с фильтрами на питоне вообще никак не работает почему-то. Т.е. всегда получаю все записи в ответе.
Например, вот с фильрацией по дате '242'
пытался передавать как словарь, как список словарей, как множество. Разные варианты.
Всегда одно и тоже - фильтрация игнорируется.
Блок с параметрами
Еще пробовал вот так передавать параметры
Написал выборку по API на PHP. Работает.
Блок с параметрами
Код: Выделить всё
$params = array(
'key' => ' ***',
'username' => 'admin',
'password' => '****',
'action' => 'select', //метод, выборка
'entity_id' => 28, //ID сущности, из которой будут выбираться записи
'limit' => 0, //Если не указан, выбираются все строки
'select_fields' => '242,270,271,399,294,247,286,285,394,481,395,396,293,272,273,397,398,399,400,401,480,275',
'filters' => array(
'242'=> "$start,$stop",//'2021-11-05,2021-11-20',
//'310'=>array('value'=>82,'condition'=>'include'), //Фильтр по типу поля список. condition может быть include/exclude
'294'=>array('value'=>77,'condition'=>'exclude'), //фильтр! не выводятся простые покупки
'270' => array('condition'=>'not_empty_value'), //фильтр! Не выводятся заказы, если не указан номер заказчика
)
);
В данный момент пытаюсь сделать приложение на питоне. Но уперся в то, что блок с фильтрами на питоне вообще никак не работает почему-то. Т.е. всегда получаю все записи в ответе.
Например, вот с фильрацией по дате '242'
пытался передавать как словарь, как список словарей, как множество. Разные варианты.
Всегда одно и тоже - фильтрация игнорируется.
Блок с параметрами
Код: Выделить всё
params = {
'key':'****',
'username':'admin',
'password':'***',
'action':'select',
'entity_id':28,
'select_fields':'242,247,275,270,271,272,273,285,286,293,294,346,394,395,396,397,398,399,400,401,480,481',
'limit': 0,
'filters': {
'242': '2023-02-01,2023-02-05',
},
}
Еще пробовал вот так передавать параметры
Код: Выделить всё
from collections import OrderedDict
params = OrderedDict([('key','*****'),
('username','admin'),('password','****'),
('action','select'),('entity_id',28),('limit',0),
('select_fields','242'),
('filters',OrderedDict([
('242', '2023-02-01,2023-02-05'),
('294',OrderedDict([('value',77),('condition','exclude')])),
('270',OrderedDict([('condition','not_empty_value')]))]))]);