Updating transaction
Aktualizacja transakcji
Transakcje, które zostaną przesłane do systemu i będą przetworzone, mogą być aktualizowane. Ich aktualizacja może dotyczyć treści istniejących dokumentów, kolejki podpisu.
Aktualizacja gotowej transakcji dobywa się za pomocą requestu POST do endpointu /ext-api/v2/transactions oraz jedną z metod autentykacji opisaną w Authentication (np. Bearer token zawarty w nagłówku Authorization).
Payload w ramach aktualizacji transakcji wygląda tak samo, jak w przypadku jej tworzenia. Zmiany zachodzą jedynie w treści danych. Istotne jest przy tym zachowanie tego takich samych wartości wskazanych w:
transaction_data_stream,TransactionId.
Przykładowy payload transakcji:
curl --location 'https://ext-api.pergam.in/ext-api/v2/transactions' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--header 'X-App-Locale: pl' \
--data-raw '{
"transaction_data_stream": "LEASE_AGREEMENT",
"transaction_name": "t-1-leasing",
"transaction_body": {
"header": {
"TransactionId": "id_transaction",
"TransactionOwner": "[email protected]",
"Date": "2023-05-17",
"TypeOfVehicle": "car",
"YearOfProduction": "2023",
"MileageLimit": "2000",
"Address": "ul. Mickiewicza 12, 06-400 Ciechanów",
"ItemId": "1",
"ItemName": "Volkswagen Arteon",
"Queue": {
"Signers": [
{
"Email": "[email protected]",
"SignMethod":"SMS",
"Step": 1
},
{
"Email": "[email protected]",
"SignMethod":"SMS",
"Step": 2
}
]
}
},
"invoice": [
{
"InvoiceValue": "350000.01",
"Tax": 23
}
],
"statute":
{
"CustomerName": "Name and suranem",
"CarRegistrationNumber": "WP 12345"
},
"statement": [
{
"Name": "Edward",
"Surname": "Kowalski",
"Identification": "dowód osobisty",
"IdentificationSeries": "APD 776655",
"SocialSecurityNumber": "00000000000",
"DateStatement": "2023-04-18",
"ClientAddress": "ul. Pokrętna 54, 06-400 Ciechanów"
}
]
}
}'
Przykładowy payload aktualizacji powyższej transakcji:
curl --location 'https://ext-api.pergam.in/ext-api/v2/transactions' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--header 'X-App-Locale: pl' \
--data-raw '{
"transaction_data_stream": "LEASE_AGREEMENT",
"transaction_name": "t-1-leasing",
"transaction_body": {
"header": {
"TransactionId": "id_transaction",
"TransactionOwner": "[email protected]",
"Date": "2023-05-17",
"TypeOfVehicle": "car",
"YearOfProduction": "2023",
"MileageLimit": "2000",
"Address": "ul. Mickiewicza 12, 06-400 Ciechanów",
"ItemId": "1",
"ItemName": "Volkswagen Arteon",
"Queue": {
"Signers": [
{
"Email": "[email protected]",
"SignMethod":"SMS",
"Step": 1
},
{
"Email": "[email protected]",
"SignMethod":"SMS",
"Step": 2
}
]
}
},
"invoice": [
{
"InvoiceValue": "350000.01",
"Tax": 23
}
],
"statute":
{
"CustomerName": "Adam Nowak",
"CarRegistrationNumber": "WP 12345"
},
"statement": [
{
"Name": "Adam",
"Surname": "Nowak",
"Identification": "dowód osobisty",
"IdentificationSeries": "APA 000000",
"SocialSecurityNumber": "00000000023",
"DateStatement": "2023-05-17",
"ClientAddress": "ul. Pokrętna 54, 06-400 Ciechanów"
}
]
}
}'
Ustawienia transakcji
Każdy dokument ma dwa atrybuty, które można modyfikować oraz które są aplikowane w momencie akceptacji transakcji:
lock- jego włączenie sprawia, że dokument mimo modyfikacji, nie zostanie zaktualizowany,delete- jego włączenie sprawia, że dokument nie zostanie wygenerowany podczas przesyłania transakcji lub zostanie usunięty z istniejącej transakcji.
Obydwa atrybuty mogą być dowolnie modyfikowane, ale mają zastosowanie dopiero wtedy, gdy transakcja zostanie “zaktualizowana” przez użytkownika.