Сирма Груп ад, Сирма итт оод


Търсене на DTI клиент по TIN (EORI номер)



страница7/7
Дата26.03.2017
Размер475.57 Kb.
#17823
1   2   3   4   5   6   7

4.4Търсене на DTI клиент по TIN (EORI номер)


От 1.7.2009 всеки търговец трябва да се регистрира в централния регистър на търговците EORI. Същия номер се използва в CWS, премахвайки проблемната корелация между БУЛСТАТ/ЕГН и EORI.

Намирането на клиент (търговец) в CWS по зададен TIN е лесно:



  • Търси се клиент:
    select * from clients C where cnt_approved='Y' and not(cnt_exp_date<=NOW)
    and cnt_eori=TIN

  • Ако липсва се връща грешка DTI_TIN_NOT_REGISTERED.

  • Връщат се всички намерени клиенти C

  • (Може да има повече от един клиент, което ще бъде филтрирано допълнително)

4.5Използване на данните за регистрация


DTI използва данните за регистрация в следните случаи:

  • Логин в DTI Уеб: става с електронен подпис и TIN. Маркирано по-долу като <Уеб>

  • Автентикация на заявка към DTI B2B. Маркирано по-долу като

Възможните грешки са описани в секция 6 и са посочени в края на всяка проверка по-долу.

  • Електронният подпис се извлича от заявката за уеб услуга.
    <Уеб> Електронният подпис се извлича от браузъра с Java Applet

  • Подписът се валидира. Възможни грешки: DTI_SIG_MISSING DTI_SIG_INVALID DTI_SIG_REVOKED DTI_SIG_EXPIRED

  • Ако съдържанието на заявката не съответства на подписа: DTI_SIG_CHECKSUM

  • Търси се служител (потребител) по подпис и съответното Certification Authority:
    select * from clients_empl CE, cert_authority CA where ca.ca_sid = cnte.ca_sid
    and CE.cnte_dig_cert_sern=? and CA.ca_cert_auth_name = ?
    and not(cer_exp_date<=NOW).
    Ако липсва се връща грешка DTI_MISSING_EMPL

  • Търси се клиент (търговец) по дадения TIN (в <Уеб>) или TIN на изпращача (SenIdeCodQuaMES4 в ) използвайки 4.4

  • Списъкът клиенти C се филтрира допълнително с условие
    C.cnt_sid in (CE.cnt_sid)
    Ако не остане нито един се връща грешка DTI_MISSING_CLIENT

  • Списъкът клиенти C се филтрира допълнително с условие
    cnt_is_b2b='Y'
    Ако не остане нито един се връща грешка DTI_NOT_REGISTERED_B2B.

  • Ако остане повече от един клиент, взимаме произволен запис, тъй като няма значение кой ще ползваме. AM ще гарантира процедурно, че данните във всички C и свързаните към тях записи в CWS ще са еднакви (ECS2BCA-369):

  • еднакъв набор clients_empl с еднакви ЕГН/Имена

  • еднакъв набор clients_repr.cntr_agent_num

