code: func (d *DNSProvider) Present(domain, token, keyAuth string) error {
  	fqdn, value := dns01.GetRecord(domain, keyAuth)
  
  	authZone, err := dns01.FindZoneByFqdn(fqdn)
  	if err != nil {
  		return fmt.Errorf("dyn: %v", err)
  	}
  
  	err = d.login()
  	if err != nil {
  		return fmt.Errorf("dyn: %v", err)
  	}
  
  	data := map[string]interface{}{
  		"rdata": map[string]string{
  			"txtdata": value,
  		},
  		"ttl": strconv.Itoa(d.config.TTL),
  	}
  
  	resource := fmt.Sprintf("TXTRecord/%s/%s/", authZone, fqdn)
  	_, err = d.sendRequest(http.MethodPost, resource, data)
  	if err != nil {
  		return fmt.Errorf("dyn: %v", err)
  	}
  
  	err = d.publish(authZone, "Added TXT record for ACME dns-01 challenge using lego client")
  	if err != nil {
  		return fmt.Errorf("dyn: %v", err)
  	}
  
  	return d.logout()
  }
docs: // Present creates a TXT record using the specified parameters