====== Kontaktmöglichkeiten ======
**B2Base · 1.0.0-draft.1 · Projektentwurf**
E-Mail, Telefonnummern und Webkontakte ohne ein weltweit vorgeschriebenes Kontaktmittel.
[[schemes:scheme|Bibliothek]] · [[schemes:person|Personen]] · [[schemes:principles|Internationale Grundregeln]]
===== Direkt verwenden =====
[[b2schema>1.0.0-draft.1/person/contactdetails.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/person/contactdetails.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/person/contactdetails.examples.json|Beispieldaten]]
**Austauschschema:** vollständige Strukturprüfung mit JSON Schema 2020-12. **Designer-Fassung:** gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. [[:guidelines#im_workflowdesigner_verwenden|Anleitung und Grenzen]]
===== Felder im Überblick =====
^ Feld ^ Typ ^ Pflicht im Modul ^ Bedeutung ^
| ''emails'' | array | Nein | E-Mail-Adressen; Unicode ist zulässig. |
| ''phoneNumbers'' | array | Nein | Internationale Telefonnummern. |
| ''socialMedia'' | array | Nein | Weitere Plattformkontakte. |
| ''websites'' | array | Nein | Webseiten. |
| ''extensions'' | object | Nein | Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern. |
Pflichtangaben gelten für das jeweilige Objekt, wenn dieses Modul verwendet wird. Zusätzliche Alternativen und Statusregeln stehen im Austauschschema. Optionale Felder weglassen, wenn sie unbekannt oder nicht anwendbar sind; ein leeres Pflichtfeld ist kein gültiger Ersatz.
===== International richtig einsetzen =====
* E-Mail ist keine Pflicht. Auch reine Telefonkontakte oder Webseiten lassen sich austauschen.
* Einige Nummernpläne besitzen keine eigenständige Ortsvorwahl. Normalisierung benötigt Landeskontext; führende nationale Präfixe nicht blind aneinanderhängen.
* idn-email und iri benötigen passende Formatprüfer. Speicherung einer Unicode-Adresse belegt nicht, dass der vorhandene Mailserver sie versenden kann.
===== Gültige Beispiele =====
Alle Beispiele sind synthetisch. Sie werden mit dem mitgelieferten Schema geprüft; daraus folgt keine fachliche Echtheit oder externe Erreichbarkeit.
==== Beispiel 1 ====
{
"phoneNumbers": [
{
"type": "work",
"number": "+442079460958",
"extension": "42"
}
]
}
==== Beispiel 2 ====
{
"emails": [
{
"address": "δοκιμή@παράδειγμα.δοκιμή"
}
],
"websites": [
{
"url": "https://例え.テスト/"
}
]
}
===== Umstellung aus dem bisherigen Wiki =====
Breaking Change: countryCode und areaCode werden nicht mehr als Telefonpflichtfelder geführt. number enthält jetzt die vollständige E.164-Nummer. Altdaten mit Landeskontext normalisieren und displayNumber zur Erhaltung der Originaldarstellung nutzen.
[[schemes:migration|Änderungsübersicht und Migrationsregeln]]
===== Vollständiges Schema =====
Die Datei ist eigenständig: verwendete Bausteine sind unter ''$defs'' eingebettet, Referenzen bleiben lokal. ''$id'' ist die kanonische Kennung. Die Downloads oben verwenden den aktuellen Server; eine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://b2base.eu/schemas/1.0.0-draft.1/person/contactdetails.schema.json",
"title": "Kontaktmöglichkeiten",
"$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.",
"type": "object",
"description": "Mindestens ein bekannter Kontaktkanal.",
"properties": {
"emails": {
"type": "array",
"description": "E-Mail-Adressen; Unicode ist zulässig.",
"items": {
"type": "object",
"description": "Ein E-Mail-Kontakt.",
"properties": {
"type": {
"type": "string",
"minLength": 1,
"description": "Verwendungszweck."
},
"address": {
"type": "string",
"minLength": 1,
"description": "Internationale E-Mail-Adresse; Zustellbarkeit und SMTPUTF8-Unterstützung separat prüfen.",
"format": "idn-email"
},
"language": {
"$ref": "#/$defs/LanguageTag"
}
},
"required": [
"address"
],
"additionalProperties": false
},
"minItems": 1
},
"phoneNumbers": {
"type": "array",
"description": "Internationale Telefonnummern.",
"items": {
"type": "object",
"description": "Eine vollständig normalisierte Rufnummer ohne Durchwahl.",
"properties": {
"type": {
"type": "string",
"minLength": 1,
"description": "Verwendungszweck."
},
"number": {
"type": "string",
"minLength": 1,
"description": "Pluszeichen und höchstens 15 Ziffern nach E.164; keine Aussage über tatsächliche Vergabe.",
"pattern": "^\\+[1-9][0-9]{1,14}$"
},
"extension": {
"type": "string",
"minLength": 1,
"description": "Durchwahl separat; kein Bestandteil der E.164-Rufnummer."
},
"displayNumber": {
"type": "string",
"minLength": 1,
"description": "Optionale ursprüngliche Schreibweise."
}
},
"required": [
"number"
],
"additionalProperties": false
},
"minItems": 1
},
"socialMedia": {
"type": "array",
"description": "Weitere Plattformkontakte.",
"items": {
"type": "object",
"description": "Plattform und Kennung.",
"properties": {
"platform": {
"type": "string",
"minLength": 1,
"description": "Plattform."
},
"handle": {
"type": "string",
"minLength": 1,
"description": "Unveränderter Benutzername."
},
"url": {
"type": "string",
"minLength": 1,
"description": "Optionaler Profil-Link.",
"format": "uri"
}
},
"required": [
"platform",
"handle"
],
"additionalProperties": false
},
"minItems": 1
},
"websites": {
"type": "array",
"description": "Webseiten.",
"items": {
"type": "object",
"description": "Eine Webseite.",
"properties": {
"type": {
"type": "string",
"minLength": 1,
"description": "Verwendungszweck."
},
"url": {
"type": "string",
"minLength": 1,
"description": "Internationale Webadresse; Abruf gesondert entscheiden.",
"format": "iri",
"pattern": "^https?://"
}
},
"required": [
"url"
],
"additionalProperties": false
},
"minItems": 1
},
"extensions": {
"type": "object",
"description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.",
"properties": {},
"additionalProperties": true,
"propertyNames": {
"format": "uri"
}
}
},
"additionalProperties": false,
"anyOf": [
{
"required": [
"emails"
]
},
{
"required": [
"phoneNumbers"
]
},
{
"required": [
"socialMedia"
]
},
{
"required": [
"websites"
]
}
],
"$defs": {
"LanguageTag": {
"type": "string",
"minLength": 1,
"description": "BCP-47-Sprachtag, etwa de, zh-Hant-TW, sr-Latn oder x-internal. Das Muster prüft nur die Grundform, nicht Registrierung oder alle BCP-47-Regeln.",
"pattern": "^[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*$"
}
},
"examples": [
{
"phoneNumbers": [
{
"type": "work",
"number": "+442079460958",
"extension": "42"
}
]
},
{
"emails": [
{
"address": "δοκιμή@παράδειγμα.δοκιμή"
}
],
"websites": [
{
"url": "https://例え.テスト/"
}
]
}
]
}
===== Quellen und Abgrenzung =====
* [[https://www.itu.int/rec/T-REC-E.164|ITU-T E.164: Internationaler Rufnummernplan]]
* [[https://www.rfc-editor.org/info/rfc6531/|IETF RFC 6531: Internationalisierte E-Mail / SMTPUTF8]]
* [[https://json-schema.org/draft/2020-12/json-schema-validation|JSON Schema 2020-12: Validierung und Formate]]
Quellen geprüft am 8. September 2026. Die B2Base-Felder und ihre Kombination sind ein eigener Entwurf. Code-Register, nationale Regeln, Echtheit, Zeitfolgen und Referenzziele benötigen die im jeweiligen Verfahren vereinbarten Zusatzprüfungen.
[[schemes:scheme|Zur Bibliothek]] · [[:guidelines|Integration]] · [[:faq|Häufige Fragen]]