Всичко надолу е за :

  • Запомняме избрания клиент в променлива sender

  • ECS2 Core (не DTI) проверява следните условия свързани с изпращача:

  • RBG018: Sender Identification Code Qualifier и Recipient Identification Code Qualifier идентифицират индивидуалния изпращач и получател съответно. Те се попълват така: ако ECS то <код на МУ>, ако търговец то

  • RBG018: Sender Identification Code Qualifier и Recipient Identification Code Qualifier идентифицират индивидуалния изпращач и получател съответно. Те се попълват така: ако ECS то <код на МУ> в БГ, ако търговец то на Service Provider.

  • При връзка от тип b2b Sender Identification Code Qualifier и Recipient Identification Code Qualifier може да се различават от EORI на декларатора

  • При ползване на DTI Web Sender Identification Code Qualifier и Recipient Identification Code Qualifier съвпадат с EORI на декларатора.

  • Например за 507 се проверява traderCarrier.tin, за 513 traderDeclarant.tin и пр.

  • RBG870: IF 613 was sent by trader representative then is Required, and = , and it must be mentioned in the declaration 615 (or last accepted amendment 613)
    ELSE (613 was sent by the person lodging the summary declaration): =


  • За 515, 513 (променливата sender съответства на traderDeclarant):

  • Sender и traderDeclarant може да съвпадат но може и да се различават.

  • Ако се различават, се прави проверка дали в таблица clients_repr, traderDeclarant е посочил sender-a като упълномощен да подава декларации от името на traderDeclarant.

  • Проверява се, че declarantPersonID съвпада с cnte_egn (на един от намерените служители). Ако не: ERROR_906 с DTI_REGISTRATION_MISMATCH

  • Ако е посочен traderDeclarant/agentNumber:

  • Търси се запис за представител:
    select * from clients_repr where cntr_eori=sender.cnt_eori)
    and not(cntr_exp_date<=NOW)
    (Проверено е в CWS, че ако има няколко записа, cntr_agent_num съвпада)

  • Проверява се дали cntr_agent_num съвпада с traderDeclarant/agentNumber. Ако не: ERROR_906 с DTI_REGISTRATION_MISMATCH за traderDeclarant/agentNumber

4.6Сигурност, упълномощаване


При вход в системата (DTI Web) и при проверка на входящи съобщения (DTI Web и B2B), ECS2 прави проверка за валидността на сертификата по OCSP или по CRL.

4.6.1Проверка по OCSP


  • OCSP проверка на валидността на сертификати се прави за доставчици, които предоставят тази услуга. Индикатор за поддържането на OCSP e наличието на URL за OCSP в cws в trusted_ca.ocsp_url.

  • Ако при OCSP проверка се върне грешка за проверявания сертификат, заявената операция (вход в системата – DTI Web, подаване на съобщение – DTI Web и B2B) се отказва.

  • Ако при OCSP проверка се върне положителен отговор, обработката по заявената операция (вход в системата – DTI Web, подаване на съобщение – DTI Web и B2B) продължава.

  • Ако при опит за OCSP проверка, самата OCSP услуга предоставена от доставчика на сертификати не е налична:

    • изчаква се определено време за timeout (15 сек.);

    • прави се следващ опит. Броят опити се задава в конфигурационен файл.

    • ако след изчерпване на зададени брой опити, OCSP услугата не може да бъде използвана се преминава към проверка по CRL.

4.6.2Проверка по CRL


  • Проверка по CRL се извършва за сертификати, за които няма OCSP услуга (trusted_ca.ocsp_url е null) или при недостъпност на OCSP услугата.

  • CRL-те са предварително свалени от скрипт поддържан от АМ. Скрипта се грижи периодичното им сваляне и поддържане в актуално състояние.

  • имената на CRL файловете са със следния формат: .crl. Например: 10.crl, 126.crl, 9.crl, ... 1207.crl и т.н.

  • пътя до директорията със CRL-и се задава в конфигурационен файл.

4.6.3Достъп до данните, сигурност:


  • Един търговец може да разглежда тези съобщения, на които той е изпращач или получател, и да извлече (5.3) тези съобщения, на които е получател.

  • Когато движението е в ненулево състояние (напр. TDESND, TCEGPE) и дадена роля на търговец вече е установена (напр. TDE, TCE), само търговецът в тази роля може да изпраща последващи съобщения. Това се проверява в Security\ECS2-Agents-Validation.doc

