code: func (d *DNSProvider) Present(domain, token, keyAuth string) error {
  	fqdn, value := dns01.GetRecord(domain, keyAuth)
  
  	// Parse domain name
  	authZone, err := dns01.FindZoneByFqdn(dns01.ToFqdn(domain))
  	if err != nil {
  		return fmt.Errorf("ovh: could not determine zone for domain: '%s'. %s", domain, err)
  	}
  
  	authZone = dns01.UnFqdn(authZone)
  	subDomain := d.extractRecordName(fqdn, authZone)
  
  	reqURL := fmt.Sprintf("/domain/zone/%s/record", authZone)
  	reqData := Record{FieldType: "TXT", SubDomain: subDomain, Target: value, TTL: d.config.TTL}
  
  	// Create TXT record
  	var respData Record
  	err = d.client.Post(reqURL, reqData, &respData)
  	if err != nil {
  		return fmt.Errorf("ovh: error when call api to add record (%s): %v", reqURL, err)
  	}
  
  	// Apply the change
  	reqURL = fmt.Sprintf("/domain/zone/%s/refresh", authZone)
  	err = d.client.Post(reqURL, nil, nil)
  	if err != nil {
  		return fmt.Errorf("ovh: error when call api to refresh zone (%s): %v", reqURL, err)
  	}
  
  	d.recordIDsMu.Lock()
  	d.recordIDs[fqdn] = respData.ID
  	d.recordIDsMu.Unlock()
  
  	return nil
  }
docs: // Present creates a TXT record to fulfill the dns-01 challenge.