Did Re Seller User Manual
Did Re Seller User Manual
Did Re Seller User Manual
Installation 2.1 2.2 2.3 2.4 Minimum requirements Installing DIDReseller component for Joomla! CMS Configuration wizard Securing your site 11 12 13 14
DIDReseller Settings Guide 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Component Configuration PSTN Rates Coverage Setup Currencies Payment modules Permissions Departments ITSP Providers Notifier settings 18 21 23 24 25 28 29 30 31 32 35 37 38 39
3.10 Scheduler 3.11 Database management 3.12 Log API 3.13 Forwarding 3.14 Transaction log
DIDReseller Back End Documentation 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 A few words before you start Main DIDReseller Toolbar Dashboard Orders Invoices Payments Users Tickets Statistics 41 42 43 45 47 48 49 52 53 55 56
4.10 Call history 4.11 Settings 5 DIDReseller Front End Documentation 5.1 5.2 5.3 5.4 6 General information Ordering Wizard Registration Form Virtual Numbers Menu
58 59 62 63
DIDReseller Customization Manual 6.1 6.2 6.3 E-mail Notifications Front End Pages Search Engine Optimization Settings 72 74 77
DIDReseller Integration Manual 7.1 7.2 7.3 Mobile Joomla! Joom!Fish Translation manager 82 84 86
DIDReseller Payment Module Development Guide 8.1 8.2 8.3 8.4 8.5 8.6 Introduction Payment Module Files Payment Module Class Methods Payment Module Subscription Payment Module Installation Package Installation Package Settings 89 91 92 94 97 98
How-Tos 9.1 9.2 Configuring Mail Settings Moving DIDReseller To a New Server 100 101
Introduction
info@didww.com | twitter.com/DIDWW
About DIDWW
DIDWW is an inbound service telecom provider delivering complete inbound voice services to customers, resellers and carriers around the world. DIDWW provides global presence to its customers with a footprint of virtual numbers in over 60 countries worldwide. Voice traffic to these numbers is delivered to the customer using a wide range of protocols including all VoIP and PSTN destinations, via our proprietary automated provisioning system and private multinational backbone. In todays changing and dynamic voice environment, we recognize the relevance and importance of DIDs and local telephone numbers for VoIP and VoIM communications. To this end, we have built and assembled infrastructure specifically designed to handle origination services in a stable, efficient, reliable, cost-effective and flexible manner. Hardware is housed in secure data facilities in a number of major centres around the globe, with full redundancy and access to premium network resources. In addition, we are continually expanding our international DID coverage by forging relationships with approved voice carriers, in order to ensure your global access to local phone numbers. DID World Wide has developed business-driven solutions that meet industry standards while offering integrators and resellers the tools to maximize their profitability. Our innovative products enable telecommunications companies as well as independent operating companies to deliver premium, cost-effective voice services to individuals, homes, and businesses in both urban and rural settings. To get more details on the DIDWW Resellers program, please visit this link. By making these commitments, we are able to ensure the highest standards of stability flexibility, while delivering the best possible voice quality to you and your customers.
info@didww.com | twitter.com/DIDWW
Features
The DIDReseller component offers the following features: Front end Friendly Ordering Wizard Self Service Interface Dynamic Dashboard Ticketing System Call History log Orders Invoices Payment History My Details Coverage More info Back end Dynamic Dashboard Modular Widgets Statistic Widgets Reports and statistics Ticketing System Notifiers System Call history Orders and Invoices Payments History Coverage Management Custom Call Forwarding Options Rates and Pricing Setup Payment modules Anti-Fraud
info@didww.com | twitter.com/DIDWW
More info
info@didww.com | twitter.com/DIDWW
Please unzip and run the image using VMWare, it takes 30 seconds to load the system, and then it will display your VM IP Address, for example: http://192.168.138.128 To access user interface (Front-end) please open your browser and visit: http://Your_VMWareMachineIPAddress/joomla/ To access administrator (Back-end) panel please open your browser and visit: http://Your_VMWareMachineIPAddress/joomla/administrator User name: admin Password: demo
You are welcome to play and change what ever you like, it will change only your local copy.
Known issue
If you get "Cannot connect to database" when trying access joomla via web, try to change your VMWare network settings from NAT to BRIGDE, then restart the VM.
info@didww.com | twitter.com/DIDWW
Installation
info@didww.com | twitter.com/DIDWW
Minimum requirements
MySQL 5 and higher Joomla 1.5 PHP 5.2 or later PHP-Soap package PHP MAX Memory size 64 MB 1GB RAM or more OpenSSL
info@didww.com | twitter.com/DIDWW
In Upload Package File area click Browse to find the Component .zip file on your computer. Select the desired file and click Open. Then click Upload File & Install to complete the installation. After installation process, if everything is okay, confirmation message will be displayed. If you can find menu named DIDWW, that means the component is installed successfully. If you click on it, you will enter the components Dashboard.
info@didww.com | twitter.com/DIDWW
Configuration wizard
After installing the component Configuration Wizard appears.
It contains detailed description of base component settings that must configured before start working. Read about component settings in DIDReseller Settings Guide. After you have configured all the settings, Configuration Wizard will look like this:
Wizard will check base component settings every time and will appear if anything is wrong. Click Dismiss configuration wizard to hide it.
info@didww.com | twitter.com/DIDWW
Important! It is recommended to set Entire Site to ensure that your customers do not transfer any sensitive data (like credit card numbers) over insecure connection.
info@didww.com | twitter.com/DIDWW
Choose one of the following settings: Off - menu item will switch site out of SSL mode. Ignore - menu item will have no affect and maintain the current state whether it is HTTPS or HTTP. On - menu item will switch site into SSL mode. Notice: Sometimes Home page skips SSL settings of Menu Item. To fix this, add the following code to configuration.php file:
info@didww.com | twitter.com/DIDWW
Point to Encrypt Login Form and select Yes checkbox. Do not forget to Save changes.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
Component Configuration
Please go -> Components -> DIDWW -> Settings -> Component Configuration. This section consists of 4 tabs.
API Setup
On this page the basic API settings should be configured.
API user and API key are used to authorize your component with the DIDWW API2 account. If you don't have the authorization keys, please enroll for DIDWW Reseller application. If you are testing the component with DIDWW testing environment (sandbox), please set API test mode to Yes, once you are ready to go live with commercial DIDWW account, please make sure it is set to No. Important! The data is different on sandbox and commercial servers, for example coverage, rates, orders and user balances. It is extremely important to backup your component's data before you moving form sandbox to commercial or from commercial to sandbox. To backup your data, please go to Settings -> Database management.
info@didww.com | twitter.com/DIDWW
Test API connection button checks the connection with the DIDWW. If the connection is successful, you will get a message, for example: Sandbox API 2.0.143. Click Save in the Joomla's toolbar, which is in the upper right corner of the screen, before you leave this page.
Each query is sent to Algozone's servers to analyze the data. Algozone charges about 22$ for 5000 queries. You can read more about it and purchase queries by the following link http://www.algozone.com
Site information
This tab is used for specifying required information about the site.
Company name - in this field administrator can set Company's name which would be put under a placeholder {%company_name%} and used in all front-end articles. Component name - administrator can set here string value to change default component name, so that it info@didww.com | twitter.com/DIDWW
would display in all frontend URLs. Company URL - is for companys website. It is put under a placeholder {%company_url%} and also used in front-end articles. Help URL and Support URL fields are used for Advanced Call Forwarding iFrame in order to pass reseller parameters.
Taxation
Taxation tab is used to configure taxes for the service.
Tax name and Tax value (in %) are configured by administrator. Tax specified in this tab will be included to all charges for services. Prices uploaded to DIDWW are tax inclusive.
info@didww.com | twitter.com/DIDWW
PSTN Rates
First, you'll need to import all the termination destinations from your tariff plan at DIDWW account. This is done simple by clicking Update PSTN Rates. Once finished, you should see a confirmation message like SYNCHRONIZED: COUNTRIES - 230; NETWORKS - 1086". Margin can be configured in two simple ways: Default Settings will automatically add the margin to your cost price. Margin can be set in USD or %. Mark Autopublish new rates check box to publish all new rates by default. Mark Autopublish modified rates check box if you want all rates modified on API to be Published while synchronization. Leave clear to make them Unpublished by default. Mark Send update notification check box to receive notification about any automatic changes of PSTN destinations.
Update Settings allow you set the margin manually for all or certain regions.
Now you can see all the countries, prefixes and rates. The cost rates are shown in two columns: Cost rate (in USD) and Local cost (in your default currency). Local sell field shows your selling price. You have several ways to set your selling price:
info@didww.com | twitter.com/DIDWW
Cost from field - Manually by entering the amount into Local sell field. Cost rate + margin - Automatically by entering amount of margin per rate. Cost rate + % - Automatically by entering percentage of margin.
After selecting the type of update, you should click Save and then Update PSTN rates again in order to be sure the rates are updated on the DIDWW side.
info@didww.com | twitter.com/DIDWW
Coverage Setup
This section is about setting your Virtual Number coverage for sale. In this page you can select what countries and cities you are offering to your customers and what is the price. Click Update regions to automatically enter all the available coverage into your database.Now you can set your selling price in two simple ways: Default Settings will automatically add the margin and setup price to your cost price. Update Settings allow you manually set the price for all or certain regions.
Margin can be updated by several ways: Use margin fields - Manually by entering the amount into Margin field. Use total fields Manually by entering the amount into Total monthly field. Add% to DID price - Automatically by entering percentage of DID price. Add value to DID price - Automatically by entering amount of value which will be added to DID price. Use new total value - Automatically by entering one value for all selected cities.
To update Setup price you can use two kinds of settings: Use fields value - Manually by entering the amount into Setup fee field Use new total values Automatically by entering one value for all selected cities
info@didww.com | twitter.com/DIDWW
Currencies
The default currency is USD. To change the currency, click Component -> DIDWW -> Settings -> Currencies. Make sure you set your new currency as Default. Important! If you switch the currency in Production mode, you can have problems with already configured Coverage and PSTN Rates. So do not forget to back up your data in Settings -> Database management.
info@didww.com | twitter.com/DIDWW
Payment modules
In Payment modules section administrator can manage available payment systems.
To enable payment module click the tick in the Active column. In the Label column you can change the name, and in the Mark column - the description of payment system, that will be displayed in front-end Payment method form.
Important! You must set the same default currency in all Payment modules and Currencies section. Otherwise you can have problems with the billing logic of the site.
To configure payment module click Settings next to it. You can install your own payment modules through Upload File & Install field. To know more about payment module development, please read DIDReseller Payment Module Development Guide.
WebMoney Settings
WebMoney payment module should be configured in the following way:
info@didww.com | twitter.com/DIDWW
Test mode on select Yes if you are working on Sandbox and do not want money to be transferred. Select No if you are ready to work in Commercial mode. Enter your WMID number. If you are registered with WebMoney system, you have obtained Web Money Identification (WMID) number made up of 12 digits. If you have no WMID number read here how to get it. Enter your Purse number. Every purse is attached to WMID and also consists of 12 digits, but has a prefix denoting funds it is intended for. Simulation mode type - select Success. Enter your Secret key which is defined in your WebMoney Account Profile. Select an appropriate Checkout interface (ENG or RUS) Enter Link to URL if success and if payment is successful customer will be transferred to the page you have entered. Enter Link to URL if failed and if payment failed customer will be transferred the page you have entered. Change balance automatically select No.
PayPal Settings
PayPal payment module should be configured in the following way:
Test mode on select Yes if you are working on Sandbox and do not want money to be transferred. Select No if you are ready to work in Commercial mode. Business account - enter your PayPal business account e-mail address. If you do not have a PayPal info@didww.com | twitter.com/DIDWW
business account, you can create one at the PayPal Web site. Enter Link to URL if success and if payment is successful customer will be transferred to the page you have entered. Enter Link to URL if failed and if payment failed customer will be transferred the page you have entered. Enter preferred Currency Code. Change balance automatically select No. Allow subscription select Yes if you want to allow PayPal subscriptions on your web-site and No if not.
info@didww.com | twitter.com/DIDWW
Permissions
In Permissions section you can set different types of access for a single administrator or a group of them.
In the Filters drop-down list choose the whole Administrators group or a preferred user. In Permissions list opposite to Resource name set the level of access (Acces denied, Readable access, Writable access). Important! If access to Payments is Readable user will see only 4 last digits in all Credit Card numbers and CVN codes. If Access Denied, all Credit Card numbers and CVN codes digits will be hidden.
info@didww.com | twitter.com/DIDWW
Departments
Departments section is used to configure departments for the Ticket system. The main window consists of two blocks.
Users block contains all back-end users from the Administrators group. Departments block displays all departments with the lists of users. They can be edited and deleted by clicking appropriate buttons. To create new department, click New department, enter department name and click the tick. Then you can drag users from the Users list. Click Save to save your settings.
info@didww.com | twitter.com/DIDWW
ITSP Providers
This section is very simple, not much to set, only button that allow you to update your ITSP list and Get ITSP logos button for articles. Go to the Component -> DIDWW -> Settings -> ITSP Providers and click Synhronize ITSP Providers. Once finished, the system displays, for example, New networks added: 121. The list of all approved ITSPs is managed on DIDWW Directory
info@didww.com | twitter.com/DIDWW
Notifier settings
This section is used to configure sending notifications when any system event occurs (new user registration, order creation, etc).
Notifier settings contain several blocks: Users block shows users who can receive notifications. Departments block displays all departments. Custom e-mails block contains the list of additional e-mail addresses to which notifications can be sent. To add new e-mail address, enter it in the New e-mail field and click Add. Events block displays the list of events and their settings. Checkmark in the E-mail column indicates whether to send notifications or not when this event occures. Drag desired users, departaments or e-mail adresses to the Addresses column. Important: Two identical users cannot be added to a single event notification. So when you add department to the event that already contains users from this department, these users will be deleted from the list automatically.
To delete an item from the Addresses list, click the cross on this item. Click Save to save your settings. Read more about Notifications in DIDReseller Customization Manual
info@didww.com | twitter.com/DIDWW
Scheduler
The Scheduler section (Dashboard -> Settings -> Scheduler) contains a list of tasks, which should be automatically executed from time to time, for example check if there is new version, download call history, update coverage, generate invoices for calls and etc. Website administrator can specify time intervals (in minutes) for each task. Task can be executed automatically by clicking Execute.
Scheduler plugin can be used for task execution on pages, but due to Joomla access limitations to the system, automated tasks are performed only when other taks were performed manually. For example, if it is time to perform call history update, but nothing has been done on the website by user or by administrator, the task will not be performed until someone performs any manual task like add funds, change mapping or approve order. However, if you do have access to the system and can edit Cron service, there is a solution for making all tasks run regardless of any other operations. First, administrator should enter the scheduler key in Dashboard -> Settings -> Component configuration -> Scheduler key field.
info@didww.com | twitter.com/DIDWW
The number is just a task identification key, which can be any number of random characters, for example "test999". Now, everytime when somebody accesses the following URL: "http://yoursite.com/index2.php?option=com_didww&c=cron&key=test999", all automated tasks, which are ready to run according to your Scheduler, will be performed. You can also execute the particular task regardless of whether its ready to run or not, by entering the task name. Coverage update example: "http://yoursite.com/index2.php?option=com_didww&c=cron&task=%20AutoCoverage&key=test999" Now, just edit your cron configuration file (type on ssh# crontab e) and use wget command to access the URLs automatically. Configuration example: Execute all ready to run tasks every 15 minutes: */15 * * * * wget -qO /dev/null "http://yoursite.com/index2.php?option=com_didww&c=cron&key=test999" Read more about wget command here, and about Cron here.
info@didww.com | twitter.com/DIDWW
You can also change Scheduler settings for only Front-end, only Back-end or for both Front-end and back-end. To do this, go to Extentions -> DIDWW Scheduler plugin -> Parameters and select desired option in the Run on drop-down list.
info@didww.com | twitter.com/DIDWW
Database management
This section is used to manage system backup and restore operations. Database management settings are divided into several tabs and very simple. Backup tab is used to Make a backup with options to Download and Delete dump.
To restore backup click Browse and choose an appropriate file from your computer or select an appropriate backup file from the Restore drop-down list. Purge data contains Clean up button that cleans up all component database including all orders, payments, invoices and other data. Important! Be sure you have made a backup before using this option.
Load test data cleans up all the data similar to the previous tab, and loads test data. DIDReseller User Manual - 35 info@didww.com | twitter.com/DIDWW
Test data include already created test users with their orders, payments and invoices. This option is useful if you have just installed the component and want to know how it works. Setup tab contains settings for backup management.
Select database tables to be included into the backup. It is recommended to Select all of them. Then enter Path to the folder with backup files. Select Compress the backup file checkbox to compress the backup data into a .zip file.
info@didww.com | twitter.com/DIDWW
Log API
Log API section contains log records generated for all requests to API . Log list includes request parameters, dumps, API functions and other data. This table can be exported to XLS file and cleaned by clicking appropriate buttons on the Joomla toolbar.
info@didww.com | twitter.com/DIDWW
Forwarding
Forwarding section contains list of supported services which calls can be forwarded to.
DIDWW resellers can offer certain types of forwarding to Beta Testers only, open to all users if enabled, or disable forwarding at all. To disable forwarding click the the icon in Enabled column, and vice versa. To open forwarding for beta testers only, click the icon in Beta mode column. Any user can be made a beta tester in User Details. To edit Forwarding details click on it's name. Details contain the name and type of the forwarding, Setup and Forwarding prices, order number in the list and option to Enable/Disable it. To add new custom ITSP click New on the Joomla toolbar. Then fill in all required details, choose protocol and enter providers host. Save your changes.
info@didww.com | twitter.com/DIDWW
Transaction log
Transaction log allows tracing the ordering process from its creation on the API to suspension of service.
Transaction list contains log records about approval, cancellation and renewal of orders on the API including order IDs on the API and in the component, information about DID numbers, transaction values (cost rates) and API response codes. Place the pointer on the API response code to see error description.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
My Balance - Resellers Balance with option to update it. Customers Balance is a total amount of all customer balances. It is clickable and links to a User Management page listing customers ordered by balance amount. lick the graph icon next to Customers Balance to see Customer Balances Chart. Global Search is case-insensitive search engine that makes searches accordingly to users access permissions. Current component version with option to check whether a new update is available.
Updating the system enables the latest available improvements to be installed to your component. It works rather simple. When a new version of the component is released, the green arrows icon near the number of version turns to an icon with blue arrows.
If you click this icon, a modal window Upgrades available will appear. You will be offered to install new version automatically and to read the Changelog. If everything goes well, after update processing you will see a message Update is complete and Update log with a list of upgrade steps that have been performed.
If there is any problem, error message appears with detailed description of the problem.
info@didww.com | twitter.com/DIDWW
Dashboard
Dashboard contains modular and statistics widgets that can be configured in many ways.
Modular Widgets
Modular Widgets represent general data of one or several component modules. Basically it is a table which can be configured by number of entries displayed, filtered and searched by all fields.The number of modules displayed may vary depending on user permissions. An example of modular widgets is Summary. It collects the information about orders and payments and consists of 3 blocks.
Orders to cancel - overdue orders that must be canceled. Orders requiring attention these orders will expire in less than 7 days and there is not enough funds to pay for them on users balances. Orders ready to process - these orders will expire in less than 7 days and they can be executed by clicking Process Orders.
Statistic Widgets
Statistic Widgets represent last month statistic reports created in Statistics section and added to the Dashboard.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
Orders
This section contains Order list table that can be exported to CSV file by clicking an appropriate button in the Joomla toolbar.
lick the icon it the Details column to view order details. Order details contain all the information about this order including invoices connected to it.
In this tab you can change the number of months in the billing cycle, forwarding destination and prices. Important! Prices, which you change will be used for the next invoice instead of actual prices at that moment.
info@didww.com | twitter.com/DIDWW
Each order can be approved, rejected and checked for fraud prevention (if Anti fraud Module was previously configured). When you approve or reject an order you can select whether to notify customer about it or not.
Important! If you approve an order with a DID number that was assigned to terminated order and select not to notify the customer, the terminated order will be closed and its customer will not receive notification too.
Click Check Fraud to get a risk level score and the information about the customer which has made an order. It helps to monitor and detect all online orders for fraudulent transactions. In Comments tab any notes related to this order can be entered. Activity log contains a list of all the changes made to orders. Transaction log contains contains log records about approval, cancellation and renewal of orders on the API including order IDs on the API and in the component, information about DID numbers, transaction values (cost rates) and API response codes.
info@didww.com | twitter.com/DIDWW
Invoices
List of all invoices with ability to filter them by Customer, Date period, Status, and Type.
info@didww.com | twitter.com/DIDWW
Payments
This section is similar to Orders. Payment list table can be sorted, filtered and exported to CSV file, and payment details can be shown the same way.
Payment details contain the information about this payment. Payment module info tab is shown if customer has chosen one of payment methods and includes payment system details and requisites.
Important! Make sure the order is paid before approving the payment.
All services are charged from prepaid balance. Credit cards and other paument methods may be used only to top up prepaid balance of the customer. If user balance does not have enough funds for current order, this order will be created with Pending status.
info@didww.com | twitter.com/DIDWW
Users
User Management
User management tab contains list of all registered customers. Click the icon it the Details column. User Details page contains detailed information about the customer, personal and Credit Card info, lists of last orders, payments, invoices, tickets, and call history. Mark Beta Tester check box in User info block if you want this user to have access to all types of forwarding in Beta mode. Read more about it in Forwarding section.
In the Last Orders table administrator can renew several orders by a single action. To do that, mark check boxes of preferred orders and click Renew Selected. Pay attention that there is no check boxes if order status is not Renew.
If customer has not enough funds on balance to renew all selected orders, system will renew only orders within the limits of the balance, which have the earliest expiration dates.
info@didww.com | twitter.com/DIDWW
In the Add funds block administrator can refill users balance in case of cash payment or some payment system failure. It's necessary to add a comment in this case.
Create order for customer form is similar to front-end Order form and is used to create orders for customers with or without notifying them.
info@didww.com | twitter.com/DIDWW
Status Management
Status management tab includes customizable user groups with options to automate operations with orders and payments for these groups. Click the group name to see Details where event tasks for this group can be configured.
Order automatization is used to auto approve/reject orders when user pays from balance. If there is not enough funds on user balance, order will be created with Pending status and won't be approved automatically. Renew automatization is used when AutoInvoice Scheduler task is executed to renew orders that will expire in less than 7 days. If Auto renew check box is selected, these orders will be renewed and paid from user balance automatically. Payment automatization is used to auto reject payments if customer pays through offline payment method. If users Credit Card has expired, payment will be added with Pending status.
To create new user group click New on the Joomla toolbar, fill in all required details and Save your changes. Status can be changed for each user in User Details.
info@didww.com | twitter.com/DIDWW
Tickets
This section is used to answer existing ustomer tickets or to create new ones. Super administrator can see all the tickets, other administrators - only tickets for their departments. The number of active tickets is shown on the main toolbar.
By default only active tickets are displayed in Ticket list table. Click button with the red dash next to the ticket to close it. To view closed tickets, select Closed filter and click Go. Click button with the green cross to make ticket active. Click on the tickets name to open it and click Correspondence to see tickets history. New ticket can be created from Tickets section by clicking New on the Joomla toolbar -or from User Details by clicking Create a ticket on the Joomla toolbar. On the New ticket page fill in all required details and click Create.
info@didww.com | twitter.com/DIDWW
Statistics
This section is used to generate reports for the system data. To create a new statistic template press the PLUS SIGN (+) next to List. You will be transferred to the template constructor, which consists of several blocks.
In the Settings block the name of new statistic report can be entered. Select To Dashboard check box to add this statistic report to the dashboard. Select the Global check box to make it visible to all back end users. Only Super Administrator can change it. Modules block contains modules available for the statistics. A visible list of them depends on your access permissions to these modules. Functions block includes functions of data processing. The AVG function calculates the average value for the current period, and the Difference function counts the difference between current and prior data. Table configuration is the main block where you can create a report template. Drag any module from the list of Modules into a free field of the Table configuration block. Select the type of data for the report in the drop-down list. You can change the order of blocks and add Functions for subsequent data processing by dragging them to the right column of the block. Click Save to save the statistic report template. Previously created templates can be added as a widget to the dashboard, edited or deleted using appropriate buttons.
info@didww.com | twitter.com/DIDWW
To view any statictic report, click on its name. To view a sample of several reports, select their check boxes and click Show. In the Result graph select date intervals and click Show. Results are displayed in a graph and a table, which columns correspond to lines of the graph. When creating or viewing the report, results are cached in the database for quick access later. When editing the report these data are deleted. Result examples:
info@didww.com | twitter.com/DIDWW
Call history
This section displays Call history list that can be filtered by customer, date and status. To get the most actual data click Update on the Joomla toolbar.
Important! When updating the data user balances will be synchronized with DIDWW server and funds spent on these calls will be written off user balances.
Billed to user (UAH) column shows call prices for customers. Currency in this column is configured in Currencies section. Billed ($) column contains call prices for Reseller.
info@didww.com | twitter.com/DIDWW
Settings
Before start working with DIDReseller component, it must be properly configured in the Settings section.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
General information
Once installed the DIDReseller component, new modules will appear on your Joomla's front page, named DIDWW order form and Virtual Numbers Menu. To edit this modules enter admin part of the site as administrator. Then go to Extensions -> Module Manager -> Select Position drop-down list -> left and click module you want to edit. Important! These modules are set to left position by default. So if they did not appear on your Joomla website, change their position according to your template.
info@didww.com | twitter.com/DIDWW
Ordering Wizard
DIDWW order form is an actual service purchase wizard for your customers. Here they select location and forwarding destination to make an order. This form can be fully re-customized using component's administration options such as Coverage, PSTN rates and Forwarding settings.
After clicking Continue customers are redirected to Order Summary page with options to set payment periods and to make prepaid payment. If customer is not logged in he will be offered to log in or register.
info@didww.com | twitter.com/DIDWW
On the Step 2 end-users can request Proforma Invoice by selecting the appropriate check box.
All Proforma invoices have unique number, different from a usual invoice sequence. It is not tax document and doesn't replace usual invoices. Proforma invoices can be generated after ordering procedure from My Invoices page regardless of order approval. In addition, on this page customers select payment method and enter all required details or pay from balance if they already have funds on it.
info@didww.com | twitter.com/DIDWW
When customers click Create order the administrator will be immediately informed about new orders to be processed.
info@didww.com | twitter.com/DIDWW
Registration Form
DIDReseller for Joomla requires a little bit more fields than original user registration form. This leads sometimes to the situation when user registering via Joomla native registration links and several fields are missing. In this case, on the first customer's login, component will ask the user to fill all the missing fields.
Once registered, an activation link will be sent to the the user (activation process may be disabled using Joomla settings).
info@didww.com | twitter.com/DIDWW
The data output can be configured by clicking appropriate buttons on the widgets, dragging them with the mouse, and clicking on the widget names in the panel of available widgets. The list of widgets available to customers is managed by administrator in Extensions -> Module Manager -> Select Position drop-down list -> vnumbers_dashboard.
info@didww.com | twitter.com/DIDWW
PSTN Rates
This page contains a list of PSTN rates with option to filter it by country. PSTN rates are configured by administrator. Read more about it.
List of available locations is configured by administrator in Coverage Setup. ITSP list page displays the list of available VoIP Providers. If you have no such item in your Virtual Numbers Menu, read how to add it. DIDReseller User Manual - 64 info@didww.com | twitter.com/DIDWW
Call forwarding page contains supported forwarding destinations configured by administrator in Forwarding. Read about articles for Coverage and Call Forwarding pages in Customization Manual.
My Details
My details page contains customers details, payment preferences, information about credit cards and subscriptions. In My details block customer can edit personal details and set the minimum balance amount if he wants to receive notification when balance is less than this amount. In Payment Preferences block customer can assign credit cards the following operations: Payments for new orders payments will be created from this card (here customer can change the default card for order creation); Payments for orders renewal automatic payment will be created from this card when orders are renewed; Payments for PSTN charges - automatic payment will be created from this card when customers balance if less than the sum of minimum balance amount and balance limit.
If Balance is selected for these operations automatic payments will not be created.
In My credit cards block customers credit cards can be added and deleted.
In My subscriptions block customers can manage their periodic payments through chosen payment systems.
info@didww.com | twitter.com/DIDWW
My Services
This page contains a list of customer's orders with option to view Details of each order.
Order details contain the detailed information about the order and payments history. If the order has an Active status (has been already approved by administrator), customer can change forwarding, billing cycle, and enable/disable the automatic renewal of the order.
info@didww.com | twitter.com/DIDWW
My Invoices
This page contains a list of customers invoices. Click Generate to request Proforma invoice or click its number to view it. To view details of any invoice click View.
info@didww.com | twitter.com/DIDWW
My Payments
This page contains a list of all customer's payments with option to filter them by date.
To create a new payment click Add Payment. In the next page select payment method, its amount, fill in all required details and click Proceed. * Important! Payment amount cannot be less than the minimum amount.
Then if customers select offline payment method, message "Payment is on moderation" appears. If online payment method is selected, after clicking Proceed customers will be redirected to a site of payment system, where they should enter details and complete the payment. When administrator approves the payment, customer receives e-mail notification about it. List of available payment methods can be configured by administrator. Read here more about it.
info@didww.com | twitter.com/DIDWW
Tickets
When customers have any questions or problems about using the system, they can send tickets to admin departments. This section includes list of tickets divided into 3 tabs.
Active tab contains all open tickets. Tickets With replies include messages sent or answered by administrator. Closed tickets were closed by customer or administrator.
To create a ticket click Create a new ticket, then in the New ticket page enter a Title, select the preferred department, type the message and click Create.
The ticket will be delivered and all users from selected department will receive a notification about it. Read more about departments in Settings Guide.
Call history
This section displays the history of customers calls with option to filter out samples by number, date and status. Click Update to get the most actual data.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
E-mail Notifications
All emails sent either to customer or to administration staff are stored as joomla articles. To edit an article, please click on Content--> Article Manager, then filter section "Virtual Numbers", category "System". All notification articles named "Notifier: xxxxxxx". You can edit desired article and use following variables:
Standart variables:
{id} ID of notified object {date} event date {url} URL for details
Client:
{client_id} ID {client_name} full name {client_username} login {client_email} e-mail {client_usertype} client's type {client_gid} group ID {client_registerDate} registration date {user_url} link to User details in the Backend
For tickets:
{title} ticket title {message} ticket message {status} ticket status
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
Enter preferred Title, select Section Virtual Numbers, and Category System.
Enter Alias: [type of forwarding]-forwarding-description. [type of forwarding] can be skype / gtalk / itsp / pstn / voip / citsp. Type the description you want, avoiding tables and large forms. Text shouldnt be very long. Article alias for custom types of forwarding must look like this: [system name]-forwarding-description. Important! Previously created custom forwarding should have short and simple System name without spaces and special characters.
info@didww.com | twitter.com/DIDWW
In case when payment system includes subscription option alias of this article should be [payment system name]-payment-subscription. If you want to create payment processing article for new payment system, use alias mentioned above, and the following sample:
info@didww.com | twitter.com/DIDWW
Check whether Yes checkbox is selected for Search Engine Friendly URLs.
info@didww.com | twitter.com/DIDWW
Then in Component configuration -> System tab you should choose On or Off in the Customized SEO URL's drop-down list and then click Save. If On is chosen, front end component URLs are unique and user friendly. You can edit URLs in the following .ini files: joomla_root/language/en-GB/com_didww.route.coverage.ini joomla_root/language/en-GB/com_didww.route.forwarding.ini You also can install easy-to-use Translation manager to edit these .ini files. Read more about Translation manager in our Integration Manual. For every single page definite placeholders are required, so you can change anything you want except them. The following placeholders can be used: {%fwd%} - Type of the Call Forwarding Destination {%country%}, {%city%}, {%prefix%} Country, City, and City prefix, which are selected by the customer for a DID number ordering {%fwd_country%} - Forwarding country (where calls are forwarded to) {%fwd_prefix%} - Forwarding prefix {%network_name%} - PSTN Network name {%itsp_name%} ITSP Provider name
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
Important! Check whether Yes checkbox is selected for Search Engine Friendly URLs in Site -> Global configuration.
Then in Component configuration -> System tab -> Forwarding menu ID drop-down list select one of the following options: On (recommended)- To make sure that the right menu is chosen, administrator can set definite menu ID, which can be found in Menus -> desired menu -> ItemID column. In this case URL to Provider's page will be generated according to selected Menu. Auto (set by default) - Automatic menu ID search by URL. Can be used if there is only one menu item, otherwise ItemID can be identified incorrectly. Off - none of menu items is used.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
Mobile Joomla!
To make working with DIDReseller more flexible and easy, we would recommend to install some additional components, such as Mobile Joomla!, Joom!Fish, and Translation manager.
Configuration
To configure Mobile Joomla! Settings, go to Components -> Mobile Joomla! -> Settings.
Read about Mobile Joomla! settings and configurations in official documentation. Most settings are configured by default. To add DIDReseller menu to your site, click the Smarthphone (XHTML) tab, then point to Mobile Joomla Template API Settings and set left page element in the drop-down list for preferred module position.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
Joom!Fish
Joom!Fish is a multilingual content manager which allows to present website in multiple languages or better localizations.
Installing Joom!Fish
Download the latest version of Joom!Fish or browse for other versions. Then install component from the Extensions -> Install / Uninstall screen. If everything goes well, you will get a confirmation message.
After successful installation you can find menu named Joom!Fish with new menu items.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
Translation manager
Translation Manager component is a valuable tool for translating static texts used in core, components, modules, plugings and templates.
Download the latest version of Translation manager or browse for other versions. Then install component from the Extensions -> Install / Uninstall screen. If everything goes well, you will get a confirmation message.
To edit any language translation, select that language, for example, Administrator [en-GB] English(United Kingdom), and click View Files. This will show the list of language files.
info@didww.com | twitter.com/DIDWW
To edit file, for example, com_didww, select it and click Edit. This shows the string editing screen for the com_didww.ini file.
In the Edit Translation INI File screen you will see strings and textboxes, as well as the strings to type your translation. Change the strings accordingly, and click Save. Read more about Translation manager here DIDReseller User Manual - 87 info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
Introduction
Each payment method for DIDReseller component can be done as a separate module. Online modules can accept payments from different payment gateways and online processing centers, but offline only collect required information about the payment. DIDReseller payment system consists of 3 abstract classes:
The base class DidwwPayment has 2 abstract methods: 1. 'isValid ()' - used for validating user inputs from the component side. Method signature /** * check user inputs
info@didww.com | twitter.com/DIDWW
* @param array $data * @return bool * * */ abstract function isValid($data=null) 2. 'getDefaultconfig ()' - used for initializing default configuration array. Method signature /** * @return array defaul config array when initialized at first time */ protected abstract function getDefaultConfig() DidwwOfflinePayment extends DidwwPayment and has one more abstract method 'proceed ()', which contains logic for creating pending payments. DidwwOnlinePayment extends DidwwPayment and has an additional important attribute submitUrl. This is a payment gateway URL for requests processing. Important! The methods given in Italic type in the class diagram are abstract and they must be overriden.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
For online payment module should be added an option to process callback request from the payment gateway. In this case controller has a special task that calls the 'notify ()' method. This method is used to validate transaction according to the gateway specification by security key or any other algorithm. Method signature /** * validate online request and create payment */ abstract function notify(); Check if the transaction is unique, then bind and save jTablePayments object with preferred status. Important! Even if you create a payment with an Active status (jTablePayments::DidwwPayApproved), it must be synchronized from admin panel to change current balance of the customer.
Methods 'success ()' and 'cancel ()' are used to redirect user from the payment gateway. The 'prepare' method is called before drawing an HTML form in the online payment module. It can be used for generating input hidden fields with an 'addField' method. Method signature /** * logic before payment processing * for ovveriding in other payment modules */ protected function prepare() {} Code example function prepare() { // Create new hidden field $this->addField('notify_url', JURI::root().'?option=com_didww&c=payment&task=notify&module=mytest');
info@didww.com | twitter.com/DIDWW
// any other code } 'notify_url' is used for a check of the verification message sent by the payment getaway. It should be changed to other parameter name according to the payment gateway specification.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW
'business'=>$this->paymentData['business'], 'ord_id'=>$order_id, 'user_id'=>$this->paymentData['custom'], 'status'=>SUBSCR_STATUSES::STATUS_ACTIVE, 'amount'=>$this->paymentData['mc_gross'], 'period'=>$oTable->did_period ); DidwwSubscriptionsHelper::createSubscription($params); ... // @todo add code here if subscription canceled $subscriptions = JTable::getInstance('Subscriptions'); $subscriptions->setTblKey('subscr_id'); $subscriptions->load($this->paymentData['subscr_id']); $subscriptions->status=SUBSCR_STATUSES::STATUS_INACTIVE; $subscriptions->store(); ... } Add field self: : SUBSCR_CONFIG.NAME to the 'getDefaultConfig()' method return array to set option for administrator to enable/disable subscriptions for this payment module. Code Example public function getDefaultConfig() { return array( self::SUBSCR_CONFIG_NAME => 0, ... ); } DidwwOnlineSubscription class contains the following methods: * 'setPaymentAmount()' method is used to set payment amount for specified subscription period. Method signature /** * set payment amount, reccuring amount, onetime amount * @see DidwwPayment::setPaymentAmount() */ Code example function setPaymentAmount($amount, $reccuring_amount = 0.0, $onetime_amount = 0.0) { if($this->getAvailableSubscr()) { DIDReseller User Manual - 95 info@didww.com | twitter.com/DIDWW
{ $this->reccuring_price = $reccuring_amount; $this->_subscription->amount = $reccuring_amount; }else { parent::addField('amount', $amount); } parent::setPaymentAmount($amount); } * 'renderUnsubscribeButton()' method is used to generate button for subscription cancellation. Method signature /** * render html-code to cancel subscription * @param mixed $subscr_id */ Code example function renderUnsubscribeButton() { return '<A HREF="'.$this->submitUrl.'?cmd=_subscr-find&alias='.urlencode($this->config->get('business')).'" target="_blank" > <IMG BORDER="0" SRC="https://www.paypal.com/en_US/i/btn/btn_unsubscribe_SM.gif"> </A>'; }
info@didww.com | twitter.com/DIDWW
The SQL folder contains the install.sql file, where SQL code can be entered if needed.
All other necessary files for your payment module have a random structure, but have to be described in configuration package file with their paths.
info@didww.com | twitter.com/DIDWW
The <folder> tag describes server folder where files will be saved. If this folder does not exist, it will be created. The path attribute specifies the path to a folder relative to the Joomla! root. The <file> tag describes files, which will be saved to appropriate folder defined in <folder> tag. The name attribute is optional and describes the path to the file relative to the installation package. In the example above, file1.php and file2.php from the package will be installed to the Joomla folder /administrator/components/com_didww/ and placed into /admin folder.
info@didww.com | twitter.com/DIDWW
How-Tos
info@didww.com | twitter.com/DIDWW
Select one of methods (PHP mail function, Sendmail, or SMTP Server) for sending e-mails from the Mailer drop down list. In the Mail from field enter the e-mail address that will appear on all e-mails sent out by the web site (for.example@gmail.com) In the From Name field enter the name that will appear in the From field on all e-mails sent out by the web site. For example: DIDReseller. Sendmail Path field displays the path to the Sendmail program on the host. This field is only used if the Mailer field is set to Sendmail and the mail server is running the Sendmail program. If the Mailer field is set to SMTP Server: Set SMTP Authentication to Yes; Select type of SMTP Security and enter SMTP Port according to your mail server settings; Enter Username and Password for the account in SMTP Username and SMTP Password fields; SMTP Host is normally set to localhost if the mail server is on the same machine as the web server, but it may be necessary to check this detail with the hosting company, as appropriate, if this is unclear.
info@didww.com | twitter.com/DIDWW
info@didww.com | twitter.com/DIDWW