Ditutup

Filtered mailing and crediting system

We need a system that helps us set up a userbase on which a third party can send mailings to in order to have the users participate on polls. The third party notifies us when our users have participated, so we can give them credits for it.

The userbase will be built based on several internet communities.

The look and feel of those communities will be used in the mailings to the users mailed. So it is important to know from which community the users came.

You will need? knowledge of vBulletin, phpList, general php coding and cron jobs.

## Deliverables

I need a coder with knowledge of vBulletin, phpList, general php coding and cron jobs.

I need the following to be built:

- A vBulletin installation where users can register themselves providing us with profile field information.

- One of the profile fields will be the name of the website where the users learned of our website (refering-site). The refering-site profile field must be a drop down option, because we will need to make a phpList template for each possible refering-site.

- As any user registers or updates his profile in vBulletin, his name and e-mail address are automatically registered/updated in phpList. This should be done with vBulletin hooks! vBulletin php files may not be altered!

- As any user registers in vBulletin, an already existing SOAP command (web service) should get called, registering the new user in a database of a third party along with SOME of his profile fields. Again: this should be done with vBulletin hooks! vBulletin php files may not be altered!

- When a user deletes his account, an already existing SOAP command (web service) should get called to let the third party know.

- Upon registrationg, the web service returns the third-party-ID for each user, which should be stored in a hidden, not editable profile field for that user.

- As any user updates his profile in vBulletin, an already existing SOAP command (web service) should get called, updating the user in the user in the third party database. But only if the update affects one of the profile fields that is communicated with the third party. (Not all profile fields get communicated!)

- The third party may occassionaly order us to do a mailing, by calling the mailing-order-script with a simple HTTP request. This script doesn't exist yet.

When calling the script, the third party will provide:

? ? - an array of third-party-IDs of the users that the third party wishes to mail. (The third party will select the desired users based on the profile fields which the third party received with the web service.)

? ? - the name of the website that is to be linked to in the mailing (mailing-link-subject).

? ? - a specific variable, that is to be used in the url of the link (mailing-link-ID).

? ? - the maximum amount of credits (max-credits) a user can earn for doing what he is told in the mail.

? ?

When called, the mailing-order-script should:

- check if the caller is allowed to call the script

- create a new php-list list.

- add all the users mentionned by their third-party-ID to the new php-list list.

- mail those users a template using phpList, with the mailing-link-subject and the mailing-link-ID as well as the third-party-ID its self parsed into that template.

- the template to be used is based per user, and is based upon the refering-site from which the user learned of our website. So the mail can get the same look and feel, like that of the website where the user originally came from.

Because the third-party-ID is also parsed into the mailing, the third party can track the user.

At some point the third party may choose to have us give credits to the user.

To do so, the third party calls the give-credits-script (simple HTTP-request), providing the third-party-ID.

The third party will also provide the amount of credits earned, so we can give them to the user (credits-earned).

And the third party will also provide the mailing-link-ID again, so we know what mailing caused the user to earn those credits. Just for the logs.

The give-credits-script should:

- check if the caller is allowed to call the script, based on a list of allowed IP addresses.

- give an amount of "credits-earned" of credits to the third-party-ID, by raising that user's total credits in the credits table.

The credits table only consists of 2 columns: 1) third-party-id (primary key). 2) the user's total credits.

- log in a logging-table that at this exact time, third-party-ID got "credits-earned" of credits, because of mailing-link-ID

So the logging table has 5 columns: 1) a generic auto-increment fiel (primary key). 2) third-party-ID. 3) amount of credits. 4) timestamp. 5) reason for giving.

- mail that user another template using phpList, notifying the user of the raise in credits.

- the template to be used is again based on the refering-site.

BEWARE:

It might be that PHPlist doesn't support using multiple templates within one list. It might need you to edit php files of phpList, or create multiple lists and send them for each single mailing order.

example:

users Gerard, Phillip and Pierre, registered on our website after having seen it on [url removed, login to view]

while registering, Gerard, Phillip and Pierre state their full names, e-mail addresses, birth dates, city of residence and the fact that they know of us from [url removed, login to view]

When our system registers Gerard to the third party with the web service, the third party returns third-party-ID 4.

