Domains, DNS, Hosting und E-Mail aus einer Hand.
Ressourcen & Support



org_id mit einer nutzbaren TLS-Organisation und führe denselben Zertifikats-id durch Staging, Completion, Validierung und Download weiter.Dieses Rezept zeigt den staged OV-Flow mit dem aktuellen TLS API. Die technische Bestellung startet über das öffentliche API, aber die Provider-Bestellung wird nicht sofort abgeschickt, wenn Organisationsdaten noch fehlen oder unvollständig sind. In diesem Fall liefert das API action_required=true zusammen mit einer completion_url.
Der entscheidende Unterschied zu einem normalen DV-Flow ist: Die Zertifikats-id existiert bereits auf API-Seite, aber die providerseitige Bestellung muss erst durch das Binden einer nutzbaren TLS-Organisation vervollständigt werden. Mit dem aktuellen API kann das entweder über POST /tls/certificate/{certificate_id}/complete mit öffentlicher org_id oder manuell in der regfish Console über completion_url passieren.
Lies zuerst den TLS-Produktkatalog und wähle ein Produkt, das klar Organisationsdaten voraussetzt.
curl --request GET \
--url 'https://api.regfish.com/tls/products' \
--header 'x-api-key: YOUR_API_KEY'Wähle ein Produkt mit mindestens:
type = OVvalidation_level = ovorganization_required = trueFür dieses Beispiel wird SecureSite als OV-Produkt verwendet.
Für organisationsvalidierte Zertifikate erwartet org_id jetzt die öffentliche TLS-Organisations-ID aus dem regfish TLS API. Diese IDs sehen wie hdl_7K9QW3M2ZT8HJ aus und nicht wie frühere numerische CA-IDs.
Lies zuerst die vorhandenen Organisationen:
curl --request GET \
--url 'https://api.regfish.com/tls/organization' \
--header 'x-api-key: YOUR_API_KEY'Wähle eine Organisation mit mindestens:
id = hdl_...status = readyusable_for_ordering = trueFalls noch keine nutzbare Organisation existiert, legst du eine an:
curl --request POST \
--url 'https://api.regfish.com/tls/organization' \
--header 'content-type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '
{
"organization": "Example GmbH",
"first_name": "Ada",
"last_name": "Admin",
"address": "Musterstrasse 1",
"postal_code": "10115",
"city": "Berlin",
"country_code": "DE",
"phone": "+49 30 1234567",
"email": "admin@example.com"
}
'Speichere die zurückgegebene öffentliche Organisations-id, zum Beispiel:
org_id = hdl_7K9QW3M2ZT8HJUm den staged Flow gezielt zu demonstrieren, legst du die Bestellung zunächst ohne org_id an. Dadurch erzeugt das API zuerst die lokale TLS-Ressource und signalisiert anschließend, dass die providerseitige Bestellung noch fertiggestellt werden muss.
curl --request POST \
--url 'https://api.regfish.com/tls/certificate' \
--header 'content-type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '
{
"sku": "SecureSite",
"common_name": "www.example.com",
"dns_names": ["api.example.com"],
"csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIIC...\n-----END CERTIFICATE REQUEST-----",
"dcv_method": "dns-cname-token",
"validity_days": 199
}
'Für eine staged OV-Bestellung sollte die Antwort typischerweise enthalten:
idstatus = pendingaction_required = truepending_reason = organization_required oder completion_requiredpending_messagecompletion_urlorganization_id = nullEin typischer Anwendungsfluss sieht so aus:
const certificate = data.response;
if (certificate.action_required && certificate.completion_url) {
window.location.assign(certificate.completion_url);
return;
}Speichere vor der Weiterleitung mindestens:
idproductaction_requiredpending_reasonorganization_idcompletion_urlorg_id abschließenWenn bereits eine nutzbare öffentliche TLS-Organisations-ID bekannt ist, schließt du die staged Bestellung direkt per API ab:
curl --request POST \
--url 'https://api.regfish.com/tls/certificate/ABCDEFGHJKM23/complete' \
--header 'content-type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '
{
"org_id": "hdl_7K9QW3M2ZT8HJ"
}
'Nach einem erfolgreichen Completion-Call erwartest du mindestens:
action_required = falseorganization_id = hdl_7K9QW3M2ZT8HJid wie zuvorDas ist der empfohlene Machine-to-Machine-Pfad, wenn deine Integration bereits weiß, welche nutzbare TLS-Organisation gebunden werden soll.
Wenn deine Anwendung die Organisation nicht selbst auswählen kann, öffnest du exakt die completion_url, die das API zurückgegeben hat. Bei staged Orders führt sie auf die Completion-Route in der Console für dieselbe Zertifikats-ID.
Dort vervollständigt der Nutzer anschließend die fehlenden Business-Daten:
Wichtig ist: Dabei entsteht keine neue Zertifikats-id. Dieselbe Zertifikats-id läuft nach dem Console-Schritt weiter.
Falls der Nutzer noch nicht eingeloggt ist, sollte ihn der Console-Login danach wieder auf die Completion-Route zurückführen.
Nachdem die Bestellung über einen der beiden Wege abgeschlossen wurde, liest du dasselbe Zertifikat erneut über das API.
curl --request GET \
--url 'https://api.regfish.com/tls/certificate/ABCDEFGHJKM23' \
--header 'x-api-key: YOUR_API_KEY'Jetzt erwartest du mindestens:
action_required = falseorganization_id = hdl_...completion_urlAb hier verhält sich der Ablauf wie eine normale Zertifikatsbestellung auf derselben Zertifikats-id.
Sobald die abgeschlossene Bestellung validation.dns_records liefert, setzt du den DNS-Record wie gewohnt.
curl --request POST \
--url 'https://api.regfish.com/dns/rr' \
--header 'content-type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '
{
"type": "CNAME",
"name": "_dnsauth.example.com",
"data": "0123456789abcdef.dcv.digicert.com.",
"ttl": 300
}
'Danach pollst du dieselbe Zertifikats-id, bis das Zertifikat ausgestellt und zum Download bereit ist.
curl --request GET \
--url 'https://api.regfish.com/tls/certificate/ABCDEFGHJKM23' \
--header 'x-api-key: YOUR_API_KEY'Beobachte dabei insbesondere:
statusorder_statevalidationcertificate_pem_availableSobald das Zertifikat bereitsteht, lädst du es wie gewohnt herunter:
curl --request GET \
--url 'https://api.regfish.com/tls/certificate/ABCDEFGHJKM23/download/pem' \
--header 'x-api-key: YOUR_API_KEY' \
--output 'certificate-ABCDEFGHJKM23.pem'org_id nur als öffentliche TLS-Organisations-ID aus /tls/organization, zum Beispiel hdl_7K9QW3M2ZT8HJorg_id auch direkt auf POST /tls/certificate mitsenden und so den staged Completion-Schritt komplett überspringencompletion_url und pending_reason, damit Support und Automatisierung erklären können, warum eine Bestellung blockiert istorganization_id = null als "noch nicht gebunden" und nicht als numerischen Nullwertid weitercompletion_url weiter, nicht auf einen hart codierten Console-PfadDieser Ablauf startet die OV-Bestellung über das API, bindet das gestufte Zertifikat über öffentliche org_id an eine nutzbare TLS-Organisation und führt danach DCV und Ausstellung auf derselben Zertifikats-ID fort. So bleibt die Integration am aktuellen TLS API ausgerichtet, während completion_url weiterhin als manueller Fallback verfügbar bleibt.
Das DNS API von Regfish ist die perfekte Lösung für Entwickler, die ihre Domains und DNS-Zonen automatisieren möchten. Werde Teil der Community und profitiere von den Vorteilen der DNS-Automatisierung. Das DNS API steht jedem Regfish-Kunden kostenlos zur Verfügung.