BETA-Phase Domainreselling-API gestartet

    • Offizieller Beitrag

    Hallo Ringelnatz,


    vielen Dank für das sorgfältige Feedback.

    Laut der SOAP interface description ist bei infoDomain() der letzte Parameter optional. Ich erhalte allerdings den Fehler "Type error: Too few arguments to function App\Classes\DomainWebserviceSoapClient::infoDomain(), 5 passed [...] and exactly 6 expected".

    Dieser Fehler ist in PHP eine Warning. Sie kann ignoriert werden. Alternativ können sie den Parameter mit dem Wert NULL füllen. Je nach Client könnten Sie hier auch den Client anpassen.

    Bei infoDomain() fehlt jetzt offenbar die Info über Nameserver? Vorher kam ich über Keys wie "nameserver1_host" an die NS-Infos. Jetzt sehe ich lediglich ein "\"nameserverentry\":null" in responsedata.

    Die API zeigt hier nur externe Nameserver an. Alternativ steht da jetzt "default nameserver".

    Bei infoDomain() ist das Feld "state" nicht ganz konsequent: "registred" vs. "registered at netcup" (letzteres ist richtig)

    Tippfehler ist an dieser Stelle angepasst.

    Bei createDomain, updateDomain usw. steht in der Beschreibung des Parameters nameservers "$nameserverentry1->ipv6n= [...]". Das "n" ist da wohl nicht richtig.

    Korrekt, das ist behoben.

    In der Beschreibung der Klasse/des Interfaces Nameserverentries ist bei den ersten drei NS "nillable = FALSE" angegeben. Das sollte nur für die ersten beiden der Fall sein oder?

    Korrekt, das ist behoben.


    Zudem ist das Feld priceperrunntime bei Befehl infoDomain ergänzt.


    Die Aktualisierung der API ist jetzt live.

  • Habe jetzt erst gesehen, dass der Beitrag oben bearbeitet wurde.

    Dieser Fehler ist in PHP eine Warning. Sie kann ignoriert werden. Alternativ können sie den Parameter mit dem Wert NULL füllen. Je nach Client könnten Sie hier auch den Client anpassen.

    Gar nicht bemerkt, dass es eine native PHP-Warning ist. Allerdings sollte die Signatur der entsprechenden Methode korrekterweise so aussehen, oder?

    PHP
    public function infoDomain($domainname,$customernumber,$apikey,$apisessionid,$clientrequestid,$registryinformationflag = FALSE)


    Ich habe mittlerweile angefangen, die Handleverwaltung in meiner Testsoftware ebenfalls anzupassen. Ich komme derzeit bei der Erstellung von Handles des Typs person nicht weiter. Das Feld organisation sollte in dem Fall ja egal sein, ich kann es aber nicht frei lassen: "Validation Error. Value in field organisation does not match requirements of type: organisation."


    Außerdem hatte ich erneut das Problem, dass ich keine Fehlermeldungen sondern nur einen Faultcode erhalten habe. Mir ist dann aufgefallen, dass in dem heruntergeladenen PHP-Client die SOAP-Exception falsch geworfen wird. Faultstring und -code sind vertauscht, richtig wäre

    PHP
    throw new SoapFault($exception->faultcode, $exception->faultstring, $exception);
    • Offizieller Beitrag

    Hallo Ringelnatz,


    schön, dass sie weitere Funktionen unserer API getestet haben.

    Die Sache mit dem Organisationsfeld ist behoben. Bitte versuchen Sie es erneut.


    Der Client ist nur eine Empfehlung, sie können auch mit einem Tool ihrer Wahl mit Hilfe der WSDL einen Client generieren lassen.

  • Das ist prima, gleich mal in mein Testsystem eingebaut. Was mir aufgefallen ist:

    • Der Preis steht im responsedata-Objekt im Feld "priceperrunntime" - da ist ein n zuviel.
    • Es wäre wesentlich effizienter, wenn man eine komplette Preisliste abrufen könnte oder zumindest ein Array an TLDs übergeben könnte. (Eine produktiv arbeitende Software würde solche Informationen sowieso cachen und hin und wieder aktualisieren - es würde aber vor allem das API entlasten, wenn man nicht für jede TLD einen eigenen Call absetzen müsste.)
    • "Current discounts are considered, but can be limited by time or ammount." Perfekt wäre natürlich, wenn man das Ablaufdatum von Rabattaktionen ebenfalls einsehen könnte ;) Und auch hier hat sich ein Tippfehler (bei ammount) eingeschlichen.
    • Der aktuelle Rabatt für über das API bestellte de-Domains ist nicht berücksichtigt (aber ich denke mal das ist eine Ausnahme?).
  • Danke für die Preisabfrage; das ist ein echter Vorteil gegenüber meinem bisherigen Domain-Provider.


    Aber mal was anderes:

    Da ich auch schon oft am anderen Ende der Wartung stand und bei meinem letzten Arbeitgeber auch einen SOAP-Webservice weiterentwickeln und warten durfte, würde ich mich jetzt aus Kundensicht freuen, wenn es einen "Newsletter"/"Verteiler" für Anwender des Webservices gäbe in den man sich eintragen (lassen) kann. Dort könnten ggf. abwärtsinkompatible Änderungen mit Release-Datum angekündigt werden, denn eine Versionierung des Services an sich (über Pfade oder HTTP-Header) ist bisher ja nicht erkennbar. Jedenfalls kann ich den Domain-SOAP-Service nicht guten Gewissens in eine Produktivumgebung hängen, wenn ich nicht aktiv mitbekommen kann, dass sich breaking Changes ergeben. Das würde dann vielleicht einmal krachen und dann nie wieder ;)

    Oder der Webservice wird ein unwartbares Monstrum wo man immer abwärtskompatibel bleiben muss; dann möchte ich an dieser Stelle dem Entwickler viel Durchhaltevermögen wünschen :P :)

    • Offizieller Beitrag

    Hallo,


    danke für die Anmerkungen.


    Die aktuellen Änderungen (seit dem Refaktoring) sind Abwärtskompatibel. Es ist geplant langfristig eine Versionierung einzuführen. Aktuell befinden wir uns noch in der Beta Phase, das gilt es beim Einsatz zu berücksichtigen.


    Die Rechtschreibfehler sind behoben.


    Ablaufdatum von Rabattaktionen ist nicht immer klar definiert, da manche Aktionen mengenmäßig limitiert sind.


    Rabatt für über das API bestellte de-Domains wird jetzt berücksichtigt. Wenn Sie die Domain bestellt hatten, wurde korrekt berechnet.


    Über die weiteren Punkte werden wir nachdenken.

  • Ich schaffe es seit dem Refactoring nicht mehr, eine Domain (de) zu registrieren: "Validation Error. Value in field contacts does not match requirements of type: contactentries. Value in field contacts does not match requirements of type: contactentries."


    XML
    <contacts xsi:type="ns1:Contactentries"><ownerc xsi:type="xsd:string">xxx</ownerc><adminc xsi:type="xsd:string">xxx</adminc><techc xsi:type="xsd:string">xxx</techc><zonec xsi:type="xsd:string">xxx</zonec><billingc xsi:nil="true"/><onsitec xsi:nil="true"/></contacts>

    Was mache ich falsch oder handelt es sich um einen Bug?

  • Habs rausgefunden: Das API erwartet bei der Registrierung die Angabe von billingc und onsitec. Die brauche ich für .de-Domains eigentlich gar nicht. Ich habe sie nun trotzdem mal angegeben und die Registrierung hat funktioniert. Allerdings stehen sämtliche Contactentries jetzt bei infoDomain(), listallDomain() und im CCP auf "default handle". Bei der DENIC sind aber überall die Daten der von mir an das API übergebenen Handles richtig eingetragen! Da ist beim Refactoring wohl einiges kaputt gegangen.


    -------------------------------------------

    Bei der Registrierung habe ich folgende Antwort bekommen: (myns.de: die Domain unter der meine NS als Subdomains laufen, xx.xx.xx.xx die IP des NS, registereddomain.de die soeben registrierte Domain)

    Zitat

    status: "warning", "statuscode":5023,"shortmessage":"Domain registration success with warnings", longmessage: "The registration of this domain was partly successful. But the follwoing warings occurred: 53300102912: Nameserver error\nERROR 901 Unexpected RCODE (target, entity, RCODE) (ns2.myns.de.\/xx.xx.xx.xx53, registereddomain.de, REFUSED)\n\n33300102900: The provided DNS data are not acceptable. The status of the domain is failed.\nMon Mar 05 103018 CET 2018\nThe domain is not being handled by name server ns2.myns.de. The name server specified cannot be entered until it is handling the domain."

    Ich hatte die NS-Entries gerade erst eingetragen, möglicherweise brauchte die Verteilung an ns2 noch etwas. Was mich aber wundert, sowohl im CCP als auch im DENIC WebWhois ist ns2 auch eingetragen. Und wieso ging die Registrierung überhaupt durch wenn einer von zwei NS nicht erfolgreich überprüft werden konnten?

  • Die Domain, bei der die Konnektierung fehlgeschlagen ist, hat sich quasi festgefahren. Ich kann die Handles (die im CCP falsch hinterlegt sind) nicht ändern und NS Updates (um die Domain zu konnektieren) gehen auch nicht, da gibt es einen Fehler seitens der DENIC wegen falscher Handles. Ich werde hierzu ein Support-Ticket aufmachen.


    Was mir in diesem Zuge aufgefallen ist: Ich habe keine Möglichkeit, den Status meiner Domain bei der DENIC über das API einzusehen. Bei meiner nicht konnektierten Domain steht dieser auf "failed" und die Domain wird nach Ablauf einer Frist gelöscht wenn ich nicht handle. Soweit ich weiß wird netcup regelmäßig von der DENIC über nicht konnektierte Domains informiert. Diese Infos müssten an den Reseller weitergegeben werden oder (besser:) sich automatisiert abrufen lassen.


    (Entschuldigt meine vielen Posts, aber wie bekannt ist kann ich meine Beiträge nicht nachträglich ergänzen.)

  • Das hatte ich vor kurzem auch (Domain registriert und nur ein Nameserver hatte die Zone). Konnte auch keine Handles ändern oder irgendwas.

    Konnte es letztendlich aber selbst lösen, indem ich im CCP die Verwaltung wieder auf die netcup eigenen Nameserver geändert habe, gewartet habe, bis die Änderung vollzogen war (einige Minuten) und dann wieder auf die eigenen Nameserver umgestellt habe. Vielleicht hilft dir dieser Workaround ja ebenfalls.

    • Offizieller Beitrag

    Hallo Ringelnatz,


    vielen Dank für Ihre Nachrichten. Wir prüfen das.



    Sie können den Status einer Domain mit dem infoDomain Befehl abfragen.


    Wir können den Nameserver check der Denic leider nicht von außen abfragen. Um sicherzugehen, dass eine Domain erfolgreich registriert werden kann, sollten sie einige Zeit waren bis die Nameserver Einstellungen im Internet bekannt sind. DNS ist leider von Haus aus sehr träge.


    Alles weitere wird von uns geprüft.

  • Sie können den Status einer Domain mit dem infoDomain Befehl abfragen.

    Das hatte ich probiert, status: failed kann ich aber für meine nicht-konnektierte Domain damit nicht finden. "state" ist "registered at netcup" und "status" ist "additional domain".


    Wir können den Nameserver check der Denic leider nicht von außen abfragen. Um sicherzugehen, dass eine Domain erfolgreich registriert werden kann, sollten sie einige Zeit waren bis die Nameserver Einstellungen im Internet bekannt sind. DNS ist leider von Haus aus sehr träge.

    Das ist klar, hier ist mein Problem ja auch nur, dass ich wie oben beschrieben die Konnektierung nicht durchführen kann weil die Handles bei der Registrierung falsch zugeordnet wurden.


    Was mir noch aufgefallen war: Der oben beschriebene ValidationError tritt sowohl bei crate als auch bei updateDomain auf.

    • Offizieller Beitrag

    Hallo Ringelnatz,


    erneut herzlichen Dank für die Rückmeldungen zur API.


    Alle gemeldeten Aspekte konnten nachvollzogen werden und sind behoben.


    • Bei infoDomain wird das Feld "state" jetzt bei gesetztem registryinformationflag mit dem Wert der Regsitry belegt.
    • Wird eine Domain mit Nameserver error registriert, werden die Handles korrekt im CCP gespeichert.
    • Die Contact handle IDs können leer sein, sollte ein benötigtes Handle fehlen, liefert das System eine Fehlermeldung.


    Zu Ihrem Supportfall haben sie von einem meiner Kollegen eine Mail erhalten.


    Zudem jetzt realisiert:

    Das Feld: setupfee in dem die Einrichtungsgebühr beim Befehl priceTopleveldomain enthalten ist.



  • Neu erstellte Beiträge unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.

    Die letzte Antwort auf dieses Thema liegt mehr als 365 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.

    • :)
    • :(
    • ;)
    • :P
    • ^^
    • :D
    • ;(
    • X(
    • :*
    • :|
    • 8o
    • =O
    • <X
    • ||
    • :/
    • :S
    • X/
    • 8)
    • ?(
    • :huh:
    • :rolleyes:
    • :love:
    • :pinch:
    • 8|
    • :cursing:
    • :wacko:
    • :thumbdown:
    • :thumbup:
    • :sleeping:
    • :whistling:
    • :evil:
    • :saint:
    • <3
    • :!:
    • :?:
    Maximale Anzahl an Dateianhängen: 10
    Maximale Dateigröße: 1 MB
    Erlaubte Dateiendungen: bmp, gif, jpeg, jpg, pdf, png, txt, zip