Заказать обратный звонок
×

Заказать обратный звонок

Спасибо, мы вам перезвоним

Сервис интеграции с 1С и другими программами бухгалтерского учета

Взаимодействие осуществляется через механизм веб-сервисов по протоколу SOAP, также сервис доступен через GET запросы.

 

Для использования через SOAP: WSDL веб-сервиса: http://урл-магазина/api/integration.php?wsdl (например для zizap.ruhttp://zizap.ru/api/integration.php?wsdl)

Для GET: http://урл-магазина/api/integration.php (например http://zizap.ru/api/integration.php)

 

Метод «getUser» — поиск пользователей

Осуществляет поиск зарегистрированных клиентов магазина.

Метод getUser — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

userId

integerнет 1ID клиента магазина.
При указании параметра будет найден только пользователь с указанным ID

userId

arrayнет array(1,2,3)
или userId[]=1&userId[]=2 для GET
ID клиентов магазина.
При указании параметра будут найдены только пользователи с указанными ID

email

stringнет user@mail.ruЭлектронная почта клиента. При указании параметра будет найден пользователь с указанной почтой

registeredLater

datetimeнет 2012-05-28 17:15:20При указании параметра будут найдены пользователи только зарегистрированные позже указанной даты

registeredBefore

datetimeнет 2013-05-28 17:15:20При указании параметра будут найдены пользователи только зарегистрированные раньше указанной даты

daysFromRegistration

integerнет 5Количество дней со дня регистрации.
При указании параметра будут найдены только те пользователи с момента регистрации прошло не больше дней, чем указанно в параметре

 

Все параметры являются взаимодополняемыми, например если указать одновременно registeredLater и registeredBefore, то будут найдены пользователи зарегистрировавшиеся в указанный период времени.

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

Метод getUser — Возвращаемые данные

 

Метод возвращает массив объектов user, который содержит информацию о клиенте.

Название Пример Описание

id

1Уникальный ID клиента

email

user@mail.ruЭлектронная почта клиента

fio

Иванов ИванФИО клиента

company

ООО «Иванов»Название компании, если клиент Юр. лицо

registrationdt

2011-04-21 14:10:40Дата и время регистрации клиента

creditlimit

10000Кредитный лимит пользователя

clientid

000001Номер клиента

additionalfields

 Дополнительные поля с данными из конструктора форм регистрации
Примеры использования метода
1. PHP - С использованием стандартного расширения SOAP
$wsdl = "http://zizap.ru/api/integration.php?wsdl";
$options = array(
    'soap_version' => SOAP_1_2,
    'encoding' => 'windows-1251'
);

$client = new SoapClient($wsdl, $options);
$request = array(
    'password" => '123', // пароль от сервиса
    'daysFromRegistration" => 7, // Только зарегистрированные за последние 7 дней
);

$result = $client->getUser($request);
2. PHP - Через GET запросы
$result = file_get_contents('http://zizap.ru/api/integration.php?method=getUser&password=123');
echo $result;
3. Python - через GET запросы
#!/usr/bin/env python
import sys
import urllib2
urlString = "http://zizap.ru/api/integration.php?method=getUser&password=123"
try:
    f = urllib2.urlopen(urlString)
    requestResult = f.read()
    f.close()
    print(requestResult)

except:
    print("Error")
4. Ruby - Через GET запросы
require 'net/http'
require 'uri'

def open(url)
  Net::HTTP.get(URI.parse(url))
end

page_content = open('http://zizap.ru/api/integration.php?method=getUser&password=123')
puts page_content
5. 1С - Через GET запросы
Функция ДекодироватьURL(Адрес)

Скрипт = Новый COMОбъект("MSSCriptControl.SCriptControl");
Скрипт.Language = "javascript";
Возврат Скрипт.Eval("encodeURI('" + Адрес + "')");

КонецФункции
Функция ПолучитьСтрокуПоURL(Адрес)

