Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:page1

Dies ist eine alte Version des Dokuments!


Soap

Soap 1.4

Schnittstelle freischalten

Benötigte Informationen

  1. Mandanten Nummer (im folgenden {$SENDER_ID} damit ersetzen).
  2. IP Adresse(n) die Zugriff auf die Schnittstelle erhalten soll (* als Platzhalter sind erlaubt).

Durchführung

1. Api Key einsehen / festlegen

In der promio.mail kann im betreffenden Client unter Extras - Integrationen - Soap ein bereits existierender Api-Key eingesehen werden. Falls noch keiner existiert, wird dieser hier automatisch neu generiert.

DB-Check des Api-Keys:

SELECT adrGenChecksum FROM `hoovie_1`.`send_user_settings` WHERE `b2b_user_id` = {$SENDER_ID}
2. Auto-User (auch Makro-User genannt) anlegen

2.1. Checken ob nicht schon ein Auto-User angelegt wurde

SELECT * FROM `www_promio_net_6`.`ACMS_STAFFdefinitions` WHERE `macroUser` = '1' AND `companyKey` = {$SENDER_ID}

2.2. Neuen Auto-User anlegen falls noch nicht vorhanden

INSERT INTO `www_promio_net_6`.`ACMS_STAFFdefinitions` SET `username` = 'autouser', `passwd` = sha1(NOW()), `user_id` = 0, `verwalter` = 0, `securitylevel` = 0, `active` = 1, `deleted` = 0, `macroUser` = 1
, `companyKey` = {$SENDER_ID}
3. IP Adresse(n) freigeben
INSERT INTO `hoovie_5`.`externRequestIpRestrict` SET `remoteIp` = '*', `senderId` = {$SENDER_ID}

Kein notwendiger Schritt; nur eine Kopiervorlage: Check auf vorhandene IP Adressen

SELECT * FROM `hoovie_5`.`externRequestIpRestrict` WHERE `senderId` = {$SENDER_ID}

Email-Vorlage

Es folgen Ihre Zugangsdaten für die Nutzung unserer API:

  • Api-Key: siehe promio.mail Plattform, Menu „Extras“ → „Integration“ → „Soap“
  • Soap-API (WSDL-URL): http://api.promio-mail.com/1.4/soap/{$SENDER_ID}.wsdl
  • Doku: http://wiki.promio-mail.com/doku.php?id=de:api:rpc
    • User: apidev
    • Pass: c$Gp§iv!47wX|

Schnittstellen Migration

1. Check if api key is already set

Check if api key is already set. If not, figure it out at: „217.115.153.212/userpages“

SELECT adrGenChecksum FROM `hoovie_1`.`send_user_settings` WHERE `b2b_user_id` = {$SENDER_ID}

alte Soap Schnittstellen

Update

Der server3.default ist schon wieder deprecated, da server.default die komplette Funktionalität übernommen hat.

Systeme

Derzeit existieren also 4 (oder mehr) konkurrierende Prozesse:

mailer-service/soap/server.default.php

  1. Anmerkung: Derzeitiger Standard.
  1. Authentifizierung:
    1. hoovie_5.platformActionsInterface2
    2. www_promio_net_6.ACMS_STAFFdefinitions mit senderspezifischem Eintrag macroUser=1
    3. hoovie_5.externRequestIpRestrict
    4. /userpages/$SENDER_ID$/config.inc.php mit class Config::MD5_KEY
    5. /userpages/$SENDER_ID$/promioServices.wsdl
  2. Logging:
    1. hoovie_5.externRequest_3_DATUM
    2. hoovie_5.externRequest_3_Fail_DATUM
    3. hoovie_5.externRequest_3_result_DATUM

mailer-service/soap/server3.default.php

  1. Anmerkung: deprecated. Derzeit noch von

