PDF abrufen

Gibt die angefragten Meldescheine als PDFs zurück.

1
GET import/meldeschein/get-pdf/

Parameter

Name Datentyp Verwendung
meta object Meta-Objekt
meldescheine array Array mit Meldeschein-IDs

PDF dekodieren und speichern

Die Rückgabe des Servers enthält die PDF-Daten als base64 kodierte string-Werte in der Response.

Der Wert ist jeweil ins response[].pdf zu finden:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 "response": [
    {
      "meldescheinnummer": "123456798",
      "encoding": "base64",
      "pdf": "JVBERi0xLjUKJbXtrvsKNCAwIG9iago8PCAvTGVuZ3RoIDUgMCBSCiAgIC9...<abgeschnitten>"
    },
    {
      "meldescheinnummer": "4500015101",
      "encoding": "base64",
      "pdf": "JVBERi0xLjUKJbXtrvsKNCAwIG9iago8PC34544dxxgMSCiAgWx0ZIg...<abgeschnitten>"
    }
  ]

Beispiele:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import base64

# ....
# Die variable Antwort des Servers ist hier in der variable "r" zu finden

for ms in r['response']:

  base64_string = ms.get('pdf')
  filename =  './Beispiel-Meldeschein-%s.pdf' % ms.get('meldescheinnummer')
  fh = open(filename,'wb')   #lokale Datei im binären Modus zum schreiben öffnen / erstellen.

  decoded = base64.decodebytes(base64_string) # Base64 String binär dekodieren
  fh.write(decoded) #  dekodierte Daten in Datei schreiben
  fh.close() # Datei schliessen

Beispiel-Anfragen

Folgendes Beispiel ruft die Daten von zwei Meldescheinen ab.

Request:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "meta": {
    "gemeinde": 1,
    "vermieter": 1
  },
  "meldescheine": [
    "123456798",
    "4500015101"
  ]
}
1
2
3
4
5
6
7
8
9
<root>
    <meta>
      <!-- Meta Daten -->
    </meta>
    <meldescheine>
      <list-item>123456798</list-item>
      <list-item>4500015101</list-item>
    <meldescheine>
</root>

Response:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "meta": {
    "requestId": "0324b440-c0ec-4828-a13c-5b1b81797d78",
    "timestamp": "2019-06-13T11:55:26.039028",
    "user": {
      "id": 6,
      "username": "demo_hotel"
    },
    "gemeinde": 1
  },
  "response": [
    {
      "meldescheinnummer": "123456798",
      "encoding": "base64",
      "pdf": "JVBERi0xLjUKJbXtrvsKNCAwIG9iago8PCAvTGVuZ3RoIDUgMCBSCiAgIC9...<abgeschnitten>"
    },
    {
      "meldescheinnummer": "4500015101",
      "encoding": "base64",
      "pdf": "JVBERi0xLjUKJbXtrvsKNCAwIG9iago8PC34544dxxgMSCiAgWx0ZIg...<abgeschnitten>"
    }
  ]
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <meta>
      <gemeinde>1</gemeinde>
      <requestId>0324b440-c0ec-4828-a13c-5b1b81797d78</requestId>
      <timestamp>2019-06-13T11:55:26.039028</timestamp>
      <user>
         <id>6</id>
         <username>demo_hotel</username>
      </user>
   </meta>
   <response>
      <list-element>
         <encoding>base64</encoding>
         <meldescheinnummer>123456798</meldescheinnummer>
         <pdf>JVBERi0xLjUKJbXtrvsKNCAwIG9iago8PCAvTGVuZ3RoIDUgMCBSCiAgIC9...&lt;abgeschnitten&gt;</pdf>
      </list-element>
      <list-element>
         <encoding>base64</encoding>
         <meldescheinnummer>4500015101</meldescheinnummer>
         <pdf>JVBERi0xLjUKJbXtrvsKNCAwIG9iago8PC34544dxxgMSCiAgWx0ZIg...&lt;abgeschnitten&gt;</pdf>
      </list-element>
   </response>
</root>