Ком = Новый COMОбъект("MSXML2.XMLHTTP");
Ком.Open("GET", ДекодироватьURL(Адрес), Ложь);
Ком.Send();
Возврат Ком.responseText;

КонецФункции


Функция ПолучитьСтрокуПоURL возвращает содержимое адреса урл в одну строку. (например ПолучитьСтрокуПоURL("http://zizap.ru/api/integration.php?method=getUser&password=123"); )
6. VB6 - Ф-ция для отправки GET запросов
Private Function GetHTMLSource(ByVal sURL As String) As String
Dim xmlHttp As Object
    Set xmlHttp = CreateObject("MSXML2.XmlHttp")
    xmlHttp.Open "GET", sURL, False
    xmlHttp.send
    GetHTMLSource = xmlHttp.responseText
    Set xmlHttp = Nothing
End Function
7. VB.Net - Через GET запросы
Imports System
Imports System.IO
Imports System.Net
Module Module1
Sub Main()
'Address of URL
Dim URL As String = http://zizap.ru/api/integration.php?method=getUser&password=123'
' Get HTML data
Dim client As WebClient = New WebClient()
Dim data As Stream = client.OpenRead(URL)
Dim reader As StreamReader = New StreamReader(data)
Dim str As String = ""
  str = reader.ReadLine()
Do While str.Length > 0
  Console.WriteLine(str)
  str = reader.ReadLine()
Loop
  End Sub
  End Module
Примеры GET запросов
// Поиск всех пользователей
http://zizap.ru/api/integration.php?method=getUser&password=123

// Поиск пользователей зарегестрированных с 2011-04-21 до полудня 2012-05-11
http://zizap.ru/api/integration.php?method=getUser&password=123?registeredLater=2012-05-28+00:00:00&registeredBefore=2012-05-28+12:00:20

// Поиск пользователей c ID 12, 4, и 8
http://zizap.ru/api/integration.php?method=getUser&userId[]=12&userId[]=4&userId[]=8

 

 

Метод «getUserBalance» — Баланс клиента

Метод возвращает баланс пользователя с указанным ID или электронной почтой

Метод getUserBalance — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

userId

integerда, если не указан email 1ID клиента магазина (поле id в getUser).
При указании параметра будет показан баланс клиента с данным ID

email

stringда, сли не указан userId user@mail.ruЭлектронная почта клиента. При указании параметра будет показан баланс клиента с указанной почтой

 

Метод требует обязательного указания ID или электронной почты клиента

Метод getUserBalance — Возвращаемые данные

 

Метод возвращает объект balance, который содержит баланс клиента.

Название Пример Описание

balance

123.99Текущий баланс клиента

 

 

Метод «getPaymentOperationHistory» — История платежей

Метод возвращает историю платежей и списаний денег с баланса клиентов.

Метод getPaymentOperationHistory — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

userId

integerнет 1ID клиента магазина.
При указании параметра будут найдены финансовые операции только пользователя с указанным ID

userId

arrayнет array(1,2,3)
или userId[]=1&userId[]=2 для GET
Массив ID клиентов магазина.
При указании параметра будут найдены найдены финансовые операции только пользователей с указанными ID

email

stringнет user@mail.ruЭлектронная почта клиента. При указании параметра будут найдены финансовые операции только пользователя с указанной почтой

dateLater

datetimeнет 2012-05-28 17:15:20При указании параметра будут найдены финансовые операции проводившиеся только позже указанной даты

dateBefore

datetimeнет 2013-05-28 17:15:20При указании параметра будут найдены финансовые операции проводившиеся только раньше указанной даты

daysFrom

integerнет 5Количество дней.
При указании параметра будет найдены только те финансовые операции с момента которых прошло не больше дней, чем указанно в параметре

 

Все параметры являются взаимодополняемыми, например если указать одновременно dateLater и dateBefore, то будут найдены финансовые операции прводившиеся в указанный период времени. А если добавить userId, то только определенного пользователя.

Если вызвать метод без параметров указав только пароль доступа, то будут найдены все финансовые операции.