Секция 4.4 реализира следните изисквания за изпращачи и упълномощаване:

  • Trader Service Provider:

  • TSP (подаващият ЕАД) трябва да е записан като Sender в 515 и 513. Може да се различава от TDE, може и да съвпадат.

  • TSP трябва да е регистриран в DTI с електронен подпис

  • Ако TSP се различава от TDE, TDE трябва да е упълномощил TSP да подава от негово име в таблица clients_repr

  • Случаи на получаване на съобщения в зависимост от използването на SP

  • Trader Service Provider (TSP):

  • През B2B - трябва да вижда всички съобщения от и към „неговите” търговци

  • През DTI Web - не ползва DTI Web. Може да вижда и там съобщенията от и към „неговите” търговци

  • Trader, който използва TSP

  • През B2B - не вижда съобщенията. Вижда ги чрез своя СП

  • През DTI Web - не ползва DTI Web. Може и там да вижда съобщенията от и към него, като търговец

  • Trader, който не използва SP

  • През B2B - трябва да вижда всички съобщения от и към него

  • През DTI Web - трябва да вижда всички съобщения от и към него

  • TDE:

  • TDE (подаващият ЕАД) трябва да е записан като Trader Declarant в ЕАД

  • Trader Declarant трябва да е регистриран в DTI с електронен подпис

  • Agent Number на TDE (ако е митнически агент) трябва да съвпада с този в упълномощаването от първия Trader Exporter споменат в ЕАД

  • ЕГН на служителя на TDE трябва да съвпада с Declarant Person ID

  • TPL:

  • TPL (подаващият ОДН) трябва да е записан като Person Lodging в ОДН.

  • TPL може да подава корекции за движението.

  • TRE:

  • Ако даден TRE е посочен като Trader Representative в ОДН, той може да подава корекции за това движение (виж 3.5.2).

  • Корекцията трябва да посочва същия Trader Representative

  • TCE:

  • Всеки TCE може да Представи стоките (507) за всеки MRN, това става без упълномощаване.

  • TODO AM: това е потенциален риск за сигурността (MRN hijacking).

  • Всеки TCE може да Представи манифест (547), виж решение ECS2BCA-341

5DTI B2G Уеб услуги


DTI B2G е интерфейс от тип "система-система", с който информационна система (софтуерен продукт) на търговеца (или митнически агент/представител, който представлява търговеца) може да извършва директна комуникация с ECS2.

Комуникацията се извършва през уеб услуга "B2G". Mетодите на услугата са описани по-долу.



  • За всеки метод входният параметър (in):

  • Съдържа ТИН на изпращача в поле SenIdeCodQuaMES4. Това се използва за идентификация на изпращача.

  • Трябва да е подписан с електронния подпис на изпращача (виж 4.2). Това се използва за автентикация на изпращача.

  • При грешка се връща fault с код и описание на грешката (виж 6)

  • При възникване на непредвидена грешка в системата (например недостъпна регистрационна база данни), тя се логва и се връща DTI_INTERNAL_SERVER_ERROR

5.1sendMessage


Изпраща съобщениe към ECS2. Параметри:

  • in: подписанo XML съобщениe тип BGnnnB (виж 3.3, част "Входящи към АМ"): 507 513 514 515 547 583 613 615 906

  • При успех: съобщението се предава към АМ и се записва в базата данни на DTI за преглед като форма (XML не се записва, за да се пести място).

  • ECS2 може да върне BG906B за същото съобщение по-късно, ако то е бизнес-невалидно, напр. грешен MRN или движението е в неподходящо състояние

  • fault:

  • Ако типа съобщение не съответства на гореизброените: DTI_BAD_MTYPE

  • Всички прости грешки: съобщението не се записва и не се предава към АМ.

  • ERROR_906: съобщението се записва в базата данни на DTI за преглед като форма (XML не се записва, за да се пести място). Записва се BG906B с детайлите на грешката (може да бъде прочетено по-късно с getMessage). Съобщението не се предава към АМ.

5.2getMessageIDs