„11235“ „11410“ „11614“ „12115“ „12130“ „12156“ „12160“ „12175“ „12176“ „12194“ „12209“ „12217“ „12220“ genutzt.

  1. Authentifizierung:
    1. hoovie_5.platformActionsInterface3
    2. hoovie_5.externRequestIpRestrict
    3. www_promio_net_6.ACMS_STAFFdefinitions mit senderspezifischem Eintrag macroUser=1
    4. /userpages/$SENDER_ID$/config.inc.php mit class Config::MD5_KEY
    5. /userpages/$SENDER_ID$/promioServices3.wsdl
  2. Logging:
    1. zum Teil noch in hoovie_5.externRequest_3

aber eventuell eben auch in :

  1. hoovie_5.externRequest_3
  2. hoovie_5.externRequest_3_Fail
  3. hoovie_5.externRequest_3_result

mailer-service/soap2/soap.server.default.php

  1. Anmerkung:
    1. eigentlich noch im Beta-Stadium. Einzige Möglichkeit für getCampaignResults,getCampaignsSentList.
    2. einzige Möglichkeit nur db-konfigurierte SoapUmgebung zu nutzen, daher für promioONE Kunden default.(register- und optinUser)
  2. Authentifizierung:
    1. hoovie_1.send_user_settings.adrGenChecksum
    2. /userpages/soap2/promioServices.wsdl
    3. /soap2/soap.server.default.php SoapWrap::$aAllowedActions
    4. eventuelle IP-Einschränkung über /userpages/soap2/config_$SENDER_ID$.php, ansonsten wird /userpages/soap2/config_dbBase.php ohne IP Beschränkung genutzt.
  3. Logging:
    1. platformScripts.log_v_$VX_LIB$_soap_command
    2. platformScripts.log_v_$VX_LIB$_soap_result
    3. platformScripts.log_v_$VX_LIB$_soap_resultFail

uraltes RPC - eigener xml Dialekt

  1. Logging:
    1. hoovie_5.externRequests

Bekannte Probleme

API Keys

Für folgende Sender existieren unterschiedliche API Keys in den Config File(s) und der Datenbank (`hoovie_1`.`send_user_settings`.adrGenChecksum):