Метод getPaymentOperationHistory — Возвращаемые данные

 

Метод возвращает массив объектов operation, который содержит информацию о финансовых операциях.

Название Пример Описание

operationid

1Уникальный ID операции

operation

Наличный платежНазвание типа финансовой операции

amount

100.00Сума платежа

orderid

12Если это оплата счета, содержит ID счета

comment

 Комментарий к финансовой операции

userid

1ID пользователя к которому относится данная операция

useremail

user@mail.ruЭлектронная почта пользователя к которому относится данная операция

operationdt

2011-04-21 14:10:40Дата и время операции

manageruserid

1Если платеж принимал менеджер, то содержит ID менеджера

managerfio

Иванов ИванЕсли платеж принимал менеджер, то содержит ФИО менеджера

manageremail

manager@mail.ruЕсли платеж принимал менеджер, то содержит электронную почту менеджера

 

 

Метод «getOrder» — счета

Метод возвращает список счетов клиентов.

Метод getOrder — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

id

integerнет 1ID счета.
При указании параметра будут найден счет только с указанным ID

id

arrayнет array(1,2,3)
 или id[]=1&id[]=2 для GET
Массив ID счетов.
 При указании параметра будут найдены счета только с указанными ID

userId

integerнет 1ID клиента магазина.
 При указании параметра будут найдены счета только пользователя с указанным ID

userId

arrayнет array(1,2,3)
или userId[]=1&userId[]=2 для GET
Массив ID клиентов магазина.
 При указании параметра будут найдены счета только пользователей с указанными ID

email

stringнет user@mail.ruЭлектронная почта клиента. При указании параметра будут найдены счета только пользователя с указанной почтой

orderDateLater

datetimeнет 2012-05-28 17:15:20При указании параметра будут найдены счета поступившие только позже указанной даты

orderDateBefore

datetimeнет 2013-05-28 17:15:20При указании параметра будут найдены счета поступившие только раньше указанной даты

daysFromOrder

integerнет 5Количество дней.
При указании параметра будет найдены только те счета с момента поступления которых прошло не больше дней, чем указанно в параметре

 

Все параметры являются взаимодополняемыми, например если указать одновременно orderDateLater и orderDateBefore, то будут найдены счета поступившие в указанный период времени. А если добавить userId или email, то только определенного пользователя.

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

Метод getOrder — Возвращаемые данные

 

Метод возвращает массив объектов order, который содержит информацию о счетах клиента.

Название Пример Описание

id

1Уникальный ID счета

userid

2ID клиента, которому принадлежит счет

email

user@mail.ruЭлектронная почта клиента

usercomment

 Комментарий клиента к заказу

ordersum

1034.00Сумма счета

orderdate

datetimeВремя создания счета

payment

оплаченСтатус оплаты счета, может содержать «оплачен» или «не оплачен»

Метод «getOrderItems» — заказанные запчасти

Метод возвращает список заказанных запчастей.

Метод getOrderItems — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

id

integerнет 1ID заказанной запчасти.
При указании параметра будет найдена заказанная запчасть только с указанным ID.

id

arrayнет array(1,2,3)
или id[]=1&id[]=2 для GET
Массив ID заказанных запчастей.
 При указании параметра будут заказанные запчасти только с указанными ID

orderId

integerнет 1ID счета.
При указании параметра будут найдены заказанные запчасти только принадлежащие счету с указанным ID

orderId

arrayнет array(1,2,3)
 или orderId[]=1&orderId[]=2 для GET
Массив ID счетов.
 При указании параметра будут найдены заказанные запчасти только принадлежащие счетам с указанными ID

userId

integerнет 1ID клиента магазина.
 При указании параметра будут найдены заказанные запчасти только пользователя с указанным ID

userId

arrayнет array(1,2,3)
или userId[]=1&userId[]=2 для GET
Массив ID клиентов магазина.
 При указании параметра будут найдены заказанные запчасти только пользователей с указанными ID

