API 1.0

I. Используется

В основном для самописных интернет-магазинов.
 

II. Настройка


Для настройки API 1.0, нужно:
   1. Сгенерировать ключ доступа
   2. Дать доступ к объектам сервиса
Для этого зайдите: Верхнее меню – Сервис – API 1.0
 
Акты инвентаризации новый


И установите переключатели для тех объектов, для которых Вы хотели бы совершать Экспорт/Импорт. Заметим, что для справочника «Товары», есть под-пункты (полное наименование, описание, …), если Вы их не используете, то снимите с них галочки, иначе выгрузка может занять продолжительное время.
 

III. Export


Данные Вы будете получать в JSON-формате.


1. Справочник «Товары». 
Для получения данных из справочника «Товары», Вам нужно сформировать запрос сервису в таком формате:
http://sklad.uchetoblako.ru/API/Api10.ashx?Key=XXX&pID=ExportDirNomen&DirNomenGroup=78
параметры:
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Товар» (ExportDirNomen)
DirNomenGroup – Группа товара, если нужно выгружать данные по Группам. Можно указывать и номер группы и наименование группы. Номер группы можно получить при редактировании группы:

 
Акты инвентаризации новый
 

Мы рекомендуем использовать именно номер группы, а не наименование. Если, нужно экспортировать весь справочник, то этот параметр вообще не указываете.
Данные Вы получите в таком формате:

 

{'sucess':true, 'total':363, 'ExportDirNomen': [
{
"DirNomenID":"2",
"DirNomenGroupID":"1",
"DirNomenGroupName":"Група-1",
"DirNomenName":"Товар-1",
"DirNomenNameFull":"Товар-1":"1",
"DirUnitMeasureName":"шт",
"DirNomenArticle":"123456",
"DirNomenManufacturer":"",
"DirNomenManufacturerCode":"",
"DirCountryName":"",
"DirNomenNumberCustomsDeclaration":"",
"DirNomenMinimumBalance":"3",
"DirNomenDisc":"",
"DirNomenDiscFull":"",
"DirNomenInventoryNumber":"",
"DirVatName":"0%",
"DirCurrencyName":"Российский рубль",
"PriceVAT":"67.6",
"PriceRetailVAT":"95",
"PriceWholesaleVAT":"92.18",
"ImageLink":""
},
{
"DirNomenID":"3",
"DirNomenGroupID":"1",
"DirNomenGroupName":"Група-1",
"DirNomenName":"Товар-2",
"DirNomenNameFull":"Товар-2",
"DirUnitMeasureID":"1",
"DirUnitMeasureName":"шт",
"DirNomenArticle":"45678",
"DirNomenTypeID":"1",
"DirNomenManufacturer":"",
"DirNomenManufacturerCode":"",
"DirCountryName":"",
"DirNomenNumberCustomsDeclaration":"",
"DirNomenMinimumBalance":"1",
"DirNomenDisc":"",
"DirNomenDiscFull":"",
"DirNomenInventoryNumber":"",
"DirVatName":"0%",
"DirCurrencyName":"Российский рубль ",
"PriceVAT":"69.75",
"PriceRetailVAT":"97",
"PriceWholesaleVAT":"95.11",
"ImageLink":""
}
]}

 
В примере всего 2-а товара, с кодами: DirNomenID=2 и DirNomenID=3

Программный код на языке программирования .NET C# будет выглядеть так:

 
//Строка соединения
string URI = "http://sklad.uchetoblako.ru/API/Api10.ashx";
//Параметры
string myParameters = "Key=XXX&pID=ExportDirNomen&DirNomenGroup=1";
using (WebClient wc = new WebClient())
{
   wc.Encoding = System.Text.Encoding.UTF8;
   wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
   Label1.Text = wc.UploadString(URI, myParameters);
}


 
 2. Справочник «Контрагенты».
 Запрос:
