Преобразуване на един тип документ в друг чрез API
Функция/команда: | document_convert |
Предназначение: | Създаване на нов документ базиран на стар от друг тип |
Параметри: |
type - Вид на стар документ (1 - фактура, 2 - проформа, 3 - стокова разписка, 4 - протокол)
id - ID на стар документ
new_type - Вид на нов документ (1 - фактура, 2 - проформа, 3 - стокова разписка, 4 - протокол)
settings - обект (StdClass в PHP) съдържащ допълнителни (незадължителни) настройки
-
old_document_paid (1 - ако старият документ ще се маркира като платен)
-
new_document_paid (1 - ако новият документ ще се маркира като платен)
-
not_convert_document_note (1 - ако няма да се прехвърлят допълнителните пояснения)
-
update_quantities (1 - ако новият документ влияее на складовите наличности)
Допълнителни полета при включена съвместимост с онлайн магазини:
-
eshop_id - ID на онлайн магазин
-
order_id - № на поръчка/заявка
-
order_date - Дата на поръчка/заявка
-
pos_number - № на VPOS терминала
-
transaction_number - авторизационен № на транзакция (Retrieval reference number RRN)
-
payment_provider_number - № на доставчика на платежни услуги. Посочва се ЕИК за български и ДДС №, а за чуждестранни лица
|
Postman пример: | https://fakturirane.com/api/v1/document_convert?type=2&id=4&new_type=1 |
Резултат: |
{
"error": 0,
"document": {
"id": "6",
"number": 5
}
}
-error - Код на грешка
-document обект съдържащ ID на новия документ и неговия номер:
-id - ID на новия документ и неговия номер
-number - номер на новия документ
|
Възможни грешки: |
- Невалиден вид на документ. (3)
- Не е посочен ID номер на документ. (581)
- Документът не е открит. (582)
|
Забележка: | Тази функция променя складовите наличности само ако посочите това в настройките. |
Примерен PHP код: |
// Следния код се вмъква в примерния скрипт.
$doc_type = 2; // проформа-фактура
$doc_id = 1; // ID на документа-източник
$new_doc_type = 1; // тип на нов документ - фактура
$settings = new StdClass();
$settings->old_document_paid = 1; // ако старият документ се маркира като платен
$settings->new_document_paid = 1; // ако новият документ се маркира като платен
$settings->not_convert_document_note = 1; // ако няма да се прехвърлят допълнителните пояснения в новия документ
$new_document = $FAPI->document_convert($doc_type, $doc_id, $new_doc_type, $settings);
if(isset($new_document)){
echo 'Документът е преобразуван! ID:'.$new_document->id.' Номер: '.$new_document->number;
}else{
echo ' Документът не е създаден!';
}
|