email

stringнет user@mail.ruЭлектронная почта клиента. При указании параметра будут найдены заказанные запчасти только пользователя с указанной почтой

orderDateLater

datetimeнет 2012-05-28 17:15:20При указании параметра будут найдены заказанные запчасти поступившие в заказ только позже указанной даты

orderDateBefore

datetimeнет 2013-05-28 17:15:20При указании параметра будут найдены заказанные запчасти поступившие в заказ только раньше указанной даты

daysFromOrder

integerнет 5Количество дней.
При указании параметра будет найдены только те заказанные запчасти с момента поступления которых прошло не больше дней, чем указанно в параметре

 

Все параметры являются взаимодополняемыми, например если указать одновременно orderDateLater и orderDateBefore, то будут найдены заказанные запчасти поступившие в указанный период времени. А если добавить userId или email, то только определенного пользователя.

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

Метод getOrderItems — Возвращаемые данные

 

Метод возвращает массив объектов orderitem, который содержит информацию о заказанных запчастях.

Название Пример Описание

id

1Уникальный ID заказанной запчасти

itemid

100-02ID заказанной запчасти в бэкоффисе

orderid

124ID счета

userid

2ID клиента, которому принадлежит заказанная запчасть

email

user@mail.ruЭлектронная почта клиента

usercomment

 Комментарий клиента к заказу

maker

NISSANПроизводитель заказанной запчасти

article

CP03Артикул/Номер заказанной запчасти

name

Несущий шарнирНазвание запчасти

quantity

2Количество заказанных запчастей

price

130.40Цена заказанной запчасти

total

260.80Итоговая сумма (цена умноженная на количество)

originalprice

110.10Оригинальная цена заказанной запчаст указаная в прайсл-листе. В валюте магазина

oem

123AA, CP03Номера замен (берутся с прайс-листа)

applicability

TOYOTA CARINA EСовместимость (берется с прайс-листа)

orderdate

2012-05-28 17:15:20Дата заказа

changedate

2012-05-28 17:15:20Дата и время последнего изменения статуса заказа

expecteddelivery

2012-05-28 17:15:20Ожидаемый срок поставки

statusid

2ID текущего статуса заказанной запчасти

status

В работеТекущий статус заказанной запчасти

payment

оплаченОплачен или нет счет в которых входит данная запчасть

pricelist

Оптовый МоскваЕсли заказанная запчасть с прайс-листа, содержит название прайс-листа

supplier

emex.ruЕсли заказанная запчасть от поставщика, содержит название поставщика

manageruserid

1ID менеджера

managerfio

Иванов ИванФИО менеджера

manageremail

manager@mail.ruЭлектронная почта менеджера

Метод «getStatusHistory» — история статусов запчастей

Метод возвращает всю историю смены статусов заказанных запчастей.

Метод getStatusHistory — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

orderItemId

integerнет 1ID заказанной запчасти (поле id возвращаемое в getOrderItems).
При указании параметра будет найдена история смены статуса только указанной запчасти

orderItemId

arrayнет array(1,2,3)
или orderItemId[]=1&orderItemId[]=2 для GET
Массив ID заказанных запчастей (поле id возвращаемое в getOrderItems).
При указании параметра будет найдена история смены статуса только указанных запчастей

orderId

integerнет 1ID счета (поле id возвращаемое в getOrder).
При указании параметра будет найдена история смены статуса запчастей входящих в этот счет

orderId

arrayнет array(1,2,3)
или orderId[]=1&orderId[]=2 для GET
Массив ID счетов (поле id возвращаемое в getOrder).
При указании параметра будет найдена история смены статуса запчастей входящих в эти счета

dateLater

datetimeнет 2012-05-28 17:15:20При указании параметра будут найдена история смены статусов проводившиеся только позже указанной даты

dateBefore

datetimeнет 2013-05-28 17:15:20При указании параметра будут найдена история смены статусов проводившиеся только раньше указанной даты

