SmartLockConnection
Liefert eine Liste der SmartLock-Verbindungseinträge.
GET/api/event/smart_lock_connection
Query-Parameter
idinteger | |
deletedboolean | Diese Eigenschaft markiert eine Entität als gelöscht / archiviert | Benötigtes Zugriffsrecht: SCOPE |
namestring | |
providerstring | |
modestring | |
bridgeHoststring | |
bridgePortstring | |
webClientIdstring | |
loqedLockIdstring | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste von SmartLockConnections.array<SmartLockConnection>
Felder anzeigen (18)
scan_webhook_tokenstringDas Token, mit dem der Anbieter seine Scan-Webhook-Anfragen authentifiziert (Comydo: Bearer-Token, Basic-Auth-Passwort oder "Auth-Key"-Header). Der Administrator übergibt es dem Anbieter.
scan_webhook_pathstringPfad des Scan-Webhooks des Anbieters dieser Verbindung, relativ zum API-Host.
scan_webhook_signing_secret_setbooleanidintegerPrimärschlüssel der Smart-Lock-Verbindung. Interne ID.
providerstringAnbieter des Smart Locks, zum Beispiel LOQED oder eine Bridge.
modestringArt der Verbindung, zum Beispiel bridge oder web.
bridge_hoststringHostname der Bridge, die mit dem Schloss kommuniziert.
bridge_portintegerPort der Bridge.
web_client_idstringClient-ID für die Webverbindung zum Anbieter.
access_token_expires_atstring (date-time)Zeitpunkt, zu dem das Zugriffs-Token abläuft.
loqed_lock_idstringID des LOQED-Schlosses beim Anbieter.
ha_instance_idstringInstanz, die ihre Schlösser über diese Verbindung anbietet: die UUID des Home-Assistant-Cores oder die ID einer Node-RED-Schloss-Bridge bzw. eines n8n-Schloss-Triggers. Die ha_*-Felder werden von diesen Anbietern gemeinsam genutzt.
ha_webhook_urlstringWebhook der Home-Assistant-Integration (oder einer Node-RED-Instanz im Push-Modus), die die signierten Schloss-Befehle empfängt.
scan_device_idsstringIDs der Scanner einer Scan-Webhook-Verbindung (Comydo: je 12 Hex-Ziffern), getrennt durch Komma, Leerzeichen oder Zeilenumbruch. Jede ID wird beim Synchronisieren der Verbindung zu einem Smart Lock.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/smart_lock_connection \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/smart_lock_connection', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/event/smart_lock_connection', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/smart_lock_connection_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SmartLockConnectionController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"ha_webhook_url": "https://vynst.de",
"name": "Beispiel",
"scan_webhook_token": "string",
"scan_webhook_path": "string",
"scan_webhook_signing_secret_set": true,
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1
}
]Legt einen neuen Eintrag für eine Smart-Lock-Verbindung an.
POST/api/event/smart_lock_connection
Request-Body application/json
dataSmartLockConnection2Felder anzeigen (8)
providerstringAnbieter des Smart Locks, zum Beispiel LOQED oder eine Bridge.
modestringArt der Verbindung, zum Beispiel bridge oder web.
bridge_hoststringHostname der Bridge, die mit dem Schloss kommuniziert.
bridge_portintegerPort der Bridge.
web_client_idstringClient-ID für die Webverbindung zum Anbieter.
loqed_lock_idstringID des LOQED-Schlosses beim Anbieter.
scan_device_idsstringIDs der Scanner einer Scan-Webhook-Verbindung (Comydo: je 12 Hex-Ziffern), getrennt durch Komma, Leerzeichen oder Zeilenumbruch. Jede ID wird beim Synchronisieren der Verbindung zu einem Smart Lock.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
Antworten
200SmartLockConnection neu anlegenSmartLockConnection
Felder anzeigen (18)
scan_webhook_tokenstringDas Token, mit dem der Anbieter seine Scan-Webhook-Anfragen authentifiziert (Comydo: Bearer-Token, Basic-Auth-Passwort oder "Auth-Key"-Header). Der Administrator übergibt es dem Anbieter.
scan_webhook_pathstringPfad des Scan-Webhooks des Anbieters dieser Verbindung, relativ zum API-Host.
scan_webhook_signing_secret_setbooleanidintegerPrimärschlüssel der Smart-Lock-Verbindung. Interne ID.
providerstringAnbieter des Smart Locks, zum Beispiel LOQED oder eine Bridge.
modestringArt der Verbindung, zum Beispiel bridge oder web.
bridge_hoststringHostname der Bridge, die mit dem Schloss kommuniziert.
bridge_portintegerPort der Bridge.
web_client_idstringClient-ID für die Webverbindung zum Anbieter.
access_token_expires_atstring (date-time)Zeitpunkt, zu dem das Zugriffs-Token abläuft.
loqed_lock_idstringID des LOQED-Schlosses beim Anbieter.
ha_instance_idstringInstanz, die ihre Schlösser über diese Verbindung anbietet: die UUID des Home-Assistant-Cores oder die ID einer Node-RED-Schloss-Bridge bzw. eines n8n-Schloss-Triggers. Die ha_*-Felder werden von diesen Anbietern gemeinsam genutzt.
ha_webhook_urlstringWebhook der Home-Assistant-Integration (oder einer Node-RED-Instanz im Push-Modus), die die signierten Schloss-Befehle empfängt.
scan_device_idsstringIDs der Scanner einer Scan-Webhook-Verbindung (Comydo: je 12 Hex-Ziffern), getrennt durch Komma, Leerzeichen oder Zeilenumbruch. Jede ID wird beim Synchronisieren der Verbindung zu einem Smart Lock.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/smart_lock_connection \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
provider: 'string',
mode: 'string',
bridge_host: 'string',
bridge_port: 1,
web_client_id: '42',
loqed_lock_id: '42'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/event/smart_lock_connection', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection"
payload = { "data": {
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/event/smart_lock_connection', [
'body' => '{"data":{"provider":"string","mode":"string","bridge_host":"string","bridge_port":1,"web_client_id":"42","loqed_lock_id":"42"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection"
payload := strings.NewReader("{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/smart_lock_connection_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/smart_lock_connection.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SmartLockConnectionController.post(SmartLockConnection.fromJson({
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"ha_webhook_url": "https://vynst.de",
"name": "Beispiel",
"scan_webhook_token": "string",
"scan_webhook_path": "string",
"scan_webhook_signing_secret_set": true,
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1
}Liefert einen einzelnen SmartLock-Verbindungseintrag.
GET/api/event/smart_lock_connection/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Liefert ein einzelnes SmartLockConnection-Objekt.SmartLockConnection
Felder anzeigen (18)
scan_webhook_tokenstringDas Token, mit dem der Anbieter seine Scan-Webhook-Anfragen authentifiziert (Comydo: Bearer-Token, Basic-Auth-Passwort oder "Auth-Key"-Header). Der Administrator übergibt es dem Anbieter.
scan_webhook_pathstringPfad des Scan-Webhooks des Anbieters dieser Verbindung, relativ zum API-Host.
scan_webhook_signing_secret_setbooleanidintegerPrimärschlüssel der Smart-Lock-Verbindung. Interne ID.
providerstringAnbieter des Smart Locks, zum Beispiel LOQED oder eine Bridge.
modestringArt der Verbindung, zum Beispiel bridge oder web.
bridge_hoststringHostname der Bridge, die mit dem Schloss kommuniziert.
bridge_portintegerPort der Bridge.
web_client_idstringClient-ID für die Webverbindung zum Anbieter.
access_token_expires_atstring (date-time)Zeitpunkt, zu dem das Zugriffs-Token abläuft.
loqed_lock_idstringID des LOQED-Schlosses beim Anbieter.
ha_instance_idstringInstanz, die ihre Schlösser über diese Verbindung anbietet: die UUID des Home-Assistant-Cores oder die ID einer Node-RED-Schloss-Bridge bzw. eines n8n-Schloss-Triggers. Die ha_*-Felder werden von diesen Anbietern gemeinsam genutzt.
ha_webhook_urlstringWebhook der Home-Assistant-Integration (oder einer Node-RED-Instanz im Push-Modus), die die signierten Schloss-Befehle empfängt.
scan_device_idsstringIDs der Scanner einer Scan-Webhook-Verbindung (Comydo: je 12 Hex-Ziffern), getrennt durch Komma, Leerzeichen oder Zeilenumbruch. Jede ID wird beim Synchronisieren der Verbindung zu einem Smart Lock.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/smart_lock_connection_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SmartLockConnectionController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"ha_webhook_url": "https://vynst.de",
"name": "Beispiel",
"scan_webhook_token": "string",
"scan_webhook_path": "string",
"scan_webhook_signing_secret_set": true,
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1
}Aktualisiert einen vorhandenen Eintrag der Smart-Lock-Verbindung.
PUT/api/event/smart_lock_connection/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataSmartLockConnection2Felder anzeigen (8)
providerstringAnbieter des Smart Locks, zum Beispiel LOQED oder eine Bridge.
modestringArt der Verbindung, zum Beispiel bridge oder web.
bridge_hoststringHostname der Bridge, die mit dem Schloss kommuniziert.
bridge_portintegerPort der Bridge.
web_client_idstringClient-ID für die Webverbindung zum Anbieter.
loqed_lock_idstringID des LOQED-Schlosses beim Anbieter.
scan_device_idsstringIDs der Scanner einer Scan-Webhook-Verbindung (Comydo: je 12 Hex-Ziffern), getrennt durch Komma, Leerzeichen oder Zeilenumbruch. Jede ID wird beim Synchronisieren der Verbindung zu einem Smart Lock.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
Antworten
200SmartLockConnection aktualisierenSmartLockConnection
Felder anzeigen (18)
scan_webhook_tokenstringDas Token, mit dem der Anbieter seine Scan-Webhook-Anfragen authentifiziert (Comydo: Bearer-Token, Basic-Auth-Passwort oder "Auth-Key"-Header). Der Administrator übergibt es dem Anbieter.
scan_webhook_pathstringPfad des Scan-Webhooks des Anbieters dieser Verbindung, relativ zum API-Host.
scan_webhook_signing_secret_setbooleanidintegerPrimärschlüssel der Smart-Lock-Verbindung. Interne ID.
providerstringAnbieter des Smart Locks, zum Beispiel LOQED oder eine Bridge.
modestringArt der Verbindung, zum Beispiel bridge oder web.
bridge_hoststringHostname der Bridge, die mit dem Schloss kommuniziert.
bridge_portintegerPort der Bridge.
web_client_idstringClient-ID für die Webverbindung zum Anbieter.
access_token_expires_atstring (date-time)Zeitpunkt, zu dem das Zugriffs-Token abläuft.
loqed_lock_idstringID des LOQED-Schlosses beim Anbieter.
ha_instance_idstringInstanz, die ihre Schlösser über diese Verbindung anbietet: die UUID des Home-Assistant-Cores oder die ID einer Node-RED-Schloss-Bridge bzw. eines n8n-Schloss-Triggers. Die ha_*-Felder werden von diesen Anbietern gemeinsam genutzt.
ha_webhook_urlstringWebhook der Home-Assistant-Integration (oder einer Node-RED-Instanz im Push-Modus), die die signierten Schloss-Befehle empfängt.
scan_device_idsstringIDs der Scanner einer Scan-Webhook-Verbindung (Comydo: je 12 Hex-Ziffern), getrennt durch Komma, Leerzeichen oder Zeilenumbruch. Jede ID wird beim Synchronisieren der Verbindung zu einem Smart Lock.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
provider: 'string',
mode: 'string',
bridge_host: 'string',
bridge_port: 1,
web_client_id: '42',
loqed_lock_id: '42'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"
payload = { "data": {
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42', [
'body' => '{"data":{"provider":"string","mode":"string","bridge_host":"string","bridge_port":1,"web_client_id":"42","loqed_lock_id":"42"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"
payload := strings.NewReader("{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/smart_lock_connection_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/smart_lock_connection.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SmartLockConnectionController.put(SmartLockConnection.fromJson({
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"ha_webhook_url": "https://vynst.de",
"name": "Beispiel",
"scan_webhook_token": "string",
"scan_webhook_path": "string",
"scan_webhook_signing_secret_set": true,
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1
}Aktualisiert einen vorhandenen Eintrag der Smart-Lock-Verbindung.
PATCH/api/event/smart_lock_connection/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataSmartLockConnection2Felder anzeigen (8)
providerstringAnbieter des Smart Locks, zum Beispiel LOQED oder eine Bridge.
modestringArt der Verbindung, zum Beispiel bridge oder web.
bridge_hoststringHostname der Bridge, die mit dem Schloss kommuniziert.
bridge_portintegerPort der Bridge.
web_client_idstringClient-ID für die Webverbindung zum Anbieter.
loqed_lock_idstringID des LOQED-Schlosses beim Anbieter.
scan_device_idsstringIDs der Scanner einer Scan-Webhook-Verbindung (Comydo: je 12 Hex-Ziffern), getrennt durch Komma, Leerzeichen oder Zeilenumbruch. Jede ID wird beim Synchronisieren der Verbindung zu einem Smart Lock.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
Antworten
200SmartLockConnection aktualisierenSmartLockConnection
Felder anzeigen (18)
scan_webhook_tokenstringDas Token, mit dem der Anbieter seine Scan-Webhook-Anfragen authentifiziert (Comydo: Bearer-Token, Basic-Auth-Passwort oder "Auth-Key"-Header). Der Administrator übergibt es dem Anbieter.
scan_webhook_pathstringPfad des Scan-Webhooks des Anbieters dieser Verbindung, relativ zum API-Host.
scan_webhook_signing_secret_setbooleanidintegerPrimärschlüssel der Smart-Lock-Verbindung. Interne ID.
providerstringAnbieter des Smart Locks, zum Beispiel LOQED oder eine Bridge.
modestringArt der Verbindung, zum Beispiel bridge oder web.
bridge_hoststringHostname der Bridge, die mit dem Schloss kommuniziert.
bridge_portintegerPort der Bridge.
web_client_idstringClient-ID für die Webverbindung zum Anbieter.
access_token_expires_atstring (date-time)Zeitpunkt, zu dem das Zugriffs-Token abläuft.
loqed_lock_idstringID des LOQED-Schlosses beim Anbieter.
ha_instance_idstringInstanz, die ihre Schlösser über diese Verbindung anbietet: die UUID des Home-Assistant-Cores oder die ID einer Node-RED-Schloss-Bridge bzw. eines n8n-Schloss-Triggers. Die ha_*-Felder werden von diesen Anbietern gemeinsam genutzt.
ha_webhook_urlstringWebhook der Home-Assistant-Integration (oder einer Node-RED-Instanz im Push-Modus), die die signierten Schloss-Befehle empfängt.
scan_device_idsstringIDs der Scanner einer Scan-Webhook-Verbindung (Comydo: je 12 Hex-Ziffern), getrennt durch Komma, Leerzeichen oder Zeilenumbruch. Jede ID wird beim Synchronisieren der Verbindung zu einem Smart Lock.
namestringName der Einheit.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
provider: 'string',
mode: 'string',
bridge_host: 'string',
bridge_port: 1,
web_client_id: '42',
loqed_lock_id: '42'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"
payload = { "data": {
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42', [
'body' => '{"data":{"provider":"string","mode":"string","bridge_host":"string","bridge_port":1,"web_client_id":"42","loqed_lock_id":"42"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42"
payload := strings.NewReader("{\"data\":{\"provider\":\"string\",\"mode\":\"string\",\"bridge_host\":\"string\",\"bridge_port\":1,\"web_client_id\":\"42\",\"loqed_lock_id\":\"42\"}}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1,
"web_client_id": "42",
"loqed_lock_id": "42"
}
}),
);
print(response.body);{
"id": 42,
"ha_webhook_url": "https://vynst.de",
"name": "Beispiel",
"scan_webhook_token": "string",
"scan_webhook_path": "string",
"scan_webhook_signing_secret_set": true,
"provider": "string",
"mode": "string",
"bridge_host": "string",
"bridge_port": 1
}Startet die OAuth-Anmeldung bei einem externen Anbieter.
POST/api/event/smart_lock_connection/{identifier}/oauth_login
Pfad-Parameter
identifierPflichtstring |
Antworten
default
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/oauth_login \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/oauth_login', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/oauth_login"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/oauth_login', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/oauth_login"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/oauth_login")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/oauth_login"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/smart_lock_connection_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SmartLockConnectionController.oauthLogin('42');
if (result.success) {
print(result.data);
}Synchronisiert die Geräte.
POST/api/event/smart_lock_connection/{identifier}/sync_devices
Pfad-Parameter
identifierPflichtstring |
Antworten
default
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/sync_devices \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/sync_devices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/sync_devices"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/sync_devices', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/sync_devices"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/sync_devices")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/event/smart_lock_connection/42/sync_devices"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/smart_lock_connection_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SmartLockConnectionController.syncDevices('42');
if (result.success) {
print(result.data);
}