http://sklad.uchetoblako.ru /API/Api10.ashx?Key= XXX
&pID=ExportDirContractor&DirContractoGroup=3
параметры:
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Контрагенты» (ExportDirContractor)
ExportDirContractor – Группа контрагента, если нужно выгружать данные по Группам. Можно указывать и номер группы и наименование группы. Номер группы можно получить при редактировании группы, аналогично, как с Товаром. Мы рекомендуем использовать именно номер группы, а не наименование. Если, нужно экспортировать весь справочник, то этот параметр вообще не указываете.
Данные Вы получите в таком формате:

 

{'sucess':true, 'total':2, 'ExportDirContractor': [
{
"DirContractorID":"1",
"DirContractorGroupID":"1",
"DirContractorGroupName":"Поставщики",
"DirContractorTypeID":"2",
"DirContractorTypeName":"Физическое лицо",
"DirContractorName":"Контрагент-1",
"DirContractorAddress":"",
"DirContractorPhone":"123456789",
"DirContractorFax":"",
"DirContractorEmail":"",
"DirContractorWWW":"",
"DirContractorDiscount":"0",
"DirVatName":"0%",
"DirVatValue":"0",
"DirContractorLegalName":"Контрагент-1",
"DirContractorLegalAddress":"",
"DirContractorLegalTIN":"",
"DirContractorLegalRNNBO":"",
"DirContractorLegalCAT":"",
"DirContractorLegalBIN":"",
"DirContractorLegalOGRNIP":"",
"DirContractorLegalCertificateNumber":"",
"DirContractorLegalCertificateDate":"2016-04-01 00:00:00",
"DirContractorLegalPasSeries":"",
"DirContractorLegalPasNumber":"",
"DirContractorLegalPasCode":"",
"DirContractorLegalPasIssued":"",
"DirContractorLegalPasDate":"1992-01-01 00:00:00",
"DirContractorDesc":"",
"ImageLink":""
},
{
"DirContractorID":"2",
"DirContractorGroupID":"1",
"DirContractorGroupName":"Поставщики",
"DirContractorTypeID":"2",
"DirContractorTypeName":"Физическое лицо ",
"DirContractorName":" Контрагент-1",
"DirContractorAddress":"",
"DirContractorPhone":"",
"DirContractorFax":"",
"DirContractorEmail":"",
"DirContractorWWW":"",
"DirContractorDiscount":"0",
"DirVatName":"0%",
"DirVatValue":"0",
"DirContractorLegalName":" Контрагент-1",
"DirContractorLegalAddress":"",
"DirContractorLegalTIN":"",
"DirContractorLegalRNNBO":"",
"DirContractorLegalCAT":"",
"DirContractorLegalBIN":"",
"DirContractorLegalOGRNIP":"",
"DirContractorLegalCertificateNumber":"",
"DirContractorLegalCertificateDate":"2016-04-01 00:00:00",
"DirContractorLegalPasSeries":"",
"DirContractorLegalPasNumber":"",
"DirContractorLegalPasCode":"",
"DirContractorLegalPasIssued":"",
"DirContractorLegalPasDate":"1999-01-01 00:00:00",
"DirContractorDesc":"",
"ImageLink":""
}
]}

 
В примере всего 2-а контрагента, с кодами: DirContractorID =1 и DirContractorID =2

Программный код на языке программирования .NET C# будет выглядеть так:

 
//Строка соединения
string URI = "http://sklad.uchetoblako.ru/API/Api10.ashx";
//Параметры
string myParameters = "Key=XXX&pID=ExportDirContractor&DirContractoGroup=4";
using (WebClient wc = new WebClient())
{
   wc.Encoding = System.Text.Encoding.UTF8;
   wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
   Label1.Text = wc.UploadString(URI, myParameters);
}
 
3. Справочник «Остатки».
Запрос:
http://sklad.uchetoblako.ru /API/Api10.ashx?Key= XXX&pID=ExportRemnants&DirWarehouse=1
параметры:
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Остатки» (ExportRemnants)
DirWarehouse – Склад, обязательный параметр и указывать нужно номер склада.

Акты инвентаризации новый

 Данные Вы получите в таком формате:
 