daysFrom

integerнет 5Количество дней.
 При указании параметра будут найдена история смены статусов только с момента которых прошло не больше дней, чем указанно в параметре

 

Все параметры являются взаимодополняемыми, например если указать одновременно dateLater и dateBefore, то будут найдена история статусов за указанный период времени. А если добавить orderId, то только запчастей входящих в указанный счет.

Если вызвать метод без параметров, указав только пароль доступа, то будут найдена вся история смены статусов.

Метод getStatusHistory — Возвращаемые данные

 

Название Пример Описание

id

1Уникальный ID

orderid

1ID счета

orderitemid

2ID заказанной запчасти (поле id в getOrderItems)

statusid

4ID статуса

status

ПринятоНазвание статуса

comment

 Комментарий

dt

2012-05-28 17:15:20Дата и время установки статуса

manageruserid

8ID менеджера который установил статус (если статус установлен менеджером)

managerfio

Иванов ИванФИО менеджера который установил статус (если статус установлен менеджером)

manageremail

user@mail.ruЭлектронная почта менеджера который установил статус (если статус установлен менеджером)

 

 

Метод «getAllOrderStatuses» — Статусы запчастей

Метод возвращает все возможные статусы у заказанных запчастей.

Метод getAllOrderStatuses — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

Метод getAllOrderStatuses — Возвращаемые данные

 

Название Пример Описание

id

1Уникальный ID статуса

name

ПринятоНазвание статуса

 

 

Метод «addPayment» — платежи

Метод позволяет занести деньги на баланс или списать деньги с баланса клиента

Метод addPayment — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

userId

integerда, если не указан email1ID клиента магазина.
Клиент которому заносятся деньги

email

stringда, если не указан userIduser@mail.ruЭлектронная почта клиента которому заносятся деньги

amount

floatда100.00Сумма платежа, если указать с минусом (например -100), то будет произведено списание средств с баланса

operationTypeId

integetда100.00Тип операции. Допустимые значения: 1 — «Наличный платеж», 3 — «Корректировка», 4 — «Безналичный платеж»

showPaymentOperation

boolнетtrueПоказать дванные принятого платежа. Если параметр указан, то вмето обьекта message, будет возвращен обьект paymentoperation с расширенной информацией о принятом платеже

 

Метод требует обязательного указания userId или электронной почты клиента

Метод addPayment — Возвращаемые данные

 

Если не указан showPaymentOperation Метод возвращает объект message, который содержит сообщение об успешной завершении операции.

Название Пример Описание

message

Платеж суммой 100.00 добавлен. ID платежа 123Сообщение об успешном завершении платежа

В случае возникновения ошибки, вернется обьект error c описанием ошибки.


Если указан  параметр showPaymentOperation Метод возвращает объект paymentoperation, который содержит сообщение об успешной завершении операции и id оперции

НазваниеПримерОписание

operationid

123Уникальный ID платежа (поле operationid возвращаемое в getPaymentOperationHistory)

message

Платеж суммой 100.00 добавлен. ID платежа 123Сообщение об успешном завершении платежа

В случае возникновения ошибки, вернется обьект error c описанием ошибки.

Метод «getPartCrossNumber» — Кросс номера (oem, замены) запчасти

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

Метод getPartCrossNumber — входные параметры

 

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

article

stringда CP03Артикул запчасти для которой нужно найти кросс номера

maker

stringнетJAPANPARTSПроизводитель запчасти для которой нужно найти кросс номера. Если производиель не указан, то кросс номера будут надены для всех запчастей с  данным номером

 

Метод требует обязательного указания ID или электронной почты клиента

Метод getPartCrossNumber — Возвращаемые данные

 Метод возвращает массив объектов oem, который содержит список кросс номеров искомой запчасти.

Название Пример Описание

article

N571N19Артикул замены

maker

NPSПроизводитель замены

 

 

Метод «setOrderPaymentState» — Оплата счета клиента с баланса

Метод позволяет оплатить заказ клиента с баланса

Метод setOrderPaymentState — входные параметры

Название  ТипОбязательное поле Пример Описание

password

string да12345Пароль для доступа к сервису интеграции

userId

integerда, если не указан email1ID клиента магазина.
Клиент которому заносятся деньги

email

stringда, если не указан userIduser@mail.ruЭлектронная почта клиента которому заносятся деньги

orderId

integerда1234ID(номер) счета

Метод требует обязательного указания userId или электронной почты клиента

Метод setOrderPaymentState — Возвращаемые данные

 Метод возвращает объект message, который содержит сообщение об успешной завершении операции.

Название Пример Описание

message

Счет №1448 успешно оплачен.Сообщение об успешной оплате

В случае возникновения ошибки (счет уже оплачен, недостаточно средств), вернется обьект error c описанием ошибки.

 

Метод «setOrderItemStatus» — Смена статуса заказанной запчасти

Метод позволяет изменить статус заказанной запчасти. Так же, можно задать один статус сразу множеству запчастей (не более 100 в одном запросе).

Метод setOrderItemStatus — входные параметры

Название  ТипОбязательное поле Пример Описание

password

stringда12345Пароль для доступа к сервису интеграции

orderItemId

integerда219796ID заказанной запчасти

orderItemId

arrayдаarray(219796,219797)
или orderItemId[]=219796&orderItemId[]=219797 для GET
Несколько ID заказанных запчастей в виде массив. Допускается не более 100 запчастей в массиве в одном запросе.

statusId

integerда1Новый ID статуса заказанной запчасти(-тей)

comment

stringнет Комментарий в формате URL encoding

Метод setOrderItemStatus — возвращаемые данные

 Метод возвращает объект message, который содержит сообщение об успешном завершении операции.

Название Пример Описание

message

Статус заказа измененСообщение об успешной смене статуса

В случае возникновения ошибки, вернется обьект error c описанием ошибки. При групповой смене статуса обьект error может содержать несколько ошибок.

Название Пример Описание

error

Невозможно изменить статус заказаСообщение об ошибке

 

Метод «setMultipleOrderItemStatus» — Групповая смена статусов для множества запчастей

Метод позволяет задать статус сразу множеству запчастей, каждой запчасти свой статус (не более 100 в одном запросе).

Метод setMultipleOrderItemStatus — входные параметры

Название  ТипОбязательное поле Пример Описание

password

stringда12345Пароль для доступа к сервису интеграции

orderItems

arrayдаarray(44 = array(statusId = 2), 45 = array(statusId = 2, comment = "%D0%9A%D0%BE%D0%BC"))
 или
orderItems[44][statusId]=2&orderItems[45][statusId]=2&orderItems[45][comment]=%D0%9A%D0%BE%D0%BC для GET

Двумерный массив, следующей структуры: в качестве ключа необходимо указать ID заказанной запчасти, в качестве значения — массив содержащий обязательное поле statusId, равный ID нового статуса заказанной запчасти и не обязательное поле comment, для передачи комментария к заказанной запчасти в формате URL encoding.
Допускается не более 100 элементов в массиве в одном запросе.

Метод setMultipleOrderItemStatus — возвращаемые данные

 Метод возвращает объект message, который содержит сообщение об успешном завершении операции, в случае если все переданные в массиве запчасти обработались без ошибок.

Название Пример Описание

message

Статусы заказов измененыСообщение об успешной смене статусов

В случае возникновения ошибки, вернется обьект error c описанием ошибки. Если было выявлено несколько ошибок, то объект error будет содержать соответствующее количество записей с описанием ошибки.

Название Пример Описание

error

Неверно указан ID статуса заказаСообщение об ошибке

Смотрите также

 

Создание C# Web — сервисов
1С: Предприятие 8 Web — сервисы, во избежание проблем с использованием SOAP сервисов из 1С, желательно их использование через «MS SOAP Toolkit 3.0». Либо через GET запросы.