Kein API Key in DB vorhanden
10825/config.inc.php( DB[] FILE[gfwesdgfvizsdfv08w9352hlfs9qr4r123juhfdadfa] )
10876/config.inc.php( DB[] FILE[Nct97Ad7hl(//dn*aafe!] )
10884/config.inc.php( DB[] FILE[dffqwehw23lhnjfs87vnm,sdvf89z] )
10884/configY.inc.php( DB[] FILE[dffqwehw23lhnjfs87vnm,sdvf89z] )
10913/config.inc.php( DB[] FILE[7E016b4B5811e2c0253c9d9F8D7d961a] )
11233/config.inc.php( DB[] FILE[d8sesdf9g723hfdf] )
11579/config_default.inc.php( DB[] FILE[hgf089desgfv8s] )
11579/config_us.inc.php( DB[] FILE[hgf089desgfv8s] )
11608/config.inc.php( DB[] FILE[fn789w43] )
11608/config.soap.inc.php( DB[] FILE[kuzhhhfCFU68&/%UZG?JO54Tzfz] )
11614/config.inc.php( DB[] FILE[fQfWn789w4df3Anfn78FD9w4378fn7HGR89w439wfn789w434fnGDF789w433GDF] )
11648/config.inc.php( DB[] FILE[nf8ZOUF984Nvfno8hf2qY0asiL] )
11651/config_default.inc.php( DB[] FILE[vnuh423w987gsvnm,sdvf89z] )
11651/config_new.inc.php( DB[] FILE[vnuh423w987gsvnm,sdvf89z] )
11707/config.inc.php( DB[] FILE[fgwero]ug8vzsfffdx()gobv8z7xbvn] )
11734/config.inc.php( DB[] FILE[fwqefwh7()EZFTGWWGT)(S:)gvw9833pol] )
11741/config_default.inc.php( DB[] FILE[fvzgsdg))bv098sddxdxgvb08] )
11752/config_default.inc.php( DB[] FILE[f84jf9sjh438fld] )
11778/config.inc_xfast.php( DB[] FILE[sfvh9sw((0Hfgds0jk334111-d] )
11809/config.inc.php( DB[] FILE[fvh7s9777]]gsdfz8v@443265] )
11827/config.inc.php( DB[] FILE[)(nmklvxcnlfsfsdfv9�0sc7v] )
11879/config.inc.php( DB[] FILE[fgzet8we4756t34oi5htgfz7324ouijh5t0s] )
11990/config.inc.php( DB[] FILE[gwhs98gtKsdgh9vwUe4875trhHns98fJNop] )
12130/config.inc.php( DB[] FILE[f23sns41d789w43] )
12154/config.inc.php( DB[] FILE[kfdspfiewmfwpe0f832w4js4085rt32458324asd56t34] )
12155/config.inc.php( DB[] FILE[gfwsuwe7tgf9w4rthfqwe09s7ufveks8dea] )
12156/config.inc.php( DB[] FILE[f23sgihwero8gz34089hfg0s9sxjns41d789w43] )
12160/config.inc.php( DB[] FILE['sdjkt57fdsacxb2348dfasffg452uz389oiuz'] )
12162/config.inc.php( DB[] FILE[nvie356fsdjow36x835s27923dfkwqdof476pezb] )
12194/config.inc.php( DB[] FILE[fuhgwieurhtg94w083ztsjlkhgf90w348zthslkdzg98we4ztgdklzg] )
12202/config.inc.php( DB[] FILE[dsfkiudzwe87rtzhsoldgfvzas0oier5hs0d9fgwejus] )
12209/config.inc.php( DB[] FILE[fEW23sFf23sns41d7N89w43nMKs4f23sns41FWd78H9w431d789w43] )
12221/config.inc.php( DB[] FILE[WfKbfsdhd1X2bjdBasVY123332212w3O220XffLgdsdTsfFs3DfgEs2221] )
12222/config.inc.php( DB[] FILE[Zbfnd28ndfsdDQsa28ncwraf92FyPM3nAssDdfaEF348VBD9DDasJH2222] )
12351/config.inc.php( DB[] FILE[gfd8uUGPI789hjufhi98hG9909D0JIO7889hjhDjk8789] )
API Keys unterschiedlich
10473/config.inc.php( DB[fqe8sxdgv;_8989f3q2§p9yxsv.nm,jyxxc790] FILE[fqe8sxdgv] )
10473/config_default.inc.php( DB[fqe8sxdgv;_8989f3q2§p9yxsv.nm,jyxxc790] FILE[fqe8sxdgv] )
10491/config.inc.php( DB[nr23z9f8uq(dfj0q()fhqa8=)/UFhaq0gfvhyxjy] FILE[nr23z9f8uq(dfj0q()fhqa8)/UFhaq0gfvhyxjy] )
11146/configMacro.inc.php( DB[fn789w43] FILE[grweg9uw�9gurs�9u7g] )
11146/config_Xfast.inc.php( DB[fn789w43] FILE[g35j89uhg0483whgtxöäcvgbiohwg] )
11146/config_Xfast4.inc.php( DB[fn789w43] FILE[g35j89uhg0483whgtxöäcvgbiohwg] )
11146/config_default.inc.php( DB[fn789w43] FILE[g35j89uhg0483whgtxöäcvgbiohwg] )
11234/config.inc_xfast.php( DB[h6bd8?7da!aaa43Gg] FILE[932uirt0ewsgfjwvth9qwrj] )
11727/config.inc.php( DB[Z9ghbhJO=)/kk%2ndi/7zh8C8zvfPhE=i(1poxjH] FILE[Z9ghbhJO)/kk%2ndi/7zh8C8zvfPhEi(1poxjH] )
11728/config.inc.php( DB[nr23z9f8uq(dfj0q()fhqa8=)/UFhaq0gfvhyxjy] FILE[nr23z9f8uq(dfj0q()fhqa8)/UFhaq0gfvhyxjy] )
11731/config.inc.php( DB[gfwsioerjgf/<ujv9wuertglknxv90em>)/=)] FILE[gfwsioerjgf/<ujv9wuertglknxv90em>)/)] )
11764/config.inc.php( DB[hjgfsdo87(]hfvsd9sqw88emhujd9f7] FILE['hjgfsdo87(]hfvsd9sqw88emhujd9f7'] )
11789/config.inc.php( DB[dg984jg73kgf8237fgj49] FILE['dg984jg73kgf8237fgj49'] )
11789/config2.inc.php( DB[dg984jg73kgf8237fgj49] FILE['dg984jg73kgf8237fgj49'] )
11905/config.inc.php( DB[nr23z9f8uq(dfj0q()fhqa8=)/UFhaq0gfvhyxjy] FILE[nr23z9f8uq(dfj0q()fhqa8)/UFhaq0gfvhyxjy] )
12115/config.inc.php( DB[gvswrh9745tuhjsdg8fw34ikfs�yx035u25we3] FILE['gvswrh9745tuhjsdg8fw34ikfs�yx035u25we3'] )
12419/config.inc.php( DB[8d31366BE4E2f48368369AE06dE5dA70] FILE[8d31y366BE4DdaE2f48368369AkE06dEt5dAr71] )
84/config.inc.php( DB[fedfwefwefewfefkSOAP] FILE[fedfwefwefewfefk] )
84/config_Xfast.inc.php( DB[fedfwefwefewfefkSOAP] FILE[fedfwefwefewfefk] )

