code: func (d *DNSProvider) Present(domain, token, keyAuth string) error {
  	fqdn, value := dns01.GetRecord(domain, keyAuth)
  
  	// get the ZoneConfig for that domain
  	zonesFind := ZoneConfigsFindRequest{
  		Filter: Filter{
  			Field: "zoneName",
  			Value: d.config.ZoneName,
  		},
  		Limit: 1,
  		Page:  1,
  	}
  	zonesFind.AuthToken = d.config.APIKey
  
  	zoneConfig, err := d.getZone(zonesFind)
  	if err != nil {
  		return fmt.Errorf("hostingde: %v", err)
  	}
  	zoneConfig.Name = d.config.ZoneName
  
  	rec := []DNSRecord{{
  		Type:    "TXT",
  		Name:    dns01.UnFqdn(fqdn),
  		Content: value,
  		TTL:     d.config.TTL,
  	}}
  
  	req := ZoneUpdateRequest{
  		ZoneConfig:   *zoneConfig,
  		RecordsToAdd: rec,
  	}
  	req.AuthToken = d.config.APIKey
  
  	resp, err := d.updateZone(req)
  	if err != nil {
  		return fmt.Errorf("hostingde: %v", err)
  	}
  
  	for _, record := range resp.Response.Records {
  		if record.Name == dns01.UnFqdn(fqdn) && record.Content == fmt.Sprintf(`"%s"`, value) {
  			d.recordIDsMu.Lock()
  			d.recordIDs[fqdn] = record.ID
  			d.recordIDsMu.Unlock()
  		}
  	}
  
  	if d.recordIDs[fqdn] == "" {
  		return fmt.Errorf("hostingde: error getting ID of just created record, for domain %s", domain)
  	}
  
  	return nil
  }
docs: // Present creates a TXT record to fulfill the dns-01 challenge