doc/tmpl/new.html
changeset 73 f2f247a5b6c9
parent 72 e7b44716a564
equal deleted inserted replaced
72:e7b44716a564 73:f2f247a5b6c9
    17 				<li value="1">1. <a href="#api-intro">Einführung</a></li>
    17 				<li value="1">1. <a href="#api-intro">Einführung</a></li>
    18 				<li value="2">2. 
    18 				<li value="2">2. 
    19 				<a href="#api-interfaces">Interfaces</a>
    19 				<a href="#api-interfaces">Interfaces</a>
    20 				<ol>
    20 				<ol>
    21 					<li value="2.1">2.1 <a href="#interface-xmlrpc">XML-RPC</a></li>
    21 					<li value="2.1">2.1 <a href="#interface-xmlrpc">XML-RPC</a></li>
       
    22 					<li value="2.1">2.1 <a href="#interface-soap">SOAP</a></li>
    22 					<li value="2.2">2.2 <a href="#interface-xml">XML</a></li>
    23 					<li value="2.2">2.2 <a href="#interface-xml">XML</a></li>
    23 					<li value="2.3">2.3 <a href="#interface-json">JSON</a></li>
    24 					<li value="2.3">2.3 <a href="#interface-json">JSON</a></li>
    24 					<li value="2.4">2.4 <a href="#interface-jsonp">JSONP</a></li>
    25 					<li value="2.4">2.4 <a href="#interface-jsonp">JSONP</a></li>
    25 					<li value="2.5">2.5 <a href="#interface-php">PHP</a></li>
    26 					<li value="2.5">2.5 <a href="#interface-php">PHP</a></li>
    26 				</ol>
    27 				</ol>
    27 				</li>
    28 				</li>
    28 				<li value="3">3. 
    29 				<li value="3">3. 
    29 				<a href="#api-methods">Methoden</a>
    30 					<a href="#api-methods">Methoden</a>
    30 				<ol>
    31 					<ol>
    31 					<li value="3.1">3.1 <a href="#method-route">Route</a></li>
    32 						<li py:for="(key,method) in enumerate(new)" value="3.${key+1}">3.${key+1} <a href="#method-${method.name}">${method.title}</a></li>
    32 					<li value="3.2">3.2 <a href="#method-dist">Dist</a></li>
    33 					</ol>				
    33 					<li value="3.3">3.3 <a href="#method-geocode">Geocode</a></li>
       
    34 					<li value="3.4">3.4 <a href="#method-sms">SMS</a></li>
       
    35 					<li value="3.5">3.5 <a href="#method-bank">Bank</a></li>
       
    36 					<li value="3.6">3.6 <a href="#method-bank">Boxcar</a></li>
       
    37 					<li value="3.7">3.7 <a href="#method-postcode-match">Postcode-Match</a></li>
       
    38 					<li value="3.8">3.8 <a href="#method-postcode-shape">Postcode-Shape</a></li>
       
    39 				</ol>				
       
    40 				</li>
    34 				</li>
    41 				<li value="4">4. <a href="#api-errors">Fehlermeldungen</a></li>
    35 
    42 			</ol>
    36 			</ol>
    43 		</div>
    37 		</div>
    44 		<div class="item" id="api-intro">
    38 		<div class="item" id="api-intro">
    45 			<h3>Einführung</h3>
    39 			<h3>Einführung</h3>
    46 			<p>
    40 			<p>
    47 				Die Mesngr API enthält viele Funktionen, die von Fahrradkurierdiensten benötigt werden.
    41 				Die Iro API enthält Funktion, die für den Massenversand nützlich sind.
    48 			</p>
    42 			</p>
    49 		</div>
    43 		</div>
    50 		<div class="item" id="api-interfaces">
    44 		<div class="item" id="api-interfaces">
    51 			<h3>Interfaces</h3>
    45 			<h3>Interfaces</h3>
    52 			<p>
    46 			<p>
    53 				Die Mesngr API stellt verschiedene Interfaces bereit, die unterschiedlich angesprochen werden, aber das selbe tun.
    47 
       
    48 				Die Iro API wird über verschiedene Interfaces bereit gestellt, die unterschiedlich angesprochen werden, aber das selbe tun.
    54 			</p>
    49 			</p>
    55 			<div class="item" id="interface-xmlrpc">
    50 			<div class="item" id="interface-xmlrpc">
    56 				<h4>XML-RPC</h4>
    51 				<h4>XML-RPC</h4>
    57 				<p>
    52 				<p>
    58 					Interface-URI: <code>http://api.mesngr.de/xmlrpc</code>
    53 					Interface-URI: <code>http://localhost:8000/xmlrpc</code>
    59 				</p>
    54 				</p>
    60 				<p>
    55 				<p>
    61 					Die aufgerufene Methode wird dabei im <code>&lt;methodName /&gt;</code> übergeben.
    56 					Die aufgerufene Methode wird dabei im <code>&lt;methodName /&gt;</code> übergeben.
    62 				</p>
    57 				</p>
       
    58 			</div>
       
    59 			<div class="item" id="interface-soap">
       
    60 				<h4>SOAP</h4>
    63 				<p>
    61 				<p>
    64 					Das XML-RPC Interface nimmt die Parameter der aufgerufenen Methode als <code>&lt;struct /&gt;</code> inerhalb des ersten <code>&lt;param /&gt;</code> entgegen, alle weiteren <code>&lt;param /&gt;</code>s werden ignoriert.
    62 					Interface-URI: <code>http://localhost:8000/soap</code>
    65 				</p>
    63 				</p>
    66 				<p>
    64 				<p>
    67 					Zeichen außerhalb des ASCII-Sets sind als HTML Entities zu übergeben.
    65 					Die aufgerufene Methode wird dabei im <code>&lt;methodName /&gt;</code> übergeben.
    68 				</p>
    66 				</p>
    69 			</div>
    67 			</div>
    70 			<div class="item" id="interface-xml">
    68 			<div class="item" id="interface-xml">
    71 				<h4>XML</h4>
    69 				<h4>XML</h4>
    72 				<p>
    70 				<p>
    73 					Interface-URI: <code>http://api.mesngr.de/xml/<em>&lt;methode&gt;</em></code>
    71 					Interface-URI: <code>http://localhost:8000/xml/<em>&lt;methode&gt;</em></code>
    74 				</p>
    72 				</p>
    75 				<p>
    73 				<p>
    76 					Die aufgerufene Methode wird im Pfad der Interface-URI übergeben.
    74 					Die aufgerufene Methode wird im Pfad der Interface-URI übergeben.
    77 				</p>
    75 				</p>
    78 				<p>
    76 				<p>
    83 				</p>
    81 				</p>
    84 			</div>
    82 			</div>
    85 			<div class="item" id="interface-json">
    83 			<div class="item" id="interface-json">
    86 				<h4>JSON</h4>
    84 				<h4>JSON</h4>
    87 				<p>
    85 				<p>
    88 					Interface-URI: <code>http://api.mesngr.de/json/<em>&lt;methode&gt;</em></code>
    86 					Interface-URI: <code>http://localhost:8000/json/<em>&lt;methode&gt;</em></code>
    89 				</p>
    87 				</p>
    90 				<p>
    88 				<p>
    91 					Die aufgerufene Methode wird im Pfad der Interface-URI übergeben.
    89 					Die aufgerufene Methode wird im Pfad der Interface-URI übergeben.
    92 				</p>
    90 				</p>
    93 				<p>
    91 				<p>
    95 				</p>
    93 				</p>
    96 				<p>
    94 				<p>
    97 					Die Ausgabe erfolgt als JSON-Objekt.
    95 					Die Ausgabe erfolgt als JSON-Objekt.
    98 				</p>
    96 				</p>
    99 			</div>
    97 			</div>
   100 			<div class="item" id="interface-json">
    98 			<div class="item" id="interface-jsonp">
   101 				<h4>JSONP</h4>
    99 				<h4>JSONP</h4>
   102 				<p>
   100 				<p>
   103 					Interface-URI: <code>http://api.mesngr.de/jsonp/<em>&lt;methode&gt;</em>?callback=&lt;callback&gt;</code>
   101 					Interface-URI: <code>http://localhost:8000/jsonp/<em>&lt;methode&gt;</em>?callback=&lt;callback&gt;</code>
   104 				</p>
   102 				</p>
   105 				<p>
   103 				<p>
   106 					Die aufgerufene Methode wird im Pfad der Interface-URI übergeben.
   104 					Die aufgerufene Methode wird im Pfad der Interface-URI übergeben.
   107 				</p>
   105 				</p>
   108 				<p>
   106 				<p>
   113 				</p>
   111 				</p>
   114 				<p>
   112 				<p>
   115 					Die Ausgabe erfolgt als Javascript-Funktionsaufruf mit einem JSON-Objekt als Parameter.
   113 					Die Ausgabe erfolgt als Javascript-Funktionsaufruf mit einem JSON-Objekt als Parameter.
   116 				</p>
   114 				</p>
   117 			</div>
   115 			</div>
   118 			<div class="item" id="interface-php">
   116 		</div>
   119 				<h4>PHP</h4>
   117 		<div class="item" id="api-methods">
   120 				<p>
   118 			<h3>Methoden</h3>
   121 					Interface-URI: <code>http://api.mesngr.de/php/<em>&lt;methode&gt;</em></code>
   119 			<div py:for="method in new" class="item" id="method-${method.name}">
       
   120 				<h4>${method.title}</h4>
       
   121 				<p><code>${method.name}${method.func_line}</code></p>
       
   122 				<p py:content="method.description">
       
   123 					Diese Methode at bis jetzt noch keine Beschreibung.
   122 				</p>
   124 				</p>
   123 				<p>
   125 				<h5>Parameter</h5>
   124 					Die aufgerufene Methode wird im Pfad der Interface-URI übergeben.
   126 				<table class="docs">
   125 				</p>
   127 					<thead>
   126 				<p>
   128 						<tr>
   127 					Parameter können via HTTP per GET oder POST im Format <em>application/x-www-form-urlencoded</em> übergeben werden.
   129 							<td>Parameter</td>
   128 				</p>
   130 							<td>Typ</td>
   129 				<p>
   131 							<td>Beschreibung</td>
   130 					Die Ausgabe erfolgt als serialisiertes PHP-Objekt.
   132 						</tr>					
   131 				</p>
   133 					</thead>
       
   134 					<tbody>
       
   135 						<tr py:for="arg in method.args">
       
   136 							<td>${arg.name}</td>
       
   137 							<td>${arg.typ}</td>
       
   138 							<td>${arg.description}</td>
       
   139 						</tr>
       
   140 					</tbody>
       
   141 				</table>
       
   142 				<py:if test="method.rets">
       
   143 				<h5>Ausgabe</h5>
       
   144 				<table class="docs">
       
   145 					<thead>
       
   146 						<tr>
       
   147 							<td>Parameter</td>
       
   148 							<td>Typ</td>
       
   149 							<td>Beschreibung</td>
       
   150 						</tr>					
       
   151 					</thead>
       
   152 					<tbody>
       
   153 						<tr py:for="arg in method.rets">
       
   154 							<td>${arg.name}</td>
       
   155 							<td>${arg.typ}</td>
       
   156 							<td>${arg.description}</td>
       
   157 						</tr>
       
   158 					</tbody>
       
   159 				</table>	
       
   160 				</py:if>
   132 			</div>
   161 			</div>
   133 		</div>
   162 		</div>
   134 	<div class="item" id="api-methods">
       
   135 		<h3>Methoden</h3>
       
   136 		<div class="item" id="method-route">
       
   137 			<h4>Route</h4>
       
   138 			<p><code>route</code></p>
       
   139 			<p>
       
   140 				Diese Methode ermittelt die Routing-Entfernung zwischen zwei Koordinaten.
       
   141 			</p>
       
   142 			<h5>Parameter</h5>
       
   143 			<table class="docs">
       
   144 				<thead>
       
   145 					<tr>
       
   146 						<td>Parameter</td>
       
   147 						<td>Typ</td>
       
   148 						<td>Beschreibung</td>
       
   149 					</tr>					
       
   150 				</thead>
       
   151 				<tbody>
       
   152 					<tr>
       
   153 						<td>apikey</td>
       
   154 						<td>str[20]</td>
       
   155 						<td>Der API Key</td>
       
   156 					</tr>
       
   157 					<tr>
       
   158 						<td>type</td>
       
   159 						<td>enum[car,bicycle,foot]</td>
       
   160 						<td>Die gewünschte Routing-Methode</td>
       
   161 					</tr>
       
   162 					<tr>
       
   163 						<td>flon</td>
       
   164 						<td>float</td>
       
   165 						<td>Der Längengrad des Startpunktes</td>
       
   166 					</tr>
       
   167 					<tr>
       
   168 						<td>flat</td>
       
   169 						<td>float</td>
       
   170 						<td>Der Breitengrad des Startpunktes</td>
       
   171 					</tr>
       
   172 					<tr>
       
   173 						<td>tlon</td>
       
   174 						<td>float</td>
       
   175 						<td>Der Längengrad des Zielpunktes</td>
       
   176 					</tr>
       
   177 					<tr>
       
   178 						<td>tlat</td>
       
   179 						<td>float</td>
       
   180 						<td>Der Breitengrad des Zielpunktes</td>
       
   181 					</tr>
       
   182 				</tbody>
       
   183 			</table>
       
   184 			<h5>Ausgabe</h5>
       
   185 			<table class="docs">
       
   186 				<thead>
       
   187 					<tr>
       
   188 						<td>Parameter</td>
       
   189 						<td>Typ</td>
       
   190 						<td>Beschreibung</td>
       
   191 					</tr>					
       
   192 				</thead>
       
   193 				<tbody>
       
   194 					<tr>
       
   195 						<td>status</td>
       
   196 						<td>bool</td>
       
   197 						<td>Fehlerindikator</td>
       
   198 					</tr>
       
   199 					<tr>
       
   200 						<td>distance</td>
       
   201 						<td>float</td>
       
   202 						<td>Die ermittelte Routing-Distanz in km</td>
       
   203 					</tr>
       
   204 				</tbody>
       
   205 			</table>	
       
   206 		</div>
       
   207 		<div class="item" id="method-dist">
       
   208 			<h4>Dist</h4>
       
   209 			<p><code>dist</code></p>
       
   210 			<p>
       
   211 				Diese Methode ermittelt die direkte Entfernung zwischen zwei Koordinaten.
       
   212 			</p>
       
   213 			<h5>Parameter</h5>
       
   214 			<table class="docs">
       
   215 				<thead>
       
   216 					<tr>
       
   217 						<td>Parameter</td>
       
   218 						<td>Typ</td>
       
   219 						<td>Beschreibung</td>
       
   220 					</tr>					
       
   221 				</thead>
       
   222 				<tbody>
       
   223 					<tr>
       
   224 						<td>apikey</td>
       
   225 						<td>str[20]</td>
       
   226 						<td>Der API Key</td>
       
   227 					</tr>
       
   228 					<tr>
       
   229 						<td>flon</td>
       
   230 						<td>float</td>
       
   231 						<td>Der Längengrad des Startpunktes</td>
       
   232 					</tr>
       
   233 					<tr>
       
   234 						<td>flat</td>
       
   235 						<td>float</td>
       
   236 						<td>Der Breitengrad des Startpunktes</td>
       
   237 					</tr>
       
   238 					<tr>
       
   239 						<td>tlon</td>
       
   240 						<td>float</td>
       
   241 						<td>Der Längengrad des Zielpunktes</td>
       
   242 					</tr>
       
   243 					<tr>
       
   244 						<td>tlat</td>
       
   245 						<td>float</td>
       
   246 						<td>Der Breitengrad des Zielpunktes</td>
       
   247 					</tr>
       
   248 				</tbody>
       
   249 			</table>
       
   250 			<h5>Ausgabe</h5>
       
   251 			<table class="docs">
       
   252 				<thead>
       
   253 					<tr>
       
   254 						<td>Parameter</td>
       
   255 						<td>Typ</td>
       
   256 						<td>Beschreibung</td>
       
   257 					</tr>					
       
   258 				</thead>
       
   259 				<tbody>
       
   260 					<tr>
       
   261 						<td>status</td>
       
   262 						<td>bool</td>
       
   263 						<td>Fehlerindikator</td>
       
   264 					</tr>
       
   265 					<tr>
       
   266 						<td>distance</td>
       
   267 						<td>float</td>
       
   268 						<td>Die ermittelte Routing-Distanz in km</td>
       
   269 					</tr>
       
   270 				</tbody>
       
   271 			</table>
       
   272 		</div>
       
   273 		<div class="item" id="method-geocode">
       
   274 			<h4>Geocode</h4>
       
   275 			<p><code>geocode</code></p>
       
   276 			<p>
       
   277 				Ermittelt die Koordinaten zu einer Adresse. Diese Methode ist Kostenpflichtig.
       
   278 			</p>
       
   279 			<h5>Parameter</h5>
       
   280 			<table class="docs">
       
   281 				<thead>
       
   282 					<tr>
       
   283 						<td>Parameter</td>
       
   284 						<td>Typ</td>
       
   285 						<td>Beschreibung</td>
       
   286 					</tr>					
       
   287 				</thead>
       
   288 				<tbody>
       
   289 					<tr>
       
   290 						<td>apikey</td>
       
   291 						<td>str[20]</td>
       
   292 						<td>Der API Key</td>
       
   293 					</tr>
       
   294 					<tr>
       
   295 						<td>type</td>
       
   296 						<td>enum[fast, complete]</td>
       
   297 						<td>Die Eingabemethode. Im Modus <em>fast</em> wird der Parameter <code>number</code> an den Parameter <code>street</code> angehängt sowie der Parameter <code>postcode</code> vor den Parameter <code>city</code>; Die Parameter <code>postcode</code> und <code>number</code> werden dann ignoriert.</td>
       
   298 					</tr>
       
   299 					<tr>
       
   300 						<td>street</td>
       
   301 						<td>str</td>
       
   302 						<td>Der Straßenname der Adresse</td>
       
   303 					</tr>
       
   304 					<tr>
       
   305 						<td>number</td>
       
   306 						<td>str</td>
       
   307 						<td>Die Hausnummer der Adresse</td>
       
   308 					</tr>
       
   309 					<tr>
       
   310 						<td>postcode</td>
       
   311 						<td>str</td>
       
   312 						<td>Die Postleitzahl der Adresse</td>
       
   313 					</tr>
       
   314 					<tr>
       
   315 						<td>city</td>
       
   316 						<td>str</td>
       
   317 						<td>Die Stadt der Adresse</td>
       
   318 					</tr>
       
   319 					<tr>
       
   320 						<td>country</td>
       
   321 						<td>str</td>
       
   322 						<td>Das Land der Adresse, ISO 3166</td>
       
   323 					</tr>
       
   324 				</tbody>
       
   325 			</table>
       
   326 			<h5>Ausgabe</h5>
       
   327 			<table class="docs">
       
   328 				<thead>
       
   329 					<tr>
       
   330 						<td>Parameter</td>
       
   331 						<td>Typ</td>
       
   332 						<td>Beschreibung</td>
       
   333 					</tr>					
       
   334 				</thead>
       
   335 				<tbody>
       
   336 					<tr>
       
   337 						<td>status</td>
       
   338 						<td>bool</td>
       
   339 						<td>Fehlerindikator</td>
       
   340 					</tr>
       
   341 					<tr>
       
   342 						<td>stage</td>
       
   343 						<td>enum[1,2,3]</td>
       
   344 						<td>
       
   345 							Grad des Erfolges des Geocodings:<br />
       
   346 							1 &rarr; Es stehen mehrere mögliche Adressen zur Auswahl.<br />
       
   347 							2 &rarr; Eine mögliche Adresse als Korrekturvorschlag.<br />
       
   348 							3 &rarr; Die Adresse konnte verifiziert und zugehörige Geokoordinaten ermittelt werden.
       
   349 						</td>
       
   350 					</tr>
       
   351 					<tr>
       
   352 						<td>data</td>
       
   353 						<td>array</td>
       
   354 						<td>
       
   355 							Die ermittelten Adressdaten
       
   356 						</td>
       
   357 					</tr>
       
   358 					<tr>
       
   359 						<td>data[i]</td>
       
   360 						<td>array</td>
       
   361 						<td>
       
   362 							Ein ermittelter Adressdatensatz
       
   363 						</td>
       
   364 					</tr>
       
   365 					<tr>
       
   366 						<td>data[i][street]</td>
       
   367 						<td>str</td>
       
   368 						<td>Name der Straße</td>
       
   369 					</tr>
       
   370 					<tr>
       
   371 						<td>data[i][nr]</td>
       
   372 						<td>str</td>
       
   373 						<td>Hausnummer</td>
       
   374 					</tr>
       
   375 					<tr>
       
   376 						<td>data[i][fragment]</td>
       
   377 						<td>str</td>
       
   378 						<td>Hausnummernzusatz (z.B. <em>a</em> bei <em>12a</em>)</td>
       
   379 					</tr>
       
   380 					<tr>
       
   381 						<td>data[i][postcode]</td>
       
   382 						<td>str</td>
       
   383 						<td>Postleitzahl</td>
       
   384 					</tr>
       
   385 					<tr>
       
   386 						<td>data[i][city]</td>
       
   387 						<td>str</td>
       
   388 						<td>Ort</td>
       
   389 					</tr>
       
   390 					<tr>
       
   391 						<td>data[i][country]</td>
       
   392 						<td>str[2]</td>
       
   393 						<td>Land (gemäß ISO 3166)</td>
       
   394 					</tr>
       
   395 					<tr>
       
   396 						<td>data[i][accuracy]</td>
       
   397 						<td>int</td>
       
   398 						<td>Genauigkeit (Genau &gt; Ungenau)</td>
       
   399 					</tr>
       
   400 					<tr>
       
   401 						<td>data[i][lat]</td>
       
   402 						<td>float</td>
       
   403 						<td>Breitengrad</td>
       
   404 					</tr>
       
   405 					<tr>
       
   406 						<td>data[i][lon]</td>
       
   407 						<td>float</td>
       
   408 						<td>Längengrad</td>
       
   409 					</tr>
       
   410 				</tbody>
       
   411 			</table>		
       
   412 		</div>
       
   413 		<div class="item" id="method-sms">
       
   414 			<h4>SMS</h4>
       
   415 			<p><code>sms</code></p>
       
   416 			<p>
       
   417 				Versendet eine SMS-Nachricht. Diese Methode ist kostenpflichtig.
       
   418 			</p>
       
   419 			<h5>Parameter</h5>
       
   420 			<table class="docs">
       
   421 				<thead>
       
   422 					<tr>
       
   423 						<td>Parameter</td>
       
   424 						<td>Typ</td>
       
   425 						<td>Beschreibung</td>
       
   426 					</tr>					
       
   427 				</thead>
       
   428 				<tbody>
       
   429 					<tr>
       
   430 						<td>apikey</td>
       
   431 						<td>str[20]</td>
       
   432 						<td>Der API Key</td>
       
   433 					</tr>
       
   434 					<tr>
       
   435 						<td>from</td>
       
   436 						<td>str[11]|tel[16]</td>
       
   437 						<td>Der gewünschte Absender (optional)</td>
       
   438 					</tr>
       
   439 					<tr>
       
   440 						<td>to</td>
       
   441 						<td>tel[15]</td>
       
   442 						<td>Emfänger-Nummer (gemäß ITU-T E.123)</td>
       
   443 					</tr>
       
   444 					<tr>
       
   445 						<td>ref</td>
       
   446 						<td>str</td>
       
   447 						<td>Referenz für Antworten</td>
       
   448 					</tr>
       
   449 					<tr>
       
   450 						<td>callback</td>
       
   451 						<td>str</td>
       
   452 						<td>Callback-URL für SMS-Antworten. Noch nicht implementiert.</td>
       
   453 					</tr>
       
   454 				</tbody>
       
   455 			</table>
       
   456 			<h5>Ausgabe</h5>
       
   457 			<table class="docs">
       
   458 				<thead>
       
   459 					<tr>
       
   460 						<td>Parameter</td>
       
   461 						<td>Typ</td>
       
   462 						<td>Beschreibung</td>
       
   463 					</tr>					
       
   464 				</thead>
       
   465 				<tbody>
       
   466 					<tr>
       
   467 						<td>status</td>
       
   468 						<td>bool</td>
       
   469 						<td>Fehlerindikator</td>
       
   470 					</tr>
       
   471 				</tbody>
       
   472 			</table>
       
   473 		</div>
       
   474 		<div class="item" id="method-bank">
       
   475 			<h4>Bank</h4>
       
   476 			<p><code>bank</code></p>
       
   477 			<p>
       
   478 				Prüft Bankdaten auf Plausibilität.
       
   479 			</p>
       
   480 			<h5>Parameter</h5>
       
   481 			<table class="docs">
       
   482 				<thead>
       
   483 					<tr>
       
   484 						<td>Parameter</td>
       
   485 						<td>Typ</td>
       
   486 						<td>Beschreibung</td>
       
   487 					</tr>					
       
   488 				</thead>
       
   489 				<tbody>
       
   490 					<tr>
       
   491 						<td>apikey</td>
       
   492 						<td>str[20]</td>
       
   493 						<td>Der API Key</td>
       
   494 					</tr>
       
   495 					<tr>
       
   496 						<td>country</td>
       
   497 						<td>[de]</td>
       
   498 						<td>Das Land des Bankdatenformates</td>
       
   499 					</tr>
       
   500 					<tr>
       
   501 						<td>bank</td>
       
   502 						<td>int[8]</td>
       
   503 						<td>Die Bankleitzahl</td>
       
   504 					</tr>
       
   505 					<tr>
       
   506 						<td>account</td>
       
   507 						<td>int[10]</td>
       
   508 						<td>Die Kontonummer (optional)</td>
       
   509 					</tr>
       
   510 				</tbody>
       
   511 			</table>
       
   512 			<h5>Ausgabe</h5>
       
   513 			<table class="docs">
       
   514 				<thead>
       
   515 					<tr>
       
   516 						<td>Parameter</td>
       
   517 						<td>Typ</td>
       
   518 						<td>Beschreibung</td>
       
   519 					</tr>					
       
   520 				</thead>
       
   521 				<tbody>
       
   522 					<tr>
       
   523 						<td>status</td>
       
   524 						<td>bool</td>
       
   525 						<td>Fehlerindikator</td>
       
   526 					</tr>
       
   527 					<tr>
       
   528 						<td>bank</td>
       
   529 						<td>array</td>
       
   530 						<td>Der Bankdatensatz</td>
       
   531 					</tr>
       
   532 					<tr>
       
   533 						<td>bank[id]</td>
       
   534 						<td>int[8]</td>
       
   535 						<td>Die Bankleitzahl</td>
       
   536 					</tr>
       
   537 					<tr>
       
   538 						<td>bank[name]</td>
       
   539 						<td>str</td>
       
   540 						<td>Name der Bank</td>
       
   541 					</tr>
       
   542 					<tr>
       
   543 						<td>bank[city]</td>
       
   544 						<td>str</td>
       
   545 						<td>Stadt</td>
       
   546 					</tr>
       
   547 					<tr>
       
   548 						<td>bank[bic]</td>
       
   549 						<td>str</td>
       
   550 						<td>Der BIC der Bank</td>
       
   551 					</tr>
       
   552 					<tr>
       
   553 						<td>account</td>
       
   554 						<td>array</td>
       
   555 						<td>Der Kontodatensatz</td>
       
   556 					</tr>
       
   557 					<tr>
       
   558 						<td>account[id]</td>
       
   559 						<td>int[10]</td>
       
   560 						<td>Die Kontonummer</td>
       
   561 					</tr>
       
   562 				</tbody>
       
   563 			</table>
       
   564 		</div>
       
   565 		<div class="item" id="method-bank">
       
   566 			<h4>Boxcar</h4>
       
   567 			<p><code>boxcar</code></p>
       
   568 			<p>
       
   569 				Sendet eine Push-Notification via Boxcar. Ist der Boxcar-user nicht subskribiert, wird statt der Nachricht eine Subskriptions-Anfrage gesendet.
       
   570 			</p>
       
   571 			<h5>Parameter</h5>
       
   572 			<table class="docs">
       
   573 				<thead>
       
   574 					<tr>
       
   575 						<td>Parameter</td>
       
   576 						<td>Typ</td>
       
   577 						<td>Beschreibung</td>
       
   578 					</tr>					
       
   579 				</thead>
       
   580 				<tbody>
       
   581 					<tr>
       
   582 						<td>apikey</td>
       
   583 						<td>str[20]</td>
       
   584 						<td>Der API Key</td>
       
   585 					</tr>
       
   586 					<tr>
       
   587 						<td>to</td>
       
   588 						<td>str</td>
       
   589 						<td>E-Mail-Adresse des Boxcar-Accounts</td>
       
   590 					</tr>
       
   591 					<tr>
       
   592 						<td>from</td>
       
   593 						<td>str</td>
       
   594 						<td>Absender</td>
       
   595 					</tr>
       
   596 					<tr>
       
   597 						<td>message</td>
       
   598 						<td>str</td>
       
   599 						<td>Die Nachricht</td>
       
   600 					</tr>
       
   601 					<tr>
       
   602 						<td>url</td>
       
   603 						<td>str</td>
       
   604 						<td>Die URL die aufgerufen werden soll</td>
       
   605 					</tr>
       
   606 				</tbody>
       
   607 			</table>
       
   608 			<h5>Ausgabe</h5>
       
   609 			<table class="docs">
       
   610 				<thead>
       
   611 					<tr>
       
   612 						<td>Parameter</td>
       
   613 						<td>Typ</td>
       
   614 						<td>Beschreibung</td>
       
   615 					</tr>					
       
   616 				</thead>
       
   617 				<tbody>
       
   618 					<tr>
       
   619 						<td>status</td>
       
   620 						<td>bool</td>
       
   621 						<td>Fehlerindikator</td>
       
   622 					</tr>
       
   623 				</tbody>
       
   624 			</table>
       
   625 		</div>
       
   626 		<div class="item" id="method-postcode-match">
       
   627 			<h4>Postcode-Match</h4>
       
   628 			<p><code>postcodematch</code></p>
       
   629 			<p>
       
   630 				Liefert die Schwerpunkt-Koordinaten aller Postleizahlengebiete innerhalb eines Bereiches. 
       
   631 			</p>
       
   632 			<h5>Parameter</h5>
       
   633 			<table class="docs">
       
   634 				<thead>
       
   635 					<tr>
       
   636 						<td>Parameter</td>
       
   637 						<td>Typ</td>
       
   638 						<td>Beschreibung</td>
       
   639 					</tr>					
       
   640 				</thead>
       
   641 				<tbody>
       
   642 					<tr>
       
   643 						<td>apikey</td>
       
   644 						<td>str[20]</td>
       
   645 						<td>Der API Key</td>
       
   646 					</tr>
       
   647 					<tr>
       
   648 						<td>bbox_n</td>
       
   649 						<td>float</td>
       
   650 						<td>Maximale Latitude</td>
       
   651 					</tr>
       
   652 					<tr>
       
   653 						<td>bbox_s</td>
       
   654 						<td>float</td>
       
   655 						<td>Minimale Latitude</td>
       
   656 					</tr>
       
   657 					<tr>
       
   658 						<td>bbox_e</td>
       
   659 						<td>float</td>
       
   660 						<td>Maximale Longitude</td>
       
   661 					</tr>
       
   662 					<tr>
       
   663 						<td>bbox_w</td>
       
   664 						<td>float</td>
       
   665 						<td>Minimale Longitude</td>
       
   666 					</tr>
       
   667 				</tbody>
       
   668 			</table>
       
   669 			<h5>Ausgabe</h5>
       
   670 			<table class="docs">
       
   671 				<thead>
       
   672 					<tr>
       
   673 						<td>Parameter</td>
       
   674 						<td>Typ</td>
       
   675 						<td>Beschreibung</td>
       
   676 					</tr>					
       
   677 				</thead>
       
   678 				<tbody>
       
   679 					<tr>
       
   680 						<td>status</td>
       
   681 						<td>bool</td>
       
   682 						<td>Fehlerindikator</td>
       
   683 					</tr>
       
   684 					<tr>
       
   685 						<td>postcodes</td>
       
   686 						<td>array</td>
       
   687 						<td>Ergebnisse</td>
       
   688 					</tr>
       
   689 					<tr>
       
   690 						<td>postcodes[i]</td>
       
   691 						<td>array</td>
       
   692 						<td>Ergebnis</td>
       
   693 					</tr>
       
   694 					<tr>
       
   695 						<td>postcodes[i][postcode]</td>
       
   696 						<td>str</td>
       
   697 						<td>Postleitzahl</td>
       
   698 					</tr>
       
   699 					<tr>
       
   700 						<td>postcodes[i][lat]</td>
       
   701 						<td>float</td>
       
   702 						<td>Latitude des Schwerpunktes</td>
       
   703 					</tr>
       
   704 					<tr>
       
   705 						<td>postcodes[i][lon]</td>
       
   706 						<td>float</td>
       
   707 						<td>Longitude des Schwerpunktes</td>
       
   708 					</tr>
       
   709 				</tbody>
       
   710 			</table>
       
   711 		</div>
       
   712 		<div class="item" id="method-postcode-shape">
       
   713 			<h4>Postcode-Shape</h4>
       
   714 			<p><code>postcodeshape</code></p>
       
   715 			<p>
       
   716 				Gibt eine Näherung an die geografische Definition eines Postleitzahlengebietes aus.
       
   717 			</p>
       
   718 			<h5>Parameter</h5>
       
   719 			<table class="docs">
       
   720 				<thead>
       
   721 					<tr>
       
   722 						<td>Parameter</td>
       
   723 						<td>Typ</td>
       
   724 						<td>Beschreibung</td>
       
   725 					</tr>					
       
   726 				</thead>
       
   727 				<tbody>
       
   728 					<tr>
       
   729 						<td>apikey</td>
       
   730 						<td>str[20]</td>
       
   731 						<td>Der API Key</td>
       
   732 					</tr>
       
   733 					<tr>
       
   734 						<td>postcode</td>
       
   735 						<td>str</td>
       
   736 						<td>Die Postleitzahl des Gebietes</td>
       
   737 					</tr>
       
   738 				</tbody>
       
   739 			</table>
       
   740 			<h5>Ausgabe</h5>
       
   741 			<table class="docs">
       
   742 				<thead>
       
   743 					<tr>
       
   744 						<td>Parameter</td>
       
   745 						<td>Typ</td>
       
   746 						<td>Beschreibung</td>
       
   747 					</tr>					
       
   748 				</thead>
       
   749 				<tbody>
       
   750 					<tr>
       
   751 						<td>status</td>
       
   752 						<td>bool</td>
       
   753 						<td>Fehlerindikator</td>
       
   754 					</tr>
       
   755 					<tr>
       
   756 						<td>postcode</td>
       
   757 						<td>str</td>
       
   758 						<td></td>
       
   759 					</tr>
       
   760 					<tr>
       
   761 						<td>center</td>
       
   762 						<td>array</td>
       
   763 						<td></td>
       
   764 					</tr>
       
   765 					<tr>
       
   766 						<td>center[lat]</td>
       
   767 						<td>flaot</td>
       
   768 						<td></td>
       
   769 					</tr>
       
   770 					<tr>
       
   771 						<td>center[lon]</td>
       
   772 						<td>flaot</td>
       
   773 						<td></td>
       
   774 					</tr>
       
   775 					<tr>
       
   776 						<td>bbox</td>
       
   777 						<td>array</td>
       
   778 						<td></td>
       
   779 					</tr>
       
   780 					<tr>
       
   781 						<td>bbox[n]</td>
       
   782 						<td>float</td>
       
   783 						<td></td>
       
   784 					</tr>
       
   785 					<tr>
       
   786 						<td>bbox[s]</td>
       
   787 						<td>float</td>
       
   788 						<td></td>
       
   789 					</tr>
       
   790 					<tr>
       
   791 						<td>bbox[w]</td>
       
   792 						<td>float</td>
       
   793 						<td></td>
       
   794 					</tr>
       
   795 					<tr>
       
   796 						<td>bbox[e]</td>
       
   797 						<td>float</td>
       
   798 						<td></td>
       
   799 					</tr>
       
   800 					<tr>
       
   801 						<td>shape</td>
       
   802 						<td>array</td>
       
   803 						<td>Alle Shapes dieses Postleitzahlengebietes</td>
       
   804 					</tr>
       
   805 					<tr>
       
   806 						<td>shape[i]</td>
       
   807 						<td>array</td>
       
   808 						<td>Ein Shape des Postleitzahlengebietes</td>
       
   809 					</tr>
       
   810 					<tr>
       
   811 						<td>shape[i][j]</td>
       
   812 						<td>array</td>
       
   813 						<td>Ein Punkt des Shapes</td>
       
   814 					</tr>
       
   815 					<tr>
       
   816 						<td>shape[i][j][lat]</td>
       
   817 						<td>array</td>
       
   818 						<td>Die Latitude des Punktes</td>
       
   819 					</tr>
       
   820 					<tr>
       
   821 						<td>shape[i][j][lon]</td>
       
   822 						<td>array</td>
       
   823 						<td>Die Longitude des Punktes</td>
       
   824 					</tr>
       
   825 				</tbody>
       
   826 			</table>
       
   827 		</div>
       
   828 	</div>
       
   829 	<div class="item" id="api-errors">
       
   830 		<h3>Fehlercode</h3>
       
   831 		<p>
       
   832 			Wenn der Ausgabeparameter <code>status</code> einen Fehler indiziert, werden alle weiteren Ausgabeparameter ersetzt durch die Parameter <code>code</code> und <code>msg</code>. 
       
   833 		</p>
       
   834 		<table class="docs">
       
   835 			<thead>
       
   836 				<tr>
       
   837 					<td>Parameter</td>
       
   838 					<td>Typ</td>
       
   839 					<td>Beschreibung</td>
       
   840 				</tr>					
       
   841 			</thead>
       
   842 			<tbody>
       
   843 				<tr>
       
   844 					<td>status</td>
       
   845 					<td>bool</td>
       
   846 					<td>Fehlerindikator</td>
       
   847 				</tr>
       
   848 				<tr>
       
   849 					<td>code</td>
       
   850 					<td>int[3]</td>
       
   851 					<td>Fehlercode</td>
       
   852 				</tr>
       
   853 				<tr>
       
   854 					<td>msg</td>
       
   855 					<td>str</td>
       
   856 					<td>Fehlermeldung</td>
       
   857 				</tr>
       
   858 				<tr>
       
   859 					<td>result</td>
       
   860 					<td></td>
       
   861 					<td>Optionale weitere Daten</td>
       
   862 				</tr>
       
   863 			</tbody>
       
   864 		</table>
       
   865 		<h4>Fehlercodes</h4>
       
   866 		<table class="docs">
       
   867 			<thead>
       
   868 				<tr>
       
   869 					<td>Code</td>
       
   870 					<td>Bedeutung</td>
       
   871 				</tr>					
       
   872 			</thead>
       
   873 			<tbody>
       
   874 				<tr>
       
   875 					<td>900</td>
       
   876 					<td>Die aufgerufene Methode existiert nicht</td>
       
   877 				</tr>
       
   878 				<tr>
       
   879 					<td>901</td>
       
   880 					<td>Der API-Key ist ungültig</td>
       
   881 				</tr>
       
   882 				<tr>
       
   883 					<td>902</td>
       
   884 					<td>Fehler in externer API</td>
       
   885 				</tr>
       
   886 				<tr>
       
   887 					<td>903</td>
       
   888 					<td>Encoding-Problem: Ein Nicht-UTF-8-Zeichen hat den Parser gestoppt</td>
       
   889 				</tr>
       
   890 				<tr>
       
   891 					<td>904</td>
       
   892 					<td>Es wurden keine gültigen JSON-Daten im POST-Request gefunden</td>
       
   893 				</tr>
       
   894 				<tr>
       
   895 					<td>910</td>
       
   896 					<td>Ungültige Eingabemethode</td>
       
   897 				</tr>
       
   898 				<tr>
       
   899 					<td>911</td>
       
   900 					<td>Die eingegebenen Daten reichen nicht aus, um die Adresse zu bestimmen</td>
       
   901 				</tr>
       
   902 				<tr>
       
   903 					<td>912</td>
       
   904 					<td>Die Adresse wurde nicht gefunden</td>
       
   905 				</tr>
       
   906 				<tr>
       
   907 					<td>913</td>
       
   908 					<td>Für diese Adresse wurden keine Koordinaten gefunden</td>
       
   909 				</tr>
       
   910 				<tr>
       
   911 					<td>914</td>
       
   912 					<td>Die Koordinaten für diese Adresse sind nicht eindeutig</td>
       
   913 				</tr>
       
   914 				<tr>
       
   915 					<td>921</td>
       
   916 					<td>Ungültige Koordinaten</td>
       
   917 				</tr>
       
   918 				<tr>
       
   919 					<td>922</td>
       
   920 					<td>Keine Route gefunden</td>
       
   921 				</tr>
       
   922 				<tr>
       
   923 					<td>930</td>
       
   924 					<td>Keine Verbindung zum Gateway</td>
       
   925 				</tr>
       
   926 				<tr>
       
   927 					<td>931</td>
       
   928 					<td>Empfänger fehlerhaft</td>
       
   929 				</tr>
       
   930 				<tr>
       
   931 					<td>932</td>
       
   932 					<td>Absenderkennung zu lang</td>
       
   933 				</tr>
       
   934 				<tr>
       
   935 					<td>933</td>
       
   936 					<td>Nachrichtentext zu lang</td>
       
   937 				</tr>
       
   938 				<tr>
       
   939 					<td>934</td>
       
   940 					<td>Messagetyp nicht korrekt</td>
       
   941 				</tr>
       
   942 				<tr>
       
   943 					<td>935</td>
       
   944 					<td>Falscher SMS-Typ</td>
       
   945 				</tr>
       
   946 				<tr>
       
   947 					<td>936</td>
       
   948 					<td>Fehler bei Login</td>
       
   949 				</tr>
       
   950 				<tr>
       
   951 					<td>937</td>
       
   952 					<td>Guthaben zu gering</td>
       
   953 				</tr>
       
   954 				<tr>
       
   955 					<td>938</td>
       
   956 					<td>Netz wird von Route nicht unterstützt</td>
       
   957 				</tr>
       
   958 				<tr>
       
   959 					<td>939</td>
       
   960 					<td>Feature nicht über diese Route möglich</td>
       
   961 				</tr>
       
   962 				<tr>
       
   963 					<td>940</td>
       
   964 					<td>Ungültige BLZ</td>
       
   965 				</tr>
       
   966 				<tr>
       
   967 					<td>941</td>
       
   968 					<td>Ungültige Kontonummer</td>
       
   969 				</tr>
       
   970 				<tr>
       
   971 					<td>942</td>
       
   972 					<td>Ungültiges Land</td>
       
   973 				</tr>
       
   974 				<tr>
       
   975 					<td>945</td>
       
   976 					<td>Ungültiger Empfänger</td>
       
   977 				</tr>
       
   978 				<tr>
       
   979 					<td>946</td>
       
   980 					<td>Keine Nachricht angegeben</td>
       
   981 				</tr>
       
   982 				<tr>
       
   983 					<td>947</td>
       
   984 					<td>Der Empfänger ist nicht subskribiert</td>
       
   985 				</tr>
       
   986 				<tr>
       
   987 					<td>948</td>
       
   988 					<td>Der Empfänger hat den Dienst abgeschaltet</td>
       
   989 				</tr>
       
   990 				<tr>
       
   991 					<td>950</td>
       
   992 					<td>Die Postleitzahl ist ungültig.</td>
       
   993 				</tr>
       
   994 				<tr>
       
   995 					<td>951</td>
       
   996 					<td>Für diese Postleitzahl gibt es keine Shapes.</td>
       
   997 				</tr>
       
   998 				<tr>
       
   999 					<td>952</td>
       
  1000 					<td>In diesem Bereich wurden keine Postleitzahlen gefunden.</td>
       
  1001 				</tr>
       
  1002 				<tr>
       
  1003 					<td>953</td>
       
  1004 					<td>Dieser Bereich enthält zu viele Postleitzahlen.</td>
       
  1005 				</tr>
       
  1006 				
       
  1007 				<tr>
       
  1008 					<td>999</td>
       
  1009 					<td>Unbekannter Fehler</td>
       
  1010 				</tr>
       
  1011 			</tbody>
       
  1012 		</table>
       
  1013 	</div>
       
  1014 	</body>
   163 	</body>
  1015 </html>
   164 </html>