Neue Soap-Methode freischalten

Zum freischalten einzelner oder mehrerer Soap-Methdoden für Kunden folgende Schritte ausführen:

  1. Soap Server einrichten

Bitte immer dieses Verfahren dafür anwenden:

  [[http://192.168.0.4/wiki/dokumentation/v4soap#soap_umgebung_aus_bestehendem_mandanten_kopieren|v4soap]]
  Ergebins davon muss sein:
  * -> in ''212/userpages'' neuen Mandantenordner anlegen der folgende Dateien enthalten muss:
  * -> ''config.inc.php'' (**API Key ändern**)
  * -> ''server.default.php''<del>''server3.default.php''</del>
  * -> ''promioServices.wsdl'' <del>''promioServices3.wsdl''</del> (**Service Port ändern**)
  1. Soap methoden freischalten
    • hoovie_5.platformActionsInterface2 hoovie_5.platformActionsInterface3
  2. IP-Adressen freischalten
    • hoovie_5.externRequestIpRestrict
  3. Auto-User (MakroUser) anlegen
    • www_promio_net_6.ACMS_STAFFdefinitions
Soap Server einrichten
  • Auf dem 212er in userpages/ ein Ordner mit der Mandantennummer anlegen.
  • Darin müssen folgende Dateien liegen:

config.inc.php:

ini_set( 'soap.wsdl_cache_ttl', 0 );
ini_set( 'soap.wsdl_cache_enabled', 0 );
class Config 
{
	const VERSION_ADDRGEN 	= 9;
	const MD5_KEY 			= "Hier eine beliebige, möglichst cryptische, Zeichenfolge eintragen; wird dem Kunden als API-Key für die Soap-Aufrufe gegeben";

	const DEBUG_OUT = false;
}

server3.default.php

/**
 * possible Config for the soapServer

define('DEBUG',true) - standard false schaltet Debug zusätzlich zum debugFile in den mainOutput
define("WSDL_PATH", 'http://xy.yy') standard 'http://mailer-service.com/userpages/'.$senderId.'/promioRemote.wsdl  abweichende wsdl datei
define("USE_TEST_LIB",true) standard false - nutzt den testVxLib eintrag aus platformInterfaceActions2. in server.defaultTest.php standard true
define("USE_SOAP_PERSISTENCE",true) standard false  instanziert eine session

error_reporting(E_ALL);
ini_set('display_errors',false);
*/

require_once('./config.inc.php');
include('/var/www/html/mail.mailer-service.de/www/kunden/mailer-service/soap/server3.default.php');

promioServices3.wsdl Diese aus dem Repositorium Repository:: Soapvorlagen/wsdl/promioServices3.wsdl entnehmen und den Service Port mit der passenden Mandanten Nummer abändern:

<service name="PromioRemoteService">
	<port name="PromioRemotePort" binding="typens:PromioRemoteBinding">
		<soap:address location="https://mailer-service.com/userpages/**$MANDANTENNUMMER**/server3.default.php"/>
	</port>
</service>

Soap methoden freischalten

Soap Methoden müssen für jeden Mandanten in hoovie_5.platformActionsInterface3 eingetragen sein.
Die wichtigsten Felder:

platformActionsInterface3
Feld Default for Insert Info
soapNameSoap Methode
modulApi ModulMapping zu vxLib
actionApi ActionMapping zu vxLib
senderId$MandantenNummer
vXLibvxLib VersionApi Modul/Action in dieser Version aufrufen
isActive1
rightsChanged0000-00-00 00:00:00
addedNOW()Datum des INSERTS
addedBySatffKeyDeine Staff ID
lastUsed0000-00-00 00:00:00
used0
Insert SQL

SQL für die Übernahme alle Methoden eines anderen Senders. Folgende Werte im SQL ersetzen:

  • $SRC_SENDERID
  • $NEW_SENDERID
  • $STAFFKEY
INSERT INTO `platformActionsInterface3` SELECT NULL AS `platformActionsId`, `soapName`, `modul`, `action`, '**$NEW_SENDERID**' AS `senderId`, `vXLib`, '' AS `testVxLib`, 1 AS `isActive`, '0000-00-00 00:00:00' AS `rightsChanged`, NOW() AS `added`, '**$STAFFKEY**' AS `addedBy`, '0000-00-00 00:00:00' AS `lastUsed`, 0 AS `used` FROM `platformActionsInterface3` WHERE senderId = **$SRC_SENDERID** 
IP-Adressen freischalten

Der Zugriff auf den Soap Server ist nur für in hoovie_5.externRequestIpRestrict hinterlegte IP Adressen erlaubt.
Für jede IP Adresse einen Eintrag hinzufügen. Wildcard ist am Ende von IP Adressne erlaubt (192.168.*).
Standarmässig unsere eigene Server IP immer eintragen: 217.115.153.212

Auto-User (MakroUser) anlegen

Neuer Eintrag in www_promio_net_6.ACMS_STAFFdefinitions.
Benötigte Felder:

ACMS_STAFFdefinitions
Feld Wert
companyKey$MANDANTENNUMMER
usernameautouser
passwdein belibiges Vergeben
user_id0
verwalter0
securitylevel0
active1
deleted0
macroUser1

Neue Soap-Methode erstellen

Doku & Tests

für jede SoapApi

  • wikiDoku erstellen
  • freischalten für Mandant 11146
  • erstellen eines 212/userpages/11146/server.$soapname.php der 212/userpages/11146/wsdl.$soapname.wsdl benutzt
  • atomarer client 212/userpages/soapTestClient:: soapname.soap.php wsdl für mandant 11146 funkional machen.
WSDL

Die neue Methode soll in der allgemeinen Vorlagen-WSDL unter:

Repository:: Soapvorlagen/wsdl/promioServices3.wsdl

engefügt werden.

Darüber hinaus soll für jede Methode eine atomare WSDL angelegt werden in:

Repository:: Soapvorlagen/wsdl/parts/$soapname.wsdl

und

212:: userpages/11146/wsdl.$soapname.wsdl

und

212:: userpages/wsdl/$soapname.wsdl
de/page1.1391515006.txt.gz · Zuletzt geändert: 2014/02/04 12:56 von md