Получава идентификаторите на ново-изпратени съобщения от ECS2 към този търговец. Параметри:

  • in: подписан XML съдържащ TIN на изпращача:
    BGA39687359ZZZ0

  • out (при успех): списък идентификатори на съобщения, изпратени от ECS2 към този търговец и още непрочетени (status=UNREAD). Списъкът е във вид:

    12345678901234
    12345678901234 ...

    където идентификаторите са тип an..14. Списъкът може да е празен.

  • fault: Възможни прости грешки

5.3getMessage


Получава съобщение с даден идентификатор. Параметри:

  • in: подписан XML съдържащ TIN на изпращача и идентификатор на исканото съобщение във вид:

    BGA39687359ZZZ0
    12345678901234


  • Всички съобщения, с които изискваме информация за съобщенията (messages) обграждаме с тагове

  • out (при успех): XML съобщение тип BGnnnB (виж 3.3, част "Изходящи към АМ"): 504 505 509 521 522 525 528 529 548 549 551 560 561 582 599 604 605 628 906

  • fault:

  • Ако липсва съобщение с този идентификатор: DTI_MISSING_MESSAGE

  • Ако съобщението не е за този TIN: DTI_NOT_OWNER

  • И други възможни прости грешки.

5.4deleteMessage


Изтрива съобщение с даден идентификатор. Параметри:

  • in: подписан XML съдържащ TIN на изпращача и идентификатор на съобщението за изтриване във вид:

    BGA39687359ZZZ0
    12345678901234


  • При успех: съобщението се маркира като прочетено (status=READ). XML съдържанието му се изтрива, за да се пести място (съобщението остава в базата данни на DTI за преглед като форма)

  • fault:

  • Ако липсва съобщение с този идентификатор: DTI_MISSING_MESSAGE

  • Ако съобщението не е за този TIN: DTI_NOT_OWNER

  • И други възможни прости грешки.

5.5getMesageIDsByCriteria


Получава идентификаторите на изпратените съобщения от ECS2 към даден търговец на базата на входящи критерии.

  • in: подписан XML със следния формат:



BGA39687359ZZZ0

20130422

20130426

0

yyCCxxxxxxxxxxxxxZ

YYxxxxxxxxxxxxxRZnnnnn



  • Полето SenIdeCodQuaMES4 е задължително, останалите са опционални.

  • Възможните стойности за полето Status са:

    • 0 (непрочетени съобщения);

    • 1 (прочетени);

    • 2 (непрочетени и прочетени).

  • out (при успех): списък идентификатори на съобщения, изпратени от ECS2 към дадения търговец. Списъкът е във вид:

    12345678901234
    12345678901234 ...

    където идентификаторите са тип an..14. Списъкът може да е празен.

  • fault

  • възможни прости грешки

5.6Параметри в ecs2.properties касаещи getMeassage функциите


# Whether to mark message as read on getMessage

dti.b2b.mark.message.read=false

# Number of message ids to be returned by getMessageIds and getMesageIDsByCriteria

dti.b2b.get.message.ids.number=100


6Обработка на грешки


ECS2 разделя грешките на два вида:

  • Прости (код>=2002): ECS2 връща код и описание и игнорира подаденото съобщение.

  • Сложни (код=2001): ECS2 записва подаденото съобщение за целите на одит и връща детайлната грешка в BG906B, което може да бъде извлечено по-късно.

Кодовете за грешка са дадени по-долу за удобство на читателя. Актуалните кодове и описания се връщат от ECS2 .

6.1Прости грешки


9049

CL_ERROR_DETAIL

Описание на грешката

2001

DTI_ERROR_906

Грешката е описана в детайли в BG906B, което може да бъде извлечено по-късно

2002

DTI_SIG_MISSING

Входният параметър не съдържа електронен подпис

2003

DTI_SIG_INVALID

Електронният подпис не съответства на спецификацията

2004

DTI_SIG_REVOKED

Електронният подпис е анулиран

2005

DTI_SIG_EXPIRED

Електронният подпис е с изтекъл срок на валидност

2006

