API_MARKSIGN()

API_MARKSIGN atsisiuntimas (Konsultantams ir atstovams):

Aprašymas

Saugus ir lengvas PDF dokumentų pasirašymas el. parašu Mark Sign sistemoje vos per kelias minutes.

Sugeneruotas PDF dokumentas įkeliamas į Mark Sign sistemą, kur galima dokumentą pasirašyti naudojant šiuolaikinius pasirašymo metodus.

Pasirašančius asmenis galima nurodyti dokumento įkėlimo metų arba po jo, nurodant el. paštą į kurį asmuo gaus pasirašymo nuorodą.

Sistemos galimybės:

  • Galimybė sugeneruoti ir įkelti PDF dokumentą į Mark Sign sistemą
  • Galimybė nurodyti pasirašančius asmenis
  • Patikrinti dokumento statusą ar jis pasirašytas, ar ne
  • Parsisiųsti pasirašytą dokumentą iš Mark Sign sistemos
  • Pašalinti pasirašytą dokumentą iš Mark Sign sistemos

Privalumai naudojant:

  • Elektroninis parašas, turintis juridinę teisę Europos Sąjungoje
  • Dokumentų pasirašymas naudojant kvalifikuotą Smart-ID arba mobilųjį elektroninį parašą
  • Nuolat tobulinama sistema
  • Galima dokumentus pateikti pasirašymui tiesiogiai iš Rivile GAMA sistemos

Kaip veikia:

  • Pasirašoma sutartis su Mark Sign
  • Gaunama Mark Sign API raktas ir įvedamas į Rivile parametrus
  • Formuojami pasirašymo dokumentai

Reikalavimai

  • Rivile GAMA v120
  • Versijų prieigos sutartis
  • Instaliuotas Manorivile-Gateway

Nuo ko pradėti

  1. Kreiptis į Mark Sign
    • Pasirašyti sutartį
    • Gauti "API Key"
  2. Įsidiegti sprendimą Rivile GAMA sistemoje
  3. Apsirašyti parametrą MARKSIGN_API

Diegimas

  • Į Rivile GAMA\ALL katalogą įrašomi failai:
    • api_marksign.fxp
  • Aprašomas testavimo klavišas sutarčių sąraše (CTRL+Q):
EXECSCRIPT(SUBSTR(komanda_v,ATC(CHR(13),komanda_v,ij_k+1)))
ij_k=999999 && EXIT
ON ERROR

LOCAL lcResult

** Gaunamas Mark Sign API raktas
m.lcResult=""
IF !api_marksign(@lcResult,"GETKEY") && MARKSIGN API raktas
    =l_MESSAGEBOX(lcResult,16,'Klaida!')
    RETURN .F.
ENDIF
m.lcApi=m.lcResult

** Pateikiamas naujas failas pasirašymui
LOCAL lcDokumentoId, lcFile
m.lcResult=""
m.lcFile="C:\RIV_GAMA\parasas.pdf"
IF !api_marksign(@lcResult,"UPLOAD",m.lcApi,m.lcFile)
    =l_MESSAGEBOX(lcResult,16,'Klaida!')
    RETURN .F.
ENDIF
m.lcDokumentoId=lcResult.doc_id

** Pridedamas pasirašantis asmuo
IF !api_marksign(@lcResult,"SIGNER_ADD",m.lcApi,m.lcDokumentoId,'testas@testas.eu','Jonas','Joninskas',.F.)
    =l_MESSAGEBOX(m.lcResult,16,'Klaida!')
    RETURN .F.
ENDIF
m.lcUrl=m.lcResult.invitationUrl

** Atidaroma naršyklė, kad menedžeris pasirašytų iš savo pusės
LOCAL loLink
m.loLink=CREATEOBJECT("hyperlink")
m.loLink.NavigateTo(m.lcUrl)

Funkcijos

api_marksign(@lcResult,"GETKEY")

  • lcResult - jei funkcija grąžina .T., tuomet grąžinamas Mark Sign API raktas, jei .F. , tai gaunamas klaidos pranešimas (Privalomas)

api_marksign(@lcResult,"UPLOAD",lcApiKey,lcFile)

  • lcResult - jei funkcija grąžina .T., tuomet grąžinamas objektas, jei .F., tai gaunamas klaidos pranešimas (Privalomas). lcResult objekto atributai, kai .T.:
    • lcResult.doc_id - Mark Sign dokumento ID
  • lcResult.filename - Mark Sign failo pavadinimas
  • lcApiKey - Mark Sign API raktas (Privalomas)
  • lcFile - failo kelias (Privalomas)

api_marksign(@lcResult,"SIGNER_ADD",lcApiKey,lcDokumentoId,lcEmail,[lcName],[lcSurname],[llEmail],[lcSuccessUrl])

  • lcResult - jei funkcija grąžina .T., tuomet grąžinamas objektas, jei .F. , tai gaunamas klaidos pranešimas (Privalomas). lcResult objekto atributai, kai .T.:
    • lcResult.invitationUrl - Mark Sign pasirašymo nuoroda
    • lcResult.name - Mark Sign pasirašančio asmens vardas
    • lcResult.surname - Mark Sign pasirašančio asmens pavardė
  • lcApiKey - Mark Sign API raktas (Privalomas)
  • lcDokumentoId - Mark Sign dokumento ID (Privalomas)
  • lcEmail - pasirašančio el. paštas (Privalomas)
  • lcName - pasirašančio vardas
  • lcSurname - pasirašančio pavardė
  • llEmail - siųsti nuorodo el. paštu. .T. - taip, .F. - ne.
  • lcSuccessUrl - URL, į kurį klientas nukreipiamas po sėkmingo pasirašymo