When our system registers Phillip to the third party with the web service, the third party returns third-party-ID 6.

When our system registers Pierre to the third party with the web service, the third party returns third-party-ID 7.

The third party never receives the names or email addresses of our users, only certain profile fields. In this example, the third party only receives the birth dates and the refering-site.

users Bernard, Paul and David, registered on our website after having seen it on [url removed, login to view]

while registering, Bernard, Paul and David state their full names, e-mail addresses, birth dates, city of residence and the fact that they know of us from [url removed, login to view]

When our system registers Bernard to the third party with the web service, the third party returns third-party-ID 1.

When our system registers Paul to the third party with the web service, the third party returns third-party-ID 5.

When our system registers David to the third party with the web service, the third party returns third-party-ID 8.

The third party never receives the names or email addresses of our users, only certain profile fields. In this example, the third party only receives the birth dates and the refering-site.

users Hendrik, Jan and Henk, registered on our website after having seen it on [url removed, login to view]

while registering, Hendrik, Jan and Henk state their full names, e-mail addresses, birth dates, city of residence and the fact that they know of us from [url removed, login to view]

When our system registers Hendrik to the third party with the web service, the third party returns third-party-ID 2.

When our system registers Jan to the third party with the web service, the third party returns third-party-ID 3.

When our system registers Henk to the third party with the web service, the third party returns third-party-ID 9.

The third party never receives the names or email addresses of our users, only certain profile fields. In this example, the third party only receives the birth dates and the refering-site.

At a specific point, the third party will call on us with the mailing-order-script, ordering a mailing.

In this example, the third party is wants to mail people in the ages between 18-21, living in Holland and Germany.

Because the third party already knows the birth dates and the refering sites, the third party picks out third-party-IDs 1, 5 and 9 (without knowing how they really are).

The third party provides the mailing-link-subject: "Which country is the best?"

The third party provides the mailing-link-ID: 457

The max-credits is: 10

The mailing-order-script should now put users Bernard, Paul and Henk into a phpList list.

Either the mailing-order-scripts its self, or a Cronjob, should start the mailing to that list.

Bernard and Paul get mailed with the GermanyRules-template.

Henk gets mailed with the HollandSoccer-template.

The template could look like:

Hello $name,

We would like to ask you some questions regarding $mailing-link-subject~.

Please come to [url removed, login to view]$third-party-ID&order=$mailing-link-ID

Doing so may earn you up to $max-credits credits, so don't hesitate.

We hope to see you soon!

In this example Paul would receive a mail in the GermanyRules look-and-feel containing the text:

Hello Paul,

We would like to ask you some questions regarding "Which country is the best?".

Please come to [url removed, login to view]

Doing so may earn you up to 10 credits, so don't hesitate.

We hope to see you soon!

In this example Paul and Henk go to the site. Bernard chooses to ignore the mailing.

Paul and Bernard both go to the url in the mailing.

Henk answers a few questions, but then decides to quit before finishing.

So the third party never calls the give-credits-script to have Bernard credited.

Paul answers all the questions on that site.

The third party calls on our give-credits-script and orders us to give 10 credits to paul's third-party-ID.

Paul's credits in the credits-table get raised with 10. And the transaction is logged in the logging-table.

Paul now receives another email using another template based on the GermanyRules look-and-feel.

The template could look like:

Hello $name,

Thank you for your participation! You have earned your credits.

Please go to [url removed, login to view] to spend them!

Kind regards,

Our team

Kemahiran: PHP

Lihat lagi: where to look for engineering jobs, when to ask for a raise, when people ignore you, website updating jobs, web coding jobs, vbulletin hooks, vbulletin coding, us communities, the best sites on the internet, thank you for registering, templates for phplist, template for phplist, state of s.c. jobs, site engineering jobs, service now jobs, primary jobs, php jobs in germany, party city jobs, one of a kind jobs, ok state jobs

Tentang Majikan:
( 1 ulasan ) Netherlands

ID Projek: #3574791

1 pekerja bebas membida secara purata $765 untuk pekerjaan ini

webhunny

See private message.

$765 USD dalam 6 hari
(0 Ulasan)
0.0