API 1.0

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

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

II. Настройка


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


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

III. Export


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


1. Справочник «Товары». 
Для получения данных из справочника «Товары», Вам нужно сформировать запрос сервису в таком формате:
https://sklad.vsklade.com/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 = "https://sklad.vsklade.com/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. Справочник «Контрагенты».
 Запрос:
https://sklad.vsklade.com/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":"Физическое лицо",
"DirContractor2TypeID":"2",
"DirContractor2TypeName":"Поставщик",
"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":"Физическое лицо ",
"DirContractor2TypeID":"2",
"DirContractor2TypeName":"Поставщик",

"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 = "https://sklad.vsklade.com/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. Справочник «Остатки».
Запрос:
https://sklad.vsklade.com/API/Api10.ashx?Key= XXX&pID=ExportRemnants&DirWarehouse=1
параметры:
Key – Код идентификации
pID – Тип Экспортируемого объекта, в данном случае «Остатки» (ExportRemnants)
DirWarehouse – Склад, обязательный параметр и указывать нужно номер склада.
Org – Организация, необязательный параметр и указывать нужно номер организации..

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

 Данные Вы получите в таком формате:
 
{'sucess':true, 'total':33, 'ExportRemnants': [
{
"DirNomenID":"1",
"DirNomenName":"Товар-1",
"DirWarehouseID":"1",
"DirContractorIDOrg":"1",

"DirWarehouseName":"Склад-1",
" Count ":"3"
},
{
"DirNomenID":"2",
"DirNomenName":"Товар-2",
"DirWarehouseID":"1",
"DirContractorIDOrg":"1",

"DirWarehouseName":"Склад-1",
"Quantity":"2"
}
]}

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

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

 
//Строка соединения
string URI = "https://sklad.vsklade.com/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 = "https://sklad.vsklade.com/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',
'DirContractor2TypeID':'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',
'DirContractor2TypeID':'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 = "https://sklad.vsklade.com";
//Параметры
string DirContractorCollection =
"DirContractorCollection=

 [
{
'DirContractorID':'1',
'DirContractorGroupID':'1',
'DirContractorGroupName':'Поставщики',
'DirContractorTypeID':'2',
'DirContractor2TypeID':'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',
'DirContractor2TypeID':'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 -  Контрагент (его порядковый номер)

Org -  Организация (его порядковый номер)

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

 
//Строка соединения
string URI = "https://sklad.vsklade.com/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 -  Контрагент (его порядковый номер)

Org -  Організація (його порядковий номер)

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

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

 
//Строка соединения
string URI = "https://sklad.vsklade.com/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 -  Контрагент (его порядковый номер)

Org -  Організація (його порядковий номер)

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

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

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

 
//Строка соединения
string URI = "https://sklad.vsklade.com/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 минут. При том Вы будете получать сообщение, что ключ не подходит, но проверка Ключа не будет происходить.

 

 

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

Кафе-Бар     Заказы-Покупателя     Интернет-магазин

ВСкладе в социальной сети Facebook ВСкладе в социальной сети Twitter ВСкладе в YouTube