{'sucess':true, 'total':33, 'ExportRemnants': [
{
"DirNomenID":"1",
"DirNomenName":"Товар-1",
"DirWarehouseID":"1",
"DirWarehouseName":"Склад-1",
" Count ":"3"
},
{
"DirNomenID":"2",
"DirNomenName":"Товар-2",
"DirWarehouseID":"1",
"DirWarehouseName":"Склад-1",
"Quantity":"2"
}
]}

 
В примере всего 2-а товара, с кодами: DirNomenID=2 и DirNomenID=3 с остатками 3 и 5 штук/кг соответственно.

Программный код на языке программирования .NET C# будет выглядеть так:

 
//Строка соединения
string URI = "http://sklad.uchetoblako.ru/API/Api10.ashx";
//Параметры
string myParameters = "Key=XXX&pID=ExportRemnants&DirWarehouse=1";
using (WebClient wc = new WebClient())
{
    wc.Encoding = System.Text.Encoding.UTF8;
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    Label2.Text = wc.UploadString(URI, myParameters);
}

 

 

IV. Import

Данные нужно отправлять в JSON-формате.
Во всех случаях при импорте для передачи коллекции Товара/Контрагентов/Спецификации на сервер Вам нужно сформировать JSON-массив состоящий из полей/значений товара и передать его в виде параметра, а так же нескольких дополнительных параметров.

 

1. Справочник «Товары».  
параметры:
DirNomenCollection - JSON-массив имеет вид:

 

[
{
'DirNomenID':'1',
'DirNomenGroupID':'3',
'DirNomenGroupName':'Група-1',
'DirNomenName':'Товар-1',
'DirNomenNameFull':'Товар-1',
'DirUnitMeasureID':'1',
'DirUnitMeasureName':'шт',
'DirNomenArticle':'12345',
'DirNomenTypeID':'1',
'DirNomenManufacturer':'',
'DirNomenManufacturerCode':'',
'DirCountryName':'',
'DirNomenNumberCustomsDeclaration':'',
'DirNomenMinimumBalance':'0',
'DirNomenDisc':'',
'DirNomenDiscFull':'',
'DirNomenInventoryNumber':'',
'DirVatName':'0',
'DirCurrencyName':'Российский рубль',
'PriceVAT':'59.25',
'PriceRetailVAT':'129.99',
'PriceWholesaleVAT':'119.99',
'ImageLink':''
},
{
'DirNomenID':'2',
'DirNomenGroupID':'3',
'DirNomenGroupName':'Група-1',
'DirNomenName':'Товар-2',
'DirNomenNameFull':'Товар-2',
'DirUnitMeasureID':'1',
'DirUnitMeasureName':'шт',
'DirNomenArticle':'98765',
'DirNomenTypeID':'1',
'DirNomenManufacturer':'',
'DirNomenManufacturerCode':'',
'DirCountryName':'',
'DirNomenNumberCustomsDeclaration':'',
'DirNomenMinimumBalance':'0',
'DirNomenDisc':'',
'DirNomenDiscFull':'',
'DirNomenInventoryNumber':'',
'DirVatName':'0',
'DirCurrencyName':'Российский рубль',
'PriceVAT':'2587.5',
'PriceRetailVAT':'4999.99',
'PriceWholesaleVAT':'4899.99',
'ImageLink':''
},
]

 
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Товар» (ImportDirNomen)
NotStopProcess – Продолжить дальше, даже если есть ошибки и принимает значения: false, true
MatchName – Если Наименование совпадают, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true
MatchArticle – Если Артикул совпадает, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true
 
Программный код на языке программирования .NET C# будет выглядеть так:

 
//Строка соединения
string URI = "http://sklad.uchetoblako.ru/API/Api10.ashx";
//Параметры
string DirNomenCollection =  "DirNomenCollection[