api_marksign(@lcResult,"CHECK",lcApiKey,lcDokumentoId)

  • lcResult - jei funkcija grąžina .T., tai lcResult nieko negrąžina, jei .F. , tai gaunamas klaidos pranešimas (Privalomas).
  • lcApiKey - Mark Sign API raktas (Privalomas)
  • lcDokumentoId - Mark Sign dokumento ID (Privalomas)

api_marksign(@lcResult,"DOWNLOAD",lcApiKey,lcDokumentoId)

  • lcResult - jei funkcija grąžina .T., tuomet grąžinamas tekstas (binary), jei .F. , tai gaunamas klaidos pranešimas (Privalomas).
  • lcApiKey - Mark Sign API raktas (Privalomas)
  • lcDokumentoId - Mark Sign dokumento ID (Privalomas)

api_marksign(@lcResult,"REMOVE",lcApiKey,lcDokumentoId)

  • lcResult - jei funkcija grąžina .T., tai lcResult nieko negrąžina, jei .F. , tai gaunamas klaidos pranešimas (Privalomas).
  • lcApiKey - Mark Sign API raktas (Privalomas)
  • lcDokumentoId - Mark Sign dokumento ID (Privalomas)

Pavyzdžiai

Failo įkėlimas ir pasirašančiųjų priskyrimas:

LOCAL lcResult, lcDokumentoId, lcFile
m.lcResult=""

** Gaunamas Mark Sign API raktas
IF !api_marksign(@lcResult,"GETKEY") && MARKSIGN API raktas
    =l_MESSAGEBOX(lcResult,16,'Klaida!')
    RETURN .F.
ENDIF
m.lcApi=m.lcResult

** Pateikiamas naujas failas pasirašymui
m.lcResult=""
m.lcFile="C:\tmp\sutartis.pdf"
IF !api_marksign(@lcResult,"UPLOAD",m.lcApi,m.lcFile)
    =l_MESSAGEBOX(lcResult,16,'Klaida!')
    RETURN .F.
ENDIF
m.lcDokumentoId=lcResult.doc_id

** Priskiriami pasirašantys asmenys
LOCAL lcMusuNuoroda
m.lcResult=""

** Pasirašantis pirmas asmuo
IF !api_marksign(@lcResult,"SIGNER_ADD",m.lcApi,m.lcDokumentoId,'testas@testas.eu','Jonas','Joninskas',.F.,'')
    =l_MESSAGEBOX(m.lcResult,16,'Klaida!')
    RETURN .F.
ENDIF 

m.lcMusuNuoroda=m.lcResultSign.invitationUrl

** Pasirašantis antras asmuo, kuris gaus pasirašymo nuorodą į el. paštą
IF !api_marksign(@lcResult,"SIGNER_ADD",m.lcApi,m.lcDokumentoId,'petras@testas.eu','Petras','Petrinskas',.T.,'')
    =l_MESSAGEBOX(m.lcResultSign,16,'Klaida!')
    RETURN .F.
ENDIF 

** Atidaroma naršyklė, kad menedžeris pasirašytų iš savo pusės
LOCAL loLink
m.loLink=CREATEOBJECT("hyperlink")
m.loLink.NavigateTo(m.lcMusuNuoroda)

return .t.

Patikrinamas dokumento pasirašymo statusas. Jei dokumentas yra pasirašytas, jis parsiunčiamas ir ištrinamas iš Mark Sign:

lcDokumentoId - turi būti išsaugotas Rivile Gamoje.

LOCAL lcResult
m.lcResult=""

** Gaunamas Mark Sign API raktas
IF !api_marksign(@lcResult,"GETKEY") && MARKSIGN API raktas
    =l_MESSAGEBOX(lcResult,16,'Klaida!')
    RETURN .F.
ENDIF
m.lcApi=m.lcResult

** lcDokumentoId - turi būti užsaugotas Rivilėje

** Tikrinamas dokumento pasirašymo statusas 
IF !api_marksign(@lcResult,"CHECK",m.lcApi,m.lcDokumentoId)
    ** Dar nepasirašė arba nėra informacijos
    RETURN .F.
ENDIF

** Atsiunčiamas pasirašytas dokumentas
LOCAL lcFile
m.lcResult=""
IF !api_marksign(@lcResult,"DOWNLOAD",m.lcApi,m.lcDokumentoId)
    =l_MESSAGEBOX(lcResult,16,'Klaida!')
    RETURN .F.
ENDIF
m.lcFile="c:\tmp\sutartis_signed.pdf"
IF FILE(m.lcFile)
    ERASE(m.lcFile)
ENDIF
=STRTOFILE(m.lcResult,m.lcFile)

** Ištrinamas pasirašytas dokumentas iš Mark Sign sistemos
m.lcResult=""
IF !api_marksign(@lcResult,"REMOVE",m.lcApi,m.lcDokumentoId)
    =l_MESSAGEBOX(lcResult,16,'Klaida!')
    RETURN .F.
ENDIF

Apmokestinimas

Apmokestinama pagal Rivile API užklausas. Dokumento užkėlimas, pasirašymo tikrinimas, dokumento atsisiuntimas ir dokumento ištrynimas generuoja po vieną Rivile API užklausą.