Page tree
Skip to end of metadata
Go to start of metadata
 

Bitte beachten Sie, dass seit TecArt Version 4.10 und aufwärts der SOAP Webservice nicht mehr weiterentwickelt wird. Ab der TecArt Version 5.1 ist der SOAP Webservice nicht mehr unterstützt.

Please note: with the release of TecArt version 4.10 onwards SOAP Webservice will no longer be updated or expanded. With the release of TecArt version 5.1, the soap webservice will be deprecated.


1. WSDL-URI

http://hostname/dirname/soap/index.php?op=import&wsdl

z.B. https://test.tecart-system.de/soap/index.php?op=import&wsdl

2. Methods

2.1. crmImportCsvString

(Version >= 4.5)

Syntax:

array crmImportCsvString(int $module, string $import_id, string $content, int $action, crmCsvConfigItem $crmCsvConfigItem, crmFieldItems $crmFieldItems)

Beschreibung:

Gibt ein Array mit Protokolldaten zum Import zurück.

$module - ID des Modules, in welche die Daten importiert werden sollen. Verfügbare IDs sind:

  • 1 - Kontakte

  • 3 - Projekte

  • 4 - Verträge

  • 5 - Angebote

  • 6 - Tickets

  • 9 - Ressourcen

  • 10 - Accounts

  • 12 - Artikel

  • 13 - Rechnungskonten

  • 20 - Aufträge

  • 30 - Kassenbuch-Einträge

$import_id - Alphanumerische ID welche den Importvorgang kennzeichnet, wird zum Abrufen des Import-Logs via crmGetImportLog benötigt

$content - eine CSV-geformter Zeichenkette

$action - der Import-Type, welcher ausgeführt werden soll:

  • 0 - Alle Daten löschen und neue importieren

  • 1 - Nur neue Daten importieren - vorhandene werden nicht geändert

  • 2 - Neue Daten importieren und vorhandene aktualisieren

$crmCsvConfigItem - Konfigurationsoptionen für den Import-Vorgang:

  • delimiter - Trennzeichen zwischen einzelnen Spalten

  • charset - Zeichensatz der CSV-geformter Zeichenkette

  • enclosure - Zeichen zum einschließen von Zeichenketten

  • skip_first - Erste Zeile in Zeichenkette überspringen

  • ticket_section - ID eines Ticket-Bereiches, wenn leer wird Standard-Bereich (nur wenn $module = 6)

  • mandator_id - ID eines Mandaten, wenn leer wird Standard-Mandant verwendet (nur wen $module = 4, 5, 12, 13, 14, 18, 20, 21, 22, 29 oder 30)

  • cashjournal_id - ID eines Kassenbuches (nur wenn $module = 30)

  • secure_delete - "Sicheres löschen" aktivieren oder nicht (Default = 1, nur wenn $action = 0)

$crmFieldItems - Feldkonfiguration

Eigenschaften von $crmAssignmentsItems - Feldzuordnung (Zählung beginnt bei 0):

Type     Eigenschaft                    Beschreibung
---------------------------------------------------------------------------------------------
strong   $name                          Name des Feldes
int      $position                      Position des Feldes im CSV-String

Eigenschaften von $crmDuplicateCheckItems - enthält Liste von Feldern für Dublettenprüfung, wenn Leer wird Standardeinstellung aus Administration genutzt:

Type     Eigenschaft                    Beschreibung
---------------------------------------------------------------------------------------------
strong   $name                          Name des Feldes

Eigenschaften des zurückgegebenen Arrays:

Type     Eigenschaft                    Beschreibung
---------------------------------------------------------------------------------------------
int      $rows_contact_insert           Anzahl eingefügter Kontakte (nur wenn $module = 1)
int      $rows_contact_update           Anzahl aktualisierter Kontakte (nur wenn $module = 1)
int      $rows_person_insert            Anzahl eingefügter Personen (nur wenn $module = 1)
int      $rows_person_update            Anzahl aktualisierter Personen (nur wenn $module = 1)
int      $rows_insert                   Anzahl eingefügter Datensätze (nur wenn $module != 1)
int      $rows_update                   Anzahl aktualisierter Datensätze (nur wenn $module != 1)
int      $rows_not_executed             Anzahl übersprungener oder nicht importierter Datensätze
bool     $import_error_cancellation     Wurde Import abgebrochen, weil durch $import_error_percentage definierte Anzahl nicht importierter Datensätze erreicht wurde
double   $import_error_percentage       Prozentsatz an Datensätzen aus CSV-Daten, bei dessen Überschreitung der Import abgebrochen wird

Beispiel:

<?php
 
ini_set("soap.wsdl_cache_enabled", "0");
 
$module    = 1;
$import_id = "contact_import_soap_1";
$action    = 1;
 
$content = 'Firma;Straße;Ort;Abteilung;Telefon
"TecArt GmbH";"Fischmarkt 5";"Erfurt";"Technik";"+4936130262422"';
 
$crmCsvConfigItem = array(
	'delimiter'        => ";",
    'charset'          => 'utf-8',
    'enclosure'        => '"',
    'ticket_section'   => 0,
    'mandator_id'      => 0,
    'cashjournal_id'   => 0,
    'secure_delete'    => 1,
    'skip_first'       => 1
);
 
$crmFieldItems = array(
	'crmAssignmentsItems' => array(
		array(
			'name' => 'contact_company',
			'position' => 0
		),
		array(
			'name' => 'contact_street',
			'position' => 1
		),
		array(
			'name' => 'contact_city',
			'position' => 2
		),
		array(
			'name' => 'contact_department',
			'position' => 3
		),
		array(
			'name' => 'contact_phone',
			'position' => 4
		),
	),
	'crmDuplicateCheckItems' => array(
		array('name' => 'contact_company'),
		array('name' => 'contact_city')
	)
);
 
try {
	$client_logon = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=logon&wsdl");
	$session_id = $client_logon->crmLogin('test', 'test');
	if (!$session_id) {
		die("invalid login");
	}
 
	$client = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=import&wsdl");
 	$result = $client->crmImportCsvString($session_id, $module, $import_id, $content, $action, $crmCsvConfigItem, $crmFieldItems)
}
catch (SOAPFault $f) {
	print $f->faultstring;
}
 
print_r($result);




2.2. crmGetImportLog

(Version >= 4.5)

Syntax:

array crmGetImportLog(int $module, string $import_id, bool $compress)

Beschreibung:

Gibt eine CSV-formatierte Zeichenkette mit Datensätzen zurück, welche während des Import-Vorgangs in $import_id nicht importiert oder übersprungen wurden.

$module - ID des Modules, entspricht den Modulen von crmImportCsvString

$import_id - Alphanumerische ID eines Importvorgangs von crmImportCsvString

$compress - komprimierte, base64-kodierte Rückgabe aktivieren

Beispiel:

<source lang="php"> <?php

ini_set("soap.wsdl_cache_enabled", "0");

$module = 1; $import_id = "contact_import_1"; $compress = 0;

try {

	$client_logon = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=logon&wsdl");
	$session_id = $client_logon->crmLogin('test', 'test');
	if (!$session_id) {
		die("invalid login");
	}
	$client = new SOAPClient("https://test.tecart-system.de/soap/index.php?op=import&wsdl");
	$result = $this->crmapi_import->crmGetImportLog($session_id, $module, $import_id, $compress);
} 
catch (SOAPFault $f) {
	print $f->faultstring;
}

print $result;



  • No labels