{
'DirNomenID':'1',
'DirNomenGroupID':'3',
'DirNomenGroupName':'Група-1',
'DirNomenName':'Товар-1',
'DirNomenNameFull':'Товар-1',
'DirUnitMeasureID':'1',
'DirUnitMeasureName':'шт',
'DirNomenArticle':'12345',
'DirNomenTypeID':'1',
'DirNomenManufacturer':'',
'DirNomenManufacturerCode':'',
'DirCountryName':'',
'DirNomenNumberCustomsDeclaration':'',
'DirNomenMinimumBalance':'0',
'DirNomenDisc':'',
'DirNomenDiscFull':'',
'DirNomenInventoryNumber':'',
'DirVatName':'0',
'DirCurrencyName':'Российский рубль',
'PriceVAT':'59.25',
'PriceRetailVAT':'129.99',
'PriceWholesaleVAT':'119.99',
'ImageLink':''
},
{
'DirNomenID':'2',
'DirNomenGroupID':'3',
'DirNomenGroupName':'Група-1',
'DirNomenName':'Товар-2',
'DirNomenNameFull':'Товар-2',
'DirUnitMeasureID':'1',
'DirUnitMeasureName':'шт',
'DirNomenArticle':'98765',
'DirNomenTypeID':'1',
'DirNomenManufacturer':'',
'DirNomenManufacturerCode':'',
'DirCountryName':'',
'DirNomenNumberCustomsDeclaration':'',
'DirNomenMinimumBalance':'0',
'DirNomenDisc':'',
'DirNomenDiscFull':'',
'DirNomenInventoryNumber':'',
'DirVatName':'0%',
'DirCurrencyName':'Российский рубль',
'PriceVAT':'2587.5',
'PriceRetailVAT':'4999.99',
'PriceWholesaleVAT':'4899.99',
'ImageLink':''
}
]";

 
string myParameters = "Key=XXX&pID=ImportDirNomen&NotStopProcess=false&MatchName=false&MatchArticle=true&" + DirNomenCollection;
using (WebClient wc = new WebClient())
{
    wc.Encoding = System.Text.Encoding.UTF8;
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    Label1.Text = wc.UploadString(URI, "POST", myParameters);
}

 
Ответ сервера, после завершения операции импорта будет такой:
{'success':true, 'data': {'CountInsert':'0','CountUpdate':'2','CountIgnore':'0'}}
Где параметры:
 - CountInsert – новых записей
 - CountUpdate – обновлено уже существующих записей
 - CountIgnore – ошибок


 
 2. Справочник «Контрагенты». 

параметры:
DirContractorCollection - JSON-массив имеет вид:
[
{
'DirContractorID':'1',
'DirContractorGroupID':'1',
'DirContractorGroupName':'Поставщики',
'DirContractorTypeID':'2',
'DirContractorTypeName':'Физическое лицо',
'DirContractorName':'Контрагент-1',
'DirContractorAddress':'',
'DirContractorPhone':'123456789',
'DirContractorFax':'',
'DirContractorEmail':'',
'DirContractorWWW':'',
'DirContractorDiscount':'0',
'DirVatValue':'0',
'DirContractorLegalName':'Контрагент-1',
'DirContractorLegalAddress':'',
'DirContractorLegalTIN':'',
'DirContractorLegalRNNBO':'',
'DirContractorLegalCAT':'',
'DirContractorLegalBIN':'',
'DirContractorLegalOGRNIP':'',
'DirContractorLegalCertificateNumber':'',
'DirContractorLegalCertificateDate':'2016-04-01 00:00:00',
'DirContractorLegalPasSeries':'',
'DirContractorLegalPasNumber':'',
'DirContractorLegalPasCode':'',
'DirContractorLegalPasIssued':'',
'DirContractorLegalPasDate':'1988-01-01 00:00:00',
'DirContractorDesc':'',
'ImageLink':''
},
{
'DirContractorID':'2',
'DirContractorGroupID':'1',
'DirContractorGroupName':'Поставщики',
'DirContractorTypeID':'2',
'DirContractorTypeName':'Физическое лицо',
'DirContractorName':'Контрагент-2',
'DirContractorAddress':'',
'DirContractorPhone':'987654321',
'DirContractorFax':'',
'DirContractorEmail':'',
'DirContractorWWW':'',
'DirContractorDiscount':'0',
'DirVatValue':'0',
'DirContractorLegalName':'Контрагент-2',
'DirContractorLegalAddress':'',
'DirContractorLegalTIN':'',
'DirContractorLegalRNNBO':'',
'DirContractorLegalCAT':'',
'DirContractorLegalBIN':'',
'DirContractorLegalOGRNIP':'',
'DirContractorLegalCertificateNumber':'',
'DirContractorLegalCertificateDate':'2016-04-01 00:00:00',
'DirContractorLegalPasSeries':'',
'DirContractorLegalPasNumber':'',
'DirContractorLegalPasCode':'',
'DirContractorLegalPasIssued':'',
'DirContractorLegalPasDate':'1994-01-01 00:00:00',
'DirContractorDesc':'',
'ImageLink':''
}
]

 
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Контрагент» (ImportDirContractor)
NotStopProcess – Продолжить дальше, даже если есть ошибки и принимает значения: false, true
MatchName – Если Наименование совпадают, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true
MatchTIN_CAT_BIN – Если все значения ИНН, КПП и ОГРН совпадает, то не создавать новую позицию, а перезаписать её (UPDATE)
 
