Název metody: SealEx

Metoda SealEx je k dispozici pro vizualizaci vkládaného elektronického podpisu/pečeti do PDF dokumentu – to znamená například, že elektronický podpis/pečeť bude v souboru viditelný prostřednictvím podpisového pole (s obrázkem) a uživatel skrze kliknutí na obrázek bude moci v prohlížeči PDF souborů jednoduše zjistit informace o vloženém elektronickém podpisu/pečeti. Dále také umožňuje nastavení důvodu a místa podepsání/opečetění.

Popis služby včetně WSDL schématu a příklad požadavku a odpovědi pro SOAP 1.1 a SOAP 1.2 je umístěn na https://localhost/secusign/default.asmx?op=SealEx.

Localhost je název používaný pro lokální počítač; namísto něj zvolte jméno/IP adresu SDK serveru (dle nastavení v IIS).

Požadavek v rozhraní SOAP 1.1

POST /secusign/default.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://software602.com/secusign/Seal"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SealEx xmlns="http://software602.com/secusign/">
      <FileName>string</FileName>
      <Input>base64Binary</Input>
      <FileType>UNKNOWN or CMSPKCS7 or CMSPKCS7Ext or PDF or XML or XML602FORM or XMLISDOC or ASiC_S_CAdES or ASiC_S_XAdES or ASiC_S_Tst or ASiC_E_CAdES_Tst or ASiC_E_XAdES or MS_WORD or MS_EXCEL or MS_PWR_PNT or ODF or EML or MSG or CERTIFICATE</FileType>
      <CertificateID>string</CertificateID>
      <PrivateKeyPIN>string</PrivateKeyPIN>
      <SignatureType>DEFAULT or ENVELOPED or DETACHED or ENCAPSULATE or DETACHED_FROM_HASH</SignatureType>
      <Params>string</Params>
      <ParamsEx>
        <Param>
          <Name>string</Name>
          <Value>string</Value>
        </Param>
        <Param>
          <Name>string</Name>
          <Value>string</Value>
        </Param>
      </ParamsEx>
    </SealEx>
  </soap:Body>
</soap:Envelope>

Vstupní parametry metody

V základu jsou shodné s metodou Seal, navíc je možné na vstupu metody SealEx definovat:

<ParamsEx>

[povinný element]

<Param>

[povinný element]

  • Pole Param obsahující vždy dvojici parametrů s jejich názvem a hodnotou.

  • Dvojice Param jsou volitelné a jsou uvedeny pod sebou tak, jak k sobě náleží.

<Name>

[volitelný element]

Vstup Popis

string

Název vstupního parametru. Může nabývat hodnot:

  • Flags – Vlastnosti vizualizace podpisu/pečeti

  • PosX – Pozice pole podpisu/pečeti na X souřadnici

  • PosY – Pozice pole podpisu/pečeti na Y souřadnici

  • SizeX – Velikost pole podpisu/pečeti na X souřadnici

  • SizeY – Velikost pole podpisu/pečeti na Y souřadnici

  • Page – Stránka, na kterou se má podpis vložit

  • Text – Text pro vložený podpis/pečeti

  • TextHeader – Tučný nadpis vložený nad Text

  • Image – Data obrázku pro vizualizaci podpisu/pečeti

  • Reason – Důvod podepsání/pečetění dokumentu

  • Location – Informace o místě podepsání/pečetí dokumentu

  • Contact – Kontaktní informace podepisující/pečetící osoby.

<Value>

[volitelný element]

Vstup Popis

string

Hodnota vstupního parametru náležící k danému názvu parametru.

Value pro Flags je kombinací (součtem) následujících příznaků:

  • 0 (0x0000) – nevizuální podpis (default).

  • 1 (0x0001) – podpisové pole s obrázkem (PDF_SIGN_SHOW_IMAGE).

  • 2 (0x0002) – podpisové pole s textem (PDF_SIGN_SHOW_TEXT).

Value pro Page může být libovolné číslo stránky dokumentu:

  • 1 – první stránka (výchozí).

  • záporné číslo znamená číslo stránky od konce dokumentu.

Value pro Image musí obsahovat base64 kódovaná data obrázku:

  • Base64:<Base64BinaryData>

Pokud se má Value pro Text odřádkovat, je možné použít znaky \n.

Pokud se má Value pro Text escapovat, je možné použít znak \.

Struktura odpovědi na požadavek

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SealExResponse xmlns="http://software602.com/secusign/">
      <SealExResult>int</SealExResult>
      <Output>base64Binary</Output>
      <StatusMessage>string</StatusMessage>
    </SealExResponse>
  </soap:Body>
</soap:Envelope>

Výstupní parametry metody

<SealExResult>

Návratová hodnota Popis

Int

Výsledek metody SealEx (pečetění/podepsání dokumentu). 0 = v pořádku, jinak Návratové kódy všech metod a chyba popsaná ve StatusMessage.

<Output>

Návratová hodnota Popis

base64Binary

Výstupní data podepsaného/opečetěného dokumentu, nebo externího podpisu/pečeti (v případě FileType=CMSPKCS7Ext), kódovaná v Base64.

<StatusMessage>

Návratová hodnota Popis

string

Textová zpráva odpovídající celkovému výsledku podepsání/pečetění dokumentu. Hodnota je naplněna pouze v případě problematického výsledku.

Příklad volání SealEx

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sec="http://software602.com/secusign/">
   <soapenv:Header/>
   <soapenv:Body>
      <sec:SealEx>
         <sec:FileName>Mini.pdf</sec:FileName>
         <sec:Input>Base64BinaryData</sec:Input>
         <sec:FileType>PDF</sec:FileType>
         <sec:CertificateID>HStore:01ab23cd-45ef-78ab-cd01-2345ef678fed</sec:CertificateID>
         <!--Optional:-->
         <sec:PrivateKeyPIN/>
         <sec:SignatureType>DEFAULT</sec:SignatureType>
         <!--Optional:-->
         <sec:Params/>
         <!--Optional:-->
         <sec:ParamsEx>
            <!--Zero or more repetitions:-->
            <sec:Param>
              <sec:Name>Flags</sec:Name>
               <sec:Value>3</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>PosX</sec:Name>
               <sec:Value>50</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>PosY</sec:Name>
               <sec:Value>-50</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>SizeX</sec:Name>
               <sec:Value>150</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>SizeY</sec:Name>
               <sec:Value>50</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>Text</sec:Name>
               <sec:Value>Tohle je text podpisu</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>Image</sec:Name>
               <sec:Value>Base64:Base64BinaryData</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>Reason</sec:Name>
               <sec:Value>Jsem autorem tohoto dokumentu.</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>Location</sec:Name>
               <sec:Value>Hornokrčská 15, Praha 4, 140 00, CZ</sec:Value>
            </sec:Param>
            <sec:Param>
              <sec:Name>Contact</sec:Name>
               <sec:Value>Kontaktujte nás na info@602.cz</sec:Value>
            </sec:Param>
         </sec:ParamsEx>
      </sec:SealEx>
   </soapenv:Body>
</soapenv:Envelope>