/v2/auth/webhook/pingen/{token}Pingen-Briefstatus und Kosten übernehmen
Empfängt einen Pingen-Rückruf. Das Pfadsegment token ist hier tatsächlich der Status-/Ereignistyp (z. B. send, error, not_deliverable), kein Authentifizierungstoken. data.relationships.letter.data.id identifiziert den externen Brief. Lädt dessen Status bei Pingen, aktualisiert lokalen Briefstatus und kann bei Rechnungen/Mahnungen Portokosten buchen. Der GET-Alias führt denselben schreibenden Handler aus; nicht als Leseabfrage verwenden.
Operation-ID post_v2_auth_webhook_pingen_token
Vertrag & Verhalten
- Dokumentationsstand
- reviewed
- Ändert Zustand
- Ja
- Als readOnly markiert
- Nein
- Für Automation markiert
- Nein
Authentifizierung
Für diesen Endpunkt sind keine OpenAPI-Security-Schemas vorgeschrieben. Weitere Voraussetzungen stehen in den Parametern und den Metadaten.
Parameter
Pfadparameter
tokenerforderlichLegacy-Name token im Pfad.
Status-/Ereignistyp des Pingen-Callbacks; kein Schlüssel.
Schema-Beispiel
"send"Vollständiges Schema als JSON
{
"type": "string",
"description": "Status-/Ereignistyp des Pingen-Callbacks; kein Schlüssel.",
"examples": [
"send"
]
}Request Body
erforderlichapplication/json
data object erforderlich relationships object erforderlich letter object erforderlich data object erforderlich id string erforderlich Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Vollständiges Schema als JSON
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"relationships": {
"type": "object",
"properties": {
"letter": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"id"
]
}
},
"additionalProperties": true,
"required": [
"data"
]
}
},
"additionalProperties": true,
"required": [
"letter"
]
}
},
"additionalProperties": true,
"required": [
"relationships"
]
}
},
"additionalProperties": true,
"required": [
"data"
]
}Pingen-Briefstatus und Kosten übernehmen
{
"data": {
"relationships": {
"letter": {
"data": {
"id": "synthetic-external-letter-id"
}
}
}
}
}Antworten
9HTTP-Status und Antwortinhalt gemeinsam auswerten. In dieser API können auch Antworten mit HTTP 200 einen Fehler enthalten.
200text/plain
Text OK nach Verarbeitung des Rückrufs.
text/plain
Vollständiges Schema als JSON
{
"type": "string"
}Beispiel
"OK"400application/json
Invalid request.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED40006"
}401application/json
Missing/expired token, missing account context, account paused or model-specific authorization failure.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED40103"
}402application/json
Missing/invalid action data or subscription/operation restriction.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED80100"
}403application/json
Permission denied. Browser CORS rejection may have an empty body.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED40340"
}404application/json
Unknown resource/action or unsupported method.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED80019"
}422application/json
Validation failed.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED80020"
}429application/json
Request/login rate limit exceeded. Honor Retry-After when supplied; legacy rate-limit paths may omit it. Retry only proven reads within a bounded deadline; a mutation is never automatically replayed after an ambiguous response.
Response Header
Retry-After
Optional server delay in whole seconds or an HTTP date. Absence is not permission for an immediate retry.
Schema-Beispiel
"30"Vollständiges Schema als JSON
{
"type": "string",
"examples": [
"30"
]
}application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED42902"
}502application/json
Server-side operation failed.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED50201"
}Quelle & Metadaten
application/controllers/V2.php:28coreV2()Diese Angaben stammen unverändert aus der gelieferten OpenAPI-Datei. Zusätzliche Freigaben, Vorbedingungen, sensible Felder und Hinweise stehen in den Erweiterungen.
x-edoobox-mutates-state
truex-edoobox-runtimeMutationGuard
falsex-edoobox-documentationReview
{
"file": "docs/openapi/operation-contracts/05-auth.json",
"notes": []
}x-edoobox-source
{
"file": "application/controllers/V2.php",
"method": "coreV2",
"line": 28
}x-edoobox-documentationStatus
"reviewed"x-edoobox-readOnly
falsex-edoobox-safeForAutomation
falsex-edoobox-permission
{
"description": "No account-JWT resource permission levels are applied. Authentication requirements, if any, are defined by this route source-specific boundary and dedicated security scheme.",
"checkedByDispatcher": false,
"levels": []
}Vollständige Operation als JSON
{
"operationId": "post_v2_auth_webhook_pingen_token",
"summary": "Pingen-Briefstatus und Kosten übernehmen",
"description": "Empfängt einen Pingen-Rückruf. Das Pfadsegment token ist hier tatsächlich der Status-/Ereignistyp (z. B. send, error, not_deliverable), kein Authentifizierungstoken. data.relationships.letter.data.id identifiziert den externen Brief. Lädt dessen Status bei Pingen, aktualisiert lokalen Briefstatus und kann bei Rechnungen/Mahnungen Portokosten buchen. Der GET-Alias führt denselben schreibenden Handler aus; nicht als Leseabfrage verwenden.",
"tags": [
"auth"
],
"security": [],
"parameters": [
{
"name": "token",
"in": "path",
"required": true,
"description": "Legacy-Name token im Pfad.",
"schema": {
"type": "string",
"description": "Status-/Ereignistyp des Pingen-Callbacks; kein Schlüssel.",
"examples": [
"send"
]
}
}
],
"responses": {
"200": {
"description": "Text OK nach Verarbeitung des Rückrufs.",
"content": {
"text/plain": {
"schema": {
"type": "string"
},
"example": "OK"
}
}
},
"400": {
"description": "Invalid request.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED40006"
}
}
}
},
"401": {
"description": "Missing/expired token, missing account context, account paused or model-specific authorization failure.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED40103"
}
}
}
},
"402": {
"description": "Missing/invalid action data or subscription/operation restriction.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED80100"
}
}
}
},
"403": {
"description": "Permission denied. Browser CORS rejection may have an empty body.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED40340"
}
}
}
},
"404": {
"description": "Unknown resource/action or unsupported method.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED80019"
}
}
}
},
"422": {
"description": "Validation failed.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED80020"
}
}
}
},
"429": {
"description": "Request/login rate limit exceeded. Honor Retry-After when supplied; legacy rate-limit paths may omit it. Retry only proven reads within a bounded deadline; a mutation is never automatically replayed after an ambiguous response.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED42902"
}
}
},
"headers": {
"Retry-After": {
"description": "Optional server delay in whole seconds or an HTTP date. Absence is not permission for an immediate retry.",
"schema": {
"type": "string",
"examples": [
"30"
]
}
}
}
},
"502": {
"description": "Server-side operation failed.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED50201"
}
}
}
}
},
"x-edoobox-mutates-state": true,
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"relationships": {
"type": "object",
"properties": {
"letter": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"id"
]
}
},
"additionalProperties": true,
"required": [
"data"
]
}
},
"additionalProperties": true,
"required": [
"letter"
]
}
},
"additionalProperties": true,
"required": [
"relationships"
]
}
},
"additionalProperties": true,
"required": [
"data"
]
},
"examples": {
"request": {
"summary": "Pingen-Briefstatus und Kosten übernehmen",
"value": {
"data": {
"relationships": {
"letter": {
"data": {
"id": "synthetic-external-letter-id"
}
}
}
}
}
}
}
}
}
},
"x-edoobox-runtimeMutationGuard": false,
"x-edoobox-documentationReview": {
"file": "docs/openapi/operation-contracts/05-auth.json",
"notes": []
},
"x-edoobox-source": {
"file": "application/controllers/V2.php",
"method": "coreV2",
"line": 28
},
"x-edoobox-documentationStatus": "reviewed",
"x-edoobox-readOnly": false,
"x-edoobox-safeForAutomation": false,
"x-edoobox-permission": {
"description": "No account-JWT resource permission levels are applied. Authentication requirements, if any, are defined by this route source-specific boundary and dedicated security scheme.",
"checkedByDispatcher": false,
"levels": []
}
}