++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + API Yeah Rel 1.02 Public Build + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + Copyright (C) by Ole Kollat, http://solution-support.com + + + + This program is free software; you can redistribute it and/or modify + + it under the terms of the GNU General Public License as published by + + the Free Software Foundation; either version 2 of the License, or + + (at your option) any later version. + + + + This program is distributed in the hope that it will be useful, + + but WITHOUT ANY WARRANTY; without even the implied warranty of + + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + + GNU General Public License for more details. + + + + You should have received a copy of the GNU General Public License + + along with this program; if not, write to the + + Free Software Foundation, Inc., + + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++System requirements API Yeah++++++++++++++++++++++++++++++++ + + + + + -Webserver with PHP v5.x support + + + + + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++Configuration Document for API Yeah under XAMPP for Windows++++++++++++++ 1) Please copy the extracted Folder 'api_yeah' to your web server document root directory (i.e.'htdocs'). Now you are able to call the API Yeah Landing Page via Web Browser (http://localhost/api_yeah/m2madm.php). 2) Next open document 'parse_vars.php' with the editor of your choice (eclipse, notepad++, etc.) and fill in the value for sender name between qoutation marks in line 5. If your company name is 'adidas' the sender name would be: "tmo.external.adidas.architecture.ADIDAS:M2M" 3) Now please Login with customer admin account in CRM GUI (Service Portal 2.0) https://m2m-serviceportal.telekom.de and choose "API configurations". Generate API Key only if not exist, otherwise copy existing one and paste this API Key into document 'parse_vars.php' into line 6 between quotation marks. To retrieve your CRM Id just navigate in CRM GUI to "Administration" -> "My Partner Data" and copy the value from row 'Partner ID' (in the first line). Paste this value into line 7, again between quotation marks. If you really want to use API Method SIMActivation you have to care about this next step, but if you follow my advice to use TemplateSIMActivation instead, you can jump on directly to step 5. Here is the Reason why: I strongly recommend to use TemplateSIMActivation instead of SIMActivation, because of the much more efficient scalability for Method TemplateSIMActivation. E.g. you can define SIM Groups, remarks, etc in Template settings and you can assign a preferred Tariff profile for the Activation Templates (in order you have to create tariff profiles). Just give your Activation Templates in CRM GUI speaking names. Afterwards you can use TemplateSIMActivation in API Yeah and you just fill in the Name for the Activation Template Name and thats it basically. But anyway, here we go with the values for API Method SIMActivation: 4) To Retrieve the mandatory Values for SIMActivation (line 12 - 22 in document 'parse_vars.php') you have to decide wich Tariff you want to use for SIMActivation (decision only necessary in case you have more than one Tariff assigned). Go to Dashboard in CRM GUI and set the Filter for column 'Tariff' to your prefered Tariff and click execute filter settings. Click on any productive SIM the green ball (hyper link). In the "Contract details" upper Frame you find row tariff. In this row you find Tariff Name. In the lower frame you'll find all the necessary options (every option who is visible is mandatory). So go ahead and type the tariff name into line 12 between quotation marks and all the prefered option values into line 13 to line 22 in 'parse_varse.php'. Example for Access option: "Private APN"; Please be careful with the values. Every Value is case-sensitive and every space has to be at the right place. A good idea is to copy and paste every value. 5) You accomplished already a successful connection test in M2M Production for file Transfer with ebXML Gateway colleagues. Please refer to the example MMD-XML (Message Meta Document) you got from ebXML Gateway colleagues and open this MMD in a Web Browser (IE or Firefox). Now you just have to carefully transform/copy the values for the name Attributes into line 25 to 31 in document 'parse_varse.php'. Example value for Attribute 'FROM': "ADIDAS"; To fill in the value for Element you have to fill in the absolute path to your Axway Payload directory. Value again between the quotation marks in line 31. Example value: "C:/Axway/Synchrony/Activator/common/data/out/payload/"; 7) Last configuration step is to fill in the values for filepath to MMD directory and to Axway Payload directory. To accomplish that, just use your Windows Explorer and navigate to your preferred location for those files. If you want API Yeah to write the XML files directly into Axway observed directory for file pushing, just use the desired folders for it. You just have to make shure that you use double back slashes for folder separating (C:\\Axway\\...\\) I would strongly recommend to let API Yeah write the Payload in Axway desired folder (payload) but to create a subfolder herarchically under the Axway observed directory for MMDs (transport XML). You will then have the full control of tempo for pushing files to M2M by creating an appropriate cron job for mooving MMDs in the Axway observed directory. A good benchmark for not crashing Telekom B2B Gateway is to transport every 3 Minutes one MMD into target folder. That's it basically. Try your settings with a non writing API Method like GetSIMConfigAccess and let M2M Exception Handling do the Troubleshooting for you :) +++++++++++++++++++++++++++++Tips for Troubleshooting+++++++++++++++++++++++++++++++ If API Yeah is not generating any files for you, please compaire your values in document 'parse_vars.php' with your absolute paths on your Axway Machine (The Folderstructure for Variables $mmd_file_path, $xml_file_path must exist). Make shure that PHP User have proper rights to write in your choosen directory. Ownership can also be a problem. If the paths are correct and your PHP User is able to write files in destinated folders for MMD and Payload, then have a look at your Web Server Logs/Filesystem Logs. Even if this all above not work, change the PHP Logging to default. To accomplish that, just search for error_reporting(0) in document m2madm.php, or m2mmon.php and uncomment this Log Level, by adding two Slashes in Front. Dont forget to delete the uncommenting, after finding the root cause. Because I use several vars who are not global and indeed are not initialized. PHP will remind you everytime about it. Everything will work, but it looks horrible... ++++++++++++++++++++++++++++++++++++++Notes+++++++++++++++++++++++++++++++++++++++++ Normally PHP web server configurations are using limitations for executing scripts. If you are really up to administrate a hughe amount of SIM Cards, you have to increase the default time for executions (30 sec.). To do so, search in 'php.ini' for the string 'max_execution_time' and change the value to -1 (do this only if you are the only person who is using this PHP web server). Restart you http-task and check phpinfo() again. As a benchmark for creation of 2400 MMDs and 2400 Payload XMLs (120.000 comma separated SIM Numbers): API Yeah can do this with a proper machine under 04:30 (mm:ss) ! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ API Yeah is free software, so you can edit every single ASCII character to suit your needs. Go ahead and have fun with it. Sincerely yours, Ole Kollat ----------------------------------------END-----------------------------------------