DTI_SIG_CHECKSUM

Входният параметър е променен след електронното му подписване

2007

DTI_MISSING_EMPL

Не е намерен валиден служител с дадения електронен подпис

2008

DTI_MISSING_TIN

Съобщението не съдържа TIN на изпращача.

2009

DTI_TIN_NOT_SUPPORTED

Този тип TIN не се поддържа от DTI регистрационната база данни

2010

DTI_TIN_NOT_REGISTERED

Този TIN не е регистриран като валиден клиент в DTI регистрационната база данни

2011

DTI_MISSING_CLIENT

Този TIN не съответства на дадения електронен подпис на служител

2012

DTI_NOT_REGISTERED_B2B

Този TIN не е регистриран за DTI B2G достъп










2014

DTI_BAD_MTYPE

Типът подадено съобщение не е измежду разрешените за това действие

2015

DTI_MISSING_MESSAGE

Липсва съобщение с дадения идентификатор

2016

DTI_NOT_OWNER

Съобщението с дадения идентификатор е за друг получател (не DTI клиента, собственик на дадения електронен подпис)

    2024

    DTI_BAD_STATUS

    Невалидна стойност в полето . Възможните стойности са 0, 1 или 2.

    2025

    DTI_INVALID_FROM_DATE

    Грешка в полето . Невалидна дата.

    2026

    DTI_INVALID_TO_DATE

    Грешка в полето <То>. Невалидна дата.

2099

DTI_INTERNAL_SERVER_ERROR

Грешка в приложението. Записана е в системният лог. Моля опитайте по-късно!

5187

DTI_MESSAGE_SENDER_NOT_AUTHORISED

'За всеки в входящите съобщения (513, 515, 547, 613, 615) трябва да има оторизиран , който да подава съобщения вместо него (или Message Declarant да съвпада с Message Sender)

6.2Сложни грешки


BG906B грешките специфични за DTI са описани по-долу. errorXPath указва полетата, които се проверяват

CL_ERROR_DETAIL

Описание

errorXPath

EORI

Подаденият TIN не може да бъде намерен в EORI (връща се специфично съобщение от EORI услугата)




DTI_REGISTRATION_MISMATCH

Данните за Търговец Декларатор и Лице Декларатор се взимат от DTI регистрацията и не могат да се променят

traderDeclarant/agentNumber

declarantPersonID


7Таймер за комуникация между DTI B2G и DTI Web


Комуникацията между DTI B2G/Web и ECS2 Core се извършва през общата база на DTI. За целта в DTI B2G е реализиран Quartz таймер, който :

  • Проверява на всеки 30 секунди за наличието на съобщения със статус DTI_PENDING,

  • Изпраща ги през B2G MessageSender към Core,

  • Установява статус на съобщението DTI_SENT

  • Изтрива XML content

4.11.2013 стр. от

Каталог: documents
documents -> Български футболен съюз п р а в и л н и к за статута на футболистите
documents -> Изготвяне на Технически инвестиционен проект и извършване на строително-ремонтни работи /инженеринг/ на стадион “Плевен”
documents -> П р а в и л а за организиране и провеждане на ученическите игри през учебната 2013/2014 година софия, 2013 г
documents -> К о н с п е к т по дисциплината “Обща и неорганична химия” за студентите от І–ви курс специалност “Фармация” Обща химия
documents -> Издадени решения за преценяване на необходимостта от овос в риосв гр. Шумен през 2007 г
documents -> За сведение на родителите, които ще заплащат таксите по банков път цдг” Червената шапчица”
documents -> Стъпки за проверка в регистър гаранции 2016г. Начална страница на сайта на ауер електронни услуги
documents -> Общи въпроси и отговори, свързани с държавните/минималните помощи Какво е „държавна помощ”


Сподели с приятели:
1   2   3   4   5   6   7




©obuch.info 2024
отнасят до администрацията

    Начална страница