Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
webservices:soap_webservices:import [2017/02/07 17:03]
127.0.0.1 Externe Bearbeitung
webservices:soap_webservices:import [2020/05/06 14:02] (aktuell)
d0dge
Zeile 1: Zeile 1:
 ====== Import ====== ====== Import ======
-<WRAP important>​Diese Seite enthält noch nicht alle Informationen bzw. befindet sich aktuell in der Überarbeitung</​WRAP>​ 
- 
- 
-===== WSDL-URI ====== 
- 
- 
-<​code>​http://​hostname/​dirname/​soap/​index.php?​op=import&​wsdl</​code>​ 
- 
-z.B. [[https://​test.tecart-system.de/​soap/​index.php?​op=import&​wsdl|https://​test.tecart-system.de/​soap/​index.php?​op=import&​wsdl]] 
- 
- 
-===== Methods ====== 
- 
- 
- 
-==== 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**:​ 
-<sxh php> 
- 
-<?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);​ 
- 
-?> 
- 
-</​sxh>​ 
- 
----- 
- 
- 
-==== 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; 
  
 +Bitte besuchen Sie unsere neue Entwickler-Dokumentation unter [[https://​docs.tecart.de/​display/​public/​WIKI/​Import+SOAP]]