Złożenie wniosku o identyfikatory jednostkowe
Przykład
POST https://idissuer.pl/api/v3/identifiers/unit/requests
Content-Type: application/json
Authorization: Bearer {{AUTH_TOKEN}}
{
"economicOperatorId": "PWPK0000001",
"facilityId": "PWPK0000002",
"processType": false,
"machineId": "",
"routeData": {
"intendedMarket": "PL",
"intendedRoute": "",
"fromOutOfUE": false
},
"productData": {
"cnCode": "Code",
"productBrand": "Brand",
"productType": "Cigarette",
"productTypeDescription": "",
"productWeight": 15,
"euCegIdentifier": "12345-12-12345",
"euCegProductNumber": "12345678901",
"subTypeName": "",
"units": 10,
"optionalId": ""
},
"reqQuantity": 15000,
"processImmediately": false
}
"processType" - czy w procesie wykorzystywana jest maszyna
"processImmediately" - opcja "true" spowoduje rozpoczęcie przetwarzania wniosku z pominięciem 24-godzinnego okresu oczekiwania na ewentualną decyzję o anulowaniu.
Odpowiedź
HTTP/1.1 201 Created
Connection: close
Date: Thu, 11 Jan 2024 09:23:37 GMT
Content-Type: application/json; charset=utf-8
Location: /api/v3/identifiers/unit/requests/13
{
"unitIdentifiersRequestId": 13
}
Pobranie szczegółów wniosku o identyfikatory jednostkowe
Przykład
GET https://idissuer.pl/api/v3/identifiers/unit/requests/10
Content-Type: application/json
Authorization: Bearer {{AUTH_TOKEN}}
Odpowiedź
HTTP/1.1 200 OK
Date: Thu, 11 Jan 2024 09:42:24 GMT
Content-Type: application/json; charset=utf-8
{
"unitIdentifiersRequestId": 23,
"economicOperatorId": "PWPK0000001",
"facilityId": "PWPK0000002",
"processType": false,
"machineId": null,
"routeData": {
"intendedMarket": "PL",
"intendedRoute": null,
"fromOutOfUE": false
},
"productData": {
"cnCode": "Code",
"productBrand": "Brand",
"productType": "Cigarette",
"productTypeDescription": "",
"productWeight": 15.00,
"euCegIdentifier": "12345-12-12345",
"euCegProductNumber": "12345678901",
"subTypeName": null,
"units": 10,
"optionalId": ""
},
"reqQuantity": 15000,
"processImmediately": false,
"createdOn": "2024-01-11T14:14:31.5626684+00:00",
"status": "Accepted",
"createdBy": "user@test.pl"
}
Statusy wniosków o identyfikatory jednostkowe
New - nowy
Rejected - wniosek odrzucony
Accepted - wniosek zaakceptowany, oczekuje 24 godziny na anulowanie
CanceledByClient - wniosek anulowany
PassedToGeneration - wniosek został zaakceptowany bez możliwości anulowania lub upłynął 24 godzinny okres na anulowanie
Powody odrzucenia wniosków o identyfikatory jednostkowe
ContractNotExisting
ContractNotValid
EONotActive
UserHasNoAccessToEO
FacilityNotActive
UserHasNoAccessToFacility
MachineNotActive
FacilityNotAssignedToEO
MachineNotAssignedToFacility
EONotExistingInRouter
FacilityNotExistingInRouter
MachineNotExistingInRouter
FacilityNotAssignedToEOInRouter
MachineNotAssignedToFacilityInRouter
SingleValueAddressExisting
LegacyTechnicalError
MachineIsRegisteredAsMachinePartInRouter
Anulowanie wniosków o identyfikatory jednostkowe
Przykład
PUT https://idissuer.pl/api/v3/identifiers/unit/requests/23/cancellation
Content-Type: application/json
Authorization: Bearer {{AUTH_TOKEN}
{
"economicOperatorId": "PWPK0000001",
"cancellationReason": "Other",
"cancellationDescription": "test description",
"cancellationAdditionalDescription": "test additional"
}
Odpowiedź
HTTP/1.1 204 No Content
Date: Thu, 11 Jan 2024 10:34:25 GMT
Content-Type: application/json; charset=utf-8
Powody odrzucenia wniosków o identyfikatory jednostkowe (cancellationReason)
EventNotMaterialise
ErroneousInformation
Other
Wyszukiwanie wniosków o identyfikatory jednostkowe
Przykład
GET https://idissuer.pl/api/v3/identifiers/unit/requests?economicOperatorId=PWPK0000001
Content-Type: application/json
Authorization: Bearer {{AUTH_TOKEN}
Dopuszczalne parametry wyszukiwania
economicOperatorId - Identyfikator podmiotu
facilityId - Identyfikator zakładu
status - Status wniosku
createdOnFrom - Data rejestracji "od"
createdOnTo - Data rejestracji "do"
pageNumber - numer wybranej strony
pageSize - ilość rekordów na stronę (max 100)
Odpowiedź
HTTP/1.1 200 OK
Date: Thu, 11 Jan 2024 10:34:25 GMT
Content-Type: application/json; charset=utf-8
{
{
"items": [
{
"unitIdentifiersRequestId": 24,
"economicOperatorId": "PWPK0000001",
"facilityId": "PWPK0000002",
"processType": false,
"machineId": null,
"routeData": {
"intendedMarket": "PL",
"intendedRoute": null,
"fromOutOfUE": false
},
"productData": {
"cnCode": "Code",
"productBrand": "Brand",
"productType": "Cigarette",
"productTypeDescription": "",
"productWeight": 15.00,
"euCegIdentifier": "12345-12-12345",
"euCegProductNumber": "12345678901",
"subTypeName": null,
"units": 10,
"optionalId": ""
},
"reqQuantity": 15000,
"processImmediately": true,
"createdOn": "2024-01-11T14:23:31.3026842+00:00",
"status": "PassedToGeneration"
},
{
"unitIdentifiersRequestId": 23,
"economicOperatorId": "PWPK0000001",
"facilityId": "PWPK0000002",
"processType": false,
"machineId": null,
"routeData": {
"intendedMarket": "PL",
"intendedRoute": null,
"fromOutOfUE": false
},
"productData": {
"cnCode": "Code",
"productBrand": "Brand",
"productType": "Cigarette",
"productTypeDescription": "",
"productWeight": 15.00,
"euCegIdentifier": "12345-12-12345",
"euCegProductNumber": "12345678901",
"subTypeName": null,
"units": 10,
"optionalId": ""
},
"reqQuantity": 15000,
"processImmediately": false,
"createdOn": "2024-01-11T14:14:31.5626684+00:00",
"status": "CanceledByClient"
}
],
"pagesCount": 1,
"totalItemsCount": 2,
"pageNumber": 1,
"pageSize": 25
}
Pobranie szczegółów identyfikatorów jednostkowych
Po przejściu wniosku w status "PassedToGeneration" generowane są identyfikatory na opakowania
Przykład
GET https://idissuer.pl/api/v3/identifiers/unit/24
Content-Type: application/json
Authorization: Bearer {{AUTH_TOKEN}}
Odpowiedź
HTTP/1.1 200 OK
Date: Thu, 11 Jan 2024 09:42:24 GMT
Content-Type: application/json; charset=utf-8
{
"requestId": 24,
"reqQuantity": 15000,
"registrationDate": "2024-01-11T14:23:31.3026842+00:00",
"status": "Synchronized"
}
Statusy identyfikatorów
PassedToGeneration - oczekujące na generowanie
Generated - wygenerowane, oczekujące na proces synchronizacji
Synchronized - zsynchronizwane z Dentsu - gotowe do pobrania
CannotSynchronize - błąd synchronizacji - nie można pobrać
Downloaded - pobrane
DownloadConfirmed - potwierdzone
Wyszukiwanie identyfikatorów jednostkowych
Przykład
GET https://idissuer.pl/api/v3/identifiers/unit?status=Synchronized
Content-Type: application/json
Authorization: Bearer {{AUTH_TOKEN}
Dopuszczalne parametry wyszukiwania
status - Status wniosku
createdOnFrom - Data rejestracji "od"
createdOnTo - Data rejestracji "do"
pageNumber - numer wybranej strony
pageSize - ilość rekordów na stronę (max 100)
Odpowiedź
HTTP/1.1 200 OK
Date: Thu, 11 Jan 2024 10:34:25 GMT
Content-Type: application/json; charset=utf-8
{
"items": [
{
"requestId": 24,
"reqQuantity": 15000,
"createdOn": "2024-01-11T14:23:31.3026842+00:00",
"status": "Synchronized"
}
],
"pagesCount": 1,
"totalItemsCount": 1,
"pageNumber": 1,
"pageSize": 25
}
Pobranie identyfikatorów jednostkowych
Identyfikatory są gotowe do pobrania w statusie "Synchronized". Formatem wynikowym jest plik csv z listą identyfikatorów.
Przykład
GET https://idissuer.pl/api/v3/identifiers/unit/24/csv?format=Full
Content-Type: application/json
Authorization: Bearer {{AUTH_TOKEN}}
Format identyfikatorów
Full - pełny
WithoutProductCode - bez kodu produktu
Odpowiedź
HTTP/1.1 200 OK
Date: Thu, 11 Jan 2024 09:42:24 GMT
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=24.csv; filename*=UTF-8''24.csv
Potwierdzanie identyfikatorów jednostkowych
Przykład
PUT https://idissuer.pl/api/v3/identifiers/unit/10/confirmation
Content-Type: application/json
Authorization: Bearer {{AUTH_TOKEN}}
{
"checksum": "f741c63818a3ea47ec5492e86b1c1b2432fecb5eb4ceb3a5fe57cd6c091b91fb",
"format": "Full"
}
Suma kontrolna jest wyliczana algorytmem SHA256 z pliku csv.
Odpowiedź
HTTP/1.1 204 No Content
Date: Thu, 11 Jan 2024 09:42:24 GMT
Content-Type: application/json; charset=utf-8