Программный код на языке программирования .NET C# будет выглядеть так:

 
//Строка соединения
string URI = "http://sklad.uchetoblako.ru";
//Параметры
string DirContractorCollection =
"DirContractorCollection=

 [
{
'DirContractorID':'1',
'DirContractorGroupID':'1',
'DirContractorGroupName':'Поставщики',
'DirContractorTypeID':'2',
'DirContractorTypeName':'Физическое лицо',
'DirContractorName':'Контрагент-1',
'DirContractorAddress':'',
'DirContractorPhone':'123456789',
'DirContractorFax':'',
'DirContractorEmail':'',
'DirContractorWWW':'',
'DirContractorDiscount':'0',
'DirVatValue':'0',
'DirContractorLegalName':'Контрагент-1',
'DirContractorLegalAddress':'',
'DirContractorLegalTIN':'',
'DirContractorLegalRNNBO':'',
'DirContractorLegalCAT':'',
'DirContractorLegalBIN':'',
'DirContractorLegalOGRNIP':'',
'DirContractorLegalCertificateNumber':'',
'DirContractorLegalCertificateDate':'2016-04-01 00:00:00',
'DirContractorLegalPasSeries':'',
'DirContractorLegalPasNumber':'',
'DirContractorLegalPasCode':'',
'DirContractorLegalPasIssued':'',
'DirContractorLegalPasDate':'1988-01-01 00:00:00',
'DirContractorDesc':'',
'ImageLink':''
},
{
'DirContractorID':'2',
'DirContractorGroupID':'1',
'DirContractorGroupName':'Поставщики',
'DirContractorTypeID':'2',
'DirContractorTypeName':'Физическое лицо',
'DirContractorName':'Контрагент-2',
'DirContractorAddress':'',
'DirContractorPhone':'987654321',
'DirContractorFax':'',
'DirContractorEmail':'',
'DirContractorWWW':'',
'DirContractorDiscount':'0',
'DirVatValue':'0',
'DirContractorLegalName':'Контрагент-2',
'DirContractorLegalAddress':'',
'DirContractorLegalTIN':'',
'DirContractorLegalRNNBO':'',
'DirContractorLegalCAT':'',
'DirContractorLegalBIN':'',
'DirContractorLegalOGRNIP':'',
'DirContractorLegalCertificateNumber':'',
'DirContractorLegalCertificateDate':'2016-04-01 00:00:00',
'DirContractorLegalPasSeries':'',
'DirContractorLegalPasNumber':'',
'DirContractorLegalPasCode':'',
'DirContractorLegalPasIssued':'',
'DirContractorLegalPasDate':'1994-01-01 00:00:00',
'DirContractorDesc':'',
'ImageLink':''
}
]";

 
string myParameters = "Key=XXX&pID=ImportDirContractor&NotStopProcess=false&MatchName=true&MatchTIN_CAT_BIN=true&" + DirContractorCollection;
using (WebClient wc = new WebClient())
{
    wc.Encoding = System.Text.Encoding.UTF8;
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    Label1.Text = wc.UploadString(URI, "POST", myParameters);
}

 
Ответ сервера, после завершения операции импорта будет такой:
{'success':true, 'data': {'CountInsert':'0','CountUpdate':'2','CountIgnore':'0'}}
Где параметры:
 - CountInsert – новых записей
 - CountUpdate – обновлено уже существующих записей
 - CountIgnore – ошибок

 

3. Расходная накладная.

параметры:
DocSalesCollection - JSON-массив имеет вид:
 
[
{
'DirNomenID':'1',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'2',
'PriceVAT':'55'
},
{
'DirNomenID':'2',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'1',
'PriceVAT':'125'
}
]
 
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Контрагент» (ImportDocSales)
NotStopProcess – Продолжить дальше, даже если есть ошибки и принимает значения: false, true
MatchName – Если Наименование совпадают, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true
MatchArticle – Если Артикул совпадает, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true

DirWarehouseID -  Склад (его порядковый номер)

DirContractorID -  Контрагент (его порядковый номер)

DocDate -  Дата документа
 
Программный код на языке программирования .NET C# будет выглядеть так:

 
//Строка соединения
string URI = "http://sklad.uchetoblako.ru/API/Api10.ashx";
//Параметры
string DocSalesCollection =
"DocSalesCollection=
[
{
'DirNomenID':'1',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'2',
'PriceVAT':'55'
},
{
'DirNomenID':'2',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'1',
'PriceVAT':'125'
}
]";
 
string myParameters =

"Key=XXX&pID=ImportDocSales&" +

"NotStopProcess=false&MatchName=true&MatchArticle=true&" +

"DirWarehouseID=2& DirContractorID=31& DocDate=2016-04-01&" +

DocSalesCollection;
 
using (WebClient wc = new WebClient())
{
    wc.Encoding = System.Text.Encoding.UTF8;
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    Label1.Text = wc.UploadString(URI, "POST", myParameters);
}
 
Ответ сервера, после завершения операции импорта будет такой:
{'success':true, 'data': {'CountInsert':'2','CountUpdate':'0','CountIgnore':'0','DocID':'9135'}}
Где параметры:
 - CountInsert – новых записей
 - CountUpdate – обновлено уже существующих записей
 - CountIgnore – ошибок
 - DocID – номер созданного документа

 

4. Приходная накладная.

параметры:
DocPurchCollection - JSON-массив имеет вид:
 
[
{
'DirNomenID':'1',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'2',
'PriceVAT':'55',
'PriceRetailVAT':'64',
'PriceWholesaleVAT':'62'

},
{
'DirNomenID':'2',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'1',
'PriceVAT':'125',
'PriceRetailVAT':'159',
'PriceWholesaleVAT':'149'
}
]
 
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Контрагент» (ImportDocPurch)
NotStopProcess – Продолжить дальше, даже если есть ошибки и принимает значения: false, true
MatchName – Если Наименование совпадают, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true
MatchArticle – Если Артикул совпадает, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true

DirWarehouseID -  Склад (его порядковый номер)

DirContractorID -  Контрагент (его порядковый номер)

DocDate -  Дата документа

 
Программный код на языке программирования .NET C# будет выглядеть так:

 
//Строка соединения
string URI = "http://sklad.uchetoblako.ru/API/Api10.ashx";
//Параметры
string DocPurchCollection =
"DocPurchCollection=

[
{
'DirNomenID':'1',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'2',
'PriceVAT':'55',
'PriceRetailVAT':'64',
'PriceWholesaleVAT':'62'

},
{
'DirNomenID':'2',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'1',
'PriceVAT':'125',
'PriceRetailVAT':'159',
'PriceWholesaleVAT':'149'
}
]

";
 
string myParameters =

"Key=XXX&pID=ImportDocPurch&" +

"NotStopProcess=false&MatchName=true&MatchArticle=true&" +

"DirWarehouseID=2& DirContractorID=31& DocDate=2016-04-01&" +

DocPurchCollection;
 
using (WebClient wc = new WebClient())
{
    wc.Encoding = System.Text.Encoding.UTF8;
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    Label1.Text = wc.UploadString(URI, "POST", myParameters);
}
 
Ответ сервера, после завершения операции импорта будет такой:
{'success':true, 'data': {'CountInsert':'2','CountUpdate':'0','CountIgnore':'0','DocID':'9135'}}
Где параметры:
 - CountInsert – новых записей
 - CountUpdate – обновлено уже существующих записей
 - CountIgnore – ошибок
 - DocID – номер созданного документа

 

5. Заказы покупателей.

параметры:
DocOrdersCustomerCollection - JSON-массив имеет вид:
 
[
{
'DirNomenID':'1',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'2',
'PriceVAT':'55',
'DirOrdersStateID':'13'
},
{
'DirNomenID':'2',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'1',
'PriceVAT':'125',
'DirOrdersStateID':'13'
}
]
 
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Контрагент» (ImportDocOrdersCustomer)
NotStopProcess – Продолжить дальше, даже если есть ошибки и принимает значения: false, true
MatchName – Если Наименование совпадают, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true
MatchArticle – Если Артикул совпадает, то не создавать новую позицию, а перезаписать её (UPDATE) и принимает значения: false, true

DirWarehouseID -  Склад (его порядковый номер)

DirContractorID -  Контрагент (его порядковый номер)

DocDate -  Дата документа

DirOrdersStateID -  Статус заказа (его порядковый номер)

 
Программный код на языке программирования .NET C# будет выглядеть так:

 
//Строка соединения
string URI = "http://sklad.uchetoblako.ru/API/Api10.ashx";
//Параметры
string DocPurchCollection =
"DocPurchCollection=

[
{
'DirNomenID':'1',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'2',
'PriceVAT':'55',
'DirOrdersStateID':'13'
},
{
'DirNomenID':'2',
'DirNomenArticle':'',
'DirNomenName':'',
'Count':'1',
'PriceVAT':'125',
'DirOrdersStateID':'13'
}
]

";
 
string myParameters =

"Key=XXX&pID=ImportDocOrdersCustomer&" +

"NotStopProcess=false&MatchName=true&MatchArticle=true&" +

"DirWarehouseID=2&DirContractorID=31&DocDate=2016-04-01&DirOrdersStateID=3&" +

DocPurchCollection;
 
using (WebClient wc = new WebClient())
{
    wc.Encoding = System.Text.Encoding.UTF8;
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    Label1.Text = wc.UploadString(URI, "POST", myParameters);
}
 
Ответ сервера, после завершения операции импорта будет такой:
{'success':true, 'data': {'CountInsert':'2','CountUpdate':'0','CountIgnore':'0','DocID':'9135'}}
Где параметры:
 - CountInsert – новых записей
 - CountUpdate – обновлено уже существующих записей
 - CountIgnore – ошибок
 - DocID – номер созданного документа

 

 

П.С.

Экспорт и импорт Товара, Контрагентов и Остатков можно производить раз в 10 минут

Импорт Расходной накладной можно производить без ограничений.

При неудачных 5 попытках соединения с сервисом (напр. не правельный параметр Key), будет таймают на 25 минут. При том Вы будете получать сообщение, что ключ не подходит, но проверка Ключа не будет происходить.

 

 

comments powered by Disqus

+38 050 950-96-49     Карта сайта   

Группа УчетОблако в социальной сети Google+ УчетОблако в мой бизнес Google+ УчетОблако в социальной сети Facebook УчетОблако в социальной сети ВКонтакте УчетОблако в социальной сети Twitter УчетОблако в YouTube