Deal! TYPO3 for ebay and immoscout24

Created:2010-10-13T21:40:33
Changed by:dirk
Changed:2015-09-23T12:07:06
Classification:deal
Description:TYPO3 interface for the marketplaces ebay and immobilienscout24. Manage all items with TYPO3 and publish it on ebay or immobilienscout24 (is24). Deal! is ready for use with Quick Shop. See: http://typo3-deal.de/typo3conf/ext/deal/doc/manual.pdf
Keywords:ebay, Quick Shop, is24, immobilienscout24
Author:Dirk Wildt - Die Netzmacher
Email:http://wildt.at.die-netzmacher.de
Website:http://die-netzmacher.de
Language:en

img-1 img-2 Deal! TYPO3 for ebay and immoscout24deal img-3

Deal! TYPO3 for ebay and immoscout24

TYPO3 interface for the marketplaces ebay and immobilienscout24. Manage all items with TYPO3 and publish it on ebay or immobilienscout24 (is24). Deal! is ready for use with Quick Shop. See: http://typo3-deal.de/typo3conf/ext/deal/doc/manual.pdf

img-4

Version: 7.2.1 - 2015-09-23

Extension Key: deal

Language: en

Keywords: ebay, Quick Shop, is24, immobilienscout24

Copyright 2014-2015, Dirk Wildt - Die Netzmacher, <http://wildt.at .die-netzmacher.de>

This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 a GNU/GPL CMS/Framework available from www.typo3.org

Screenshots

Backend

Deal! for ebay

Frame5

You can extend every shop woth the tab [Deal! ebay]

Deal! for immoblienscout24

Frame5

The Deal! task "immo24 export" publishes apartment for rents on immoblienscout24.de.

Frontend

Deal! for ebay

Frame5 Frame5

Deal! for immoblienscout24

Frame5

Introduction

What does it do?

Deal! is a TYPO3 interface for the marketplaces

  • ebay and
  • immobilienscout24 (is24).

You can manage all items with TYPO3 and publish it on ebay or immobilienscout24 (is24).

Deal! for ebay
  • publishs your items at the marketplace ebay
  • updates your item on ebay automatically, if you update your item in the Quick Shop

enables you to configure basic properties of your item for the marketplace ebay.

Deal! and Quick Shop – ebay ready-for-use
  • Deal! is extending the TYPO3 Quick Shop with an interface for the marketplace ebay.
  • Deal! enables you, to manage all your items with Quick Shop.
Deal! for immobilienscout24 (is24)
  • publishs your items at the marketplace immobilienscout24 :sup:`0 <#sdfootnote1sym>`_
  • items will updated by a cron job.

What does it not do?

Deal! isn't a web interface for managing items at ebay or at immobilienscout24 in principle.

It doesn't substitute neither the ebay interface nor the immobilienscout24 interface.

Deal! isn't suited to manage items with complex specifications like

  • complex calculated shipping costs
  • cross selling
  • variants

Limitations

Synchronisation

Items are synchronised one way only – from DEAL! and Quick Shop respectively to ebay and immobilienscout.

  • If you update your item in the Quick Shop, Deal! will update this item on ebay automatically.
  • If you update a apartment for rent, a cron job of Deal! will update this item on immobilienscout24 depending on the cron job period.

Items aren't synchronised the way back – nor from ebay and neither from immoblienscout24 to TYPO3:

  • If an item is sold in your Quick Shop, there isn't any effect to the marketplace ebay.
  • If an item is sold on a marketplace, there isn't any effect to your Quick Shop.
  • If you change the properties of an item in the marketplace like ebay, this hasn't any effectto the properties of the item in your Quick Shop
ebay
Marketplaces

Each ebay maketplace has different categories :sup:`0 <#sdfootnote2sym>`_ and different shipping service costs.

Categories and shipping service costs are ready to use for:

  • Germany - EBAY-DE/EUR (77)
  • US - EBAY-US/USD (0)

See details at "Import the values for your marketplace" on page 35 below.

Requirements

ebay

You need ebay accounts. See "Requirements" on page 35 below.

immobilienscout24

You need immobilienscout24 accounts. See "Accounts" on page 37 below.

PHP

You need a PHP with a running Curl modul (php curl).

Quick Shop

If you like to use the Quick Shop, you need the extension Quick Shop :sup:`0 <#sdfootnote3sym>`_ .

TYPO3 Versions

Deal! is developed for and tested with

TYPO3 6.1 and 6.2

Maybe it is running too in

TYPO3 4.5, 4.6, 4.7

Deal! for ebay

Installation

Install and enable Deal! :sup:`0 <#sdfootnote4sym>`_

Test it!

You can test Deal! immediately – without configuring the Extension Manager. See section "Test it!" on page 9 below.

Extension Manager

Configure Deal! with the Extension Manager.

Frame5

See details in the section "Extension Manager" on page 34 below.

Import values for your ebay marketplace

You are importing the needed values for your ebay marketplace supported by another Deal! Extension.

See details at "Import the values for your marketplace" on page 35 below.

Test it!

You can test Deal! immediately – without configuring the Extension Manager.

Page and plugins

Test Deal! and ebay with the developer plugins:

  • Add a new page Deal!
  • Add one of the both ebay plugins
    • Deal! [DEV] ebay 3 items
    • Deal! [DEV] ebay categories
  • Add one of the both ebay Templates
    • Deal! [DEV] ebay 3 items
    • Deal! [DEV] ebay categories
  • Configure the Templates with the TypoScript Constant Editor
    • [DEAL - DEV - EBAY 3 ITEMS]
    • [DEAL - DEV - EBAY CATEGORIES]

See details in the section "Plugins" on page 9 below.

Plugins

You don't need any ebay plugin for enable or update a Quick Shop item on an ebay marketplace.

Plugins are for testing and development only.

Deal! [DEV] ebay 3 items

Frame5

Functionality
  • These plugin displays 3 items from the ebay shop.
  • It is a quick and easy way to check, if you can use the ebay shop within TYPO3 in principle.
Properties
  • Search word for the items (like TYPO3)
  • Maximum amount for the items price
  • ebay shop (like EBAY-DE or EBAY-US)
  • currency (like EUR or USD)
TypoScript Constant Editor
  • You configure the properties supported by TypoScript.
  • See Constant Editor -> Category: [DEAL - DEV - EBAY 3 ITEMS]
Requirements

You need your application ID from ebay. See "Requirements" on page 35 below.

Deal! [DEV] ebay categories

Frame5

Functionality
  • These plugin displays categories from the ebay shop.
  • It is a quick and easy way to check, if you can use the ebay shop within TYPO3 in priciple.
  • It is a draft for importing categories by CSV into your TYPO3 database.
Properties
  • ebay marketplace (like Germany or US)
  • Level limit
  • Root category
TypoScript Constant Editor
  • You configure the properties supported by TypoScript.
  • See Constant Editor -> Category: [DEAL - DEV - EBAY CATEGORIES]
Requirements

You need your Auth Key from ebay. See "Requirements" on page 35 below.

Form for an Item – [Deal! ebay]

The tab is called [Deal! ebay] by default. You have to save the form for any effect.

Frame5

This is the view for administrators.

Please configure the flexform view for editors by configuring a backend user group.

This item on ebay
This item on ebay

Property

This item on ebay

Description

S tatus message with link to your item on the ebay marketplace.

Action
Action

Property

Action

Description

Enable/Update: the item will be enabled or updated

Cleanup: the item should cleanedup (but this isn't possible because of ebay restrictions)

Disable: the offer will be disabled

Mode

Property

Mode

Description

off: nothing will happen

live: action wll be executed, you can have ebay fees

test: action will be checked only, possible fees are calculated (this isn't possible in some cases)

Item
Ebay item ID

Property

Ebay item ID

Description

ebay id of your item provided by ebay

Item condition

Property

Item condition

Description

New

New: others (see description)

Refurbished by the manufacturer

Refurbished by the seller

Used

For parts or not working

Quantity

Property

Quantity

Description

If quantity is greater than 1, ebay customers can buy more than one item per oderring.

See "Shipping > Costs for every other item (incl. VAT)" below.

Category

Property

Category

Description

ebay category. It isn't possible to select a category with subcategories.

Categories depend on the selected ebay marketplace (see Extension Manager)

Shipping
Shipping

Property

Shipping

Description

Shipping service.

Shipping services depend on the selected ebay marketplace (see Extension Manager).

Costs for the first item (incl. VAT)

Property

Costs for the first item (incl. VAT)

Description

Costs for the shipping service for the first item including VAT.

Costs for every other item (incl. VAT)

Property

Costs for every other item (incl. VAT)

Description

Costs for the shipping service for each item from the second item including VAT.

See "Item > Quantity" above.

From location

Property

From location

Description

The location of the item / your stock / your company.

Time
Dispatch time (business days)

Property

Dispatch time (business days)

Description

Duration of the ebay offer

Property

Duration of the ebay offer

Description

Payment methods
Payment methods

Property

Payment methods

Description

Cash on pickup

Paypal

See description

Payment description

Property

Payment description

Description

Payment methods are possible like:

  • Payment in kind
  • Payment with local currency
Return policy
Return options

Property

Return options

Description

Accepted (only). Details are delivered by ebay

Plus individual description

Property

Plus individual description

Description

An individual description for the return options.

Log
Log

Property

Log

Description

Log by ebay and TYPO3.

You are allowed to remove the whole log.

Interface for Your Extension

Quick Shop

The interface for Quick Shop consists of the following files and parts:

  • ext_tables.php

    Requires ext_tables/tx_quickshop_products/marketplaces/ebay/ext_tables.php

  • ext_tables.sql

    • Fields for extending the Quick Shop
    • MM tables needed by Deal! for the Quick Shop
  • ext_tables/tx_quickshop_products/marketplaces/ebay/ext_tables.php

    • Contains the TCA configuration (flexform configuration).
    • Quick Shop fields are mapped in the "TCA ctrl" section, which are needed by Deal!See: "Reference" on page 16 below.
  • ext_tables/tx_quickshop_products/marketplaces/ebay/locallang_db.xm l

    Contains the localisation for the backend forms.

Other Shops and databases

You are welcome, to use Deal! for any other shop or database.

Please take the Quick Shop as a draft for an integration of another shop. See "Quick Shop" on page 15 above.

Reference

TCA ctrl

Deal! is an interface. It is ready to use for Quick Shop. And you should use it for every other shop too.

The section TCA ctrl is the connector and mapper of Deal! for Quick Shop and every other shop.See "Interface for Your Extension" on page 15 above.

ebay – Overview
ebay

Property

ebay

Data type

array

Description

Configuration of the Quick Shop items table (tx_quickshop_products).

If you like to use Deal! for another shop, please replace tx_quickshop_products with the name of the item table of the other shop.

Code:

$TCA['tx_quickshop_products']['ctrl']['tx_deal'] = array(

'marketplaces' => array(

'ebay' => array(

'environment' => array(

'key' => $confArr['ebayEnvironment'], // sandbox, production

'production' => array(

'token' => $confArr['ebayProductionToken'] // obligate for// production environment

),

'sandbox' => array(

'token' => $confArr['ebaySandboxToken'] // obligate for// sandbox environment

)

),

'fields' => array(

'description' => array(

'datasheet' => 'datasheet', // optional (must be a TYPO3 table)

'description' => 'description', // obligate

'short' => 'short', // optional

),

'ean' => 'ean', // optional

'filter' => array(

'category' => 'category', // optional

'dimension' => 'dimension', // optional

'material' => 'material', // optional

),

'gross' => 'price', // obligate

'pictures' => 'image', // optional

'sku' => 'sku', // obligate: sku or uid

'title' => 'title', // obligate

),

'manufacturer' => array(

'company' => $confArr['manufacturerCompany']

),

'marketplace' => $confArr['ebayMarketplace'],

'paypal' => array(

'production' => array(

'email' => $confArr['paypalEmail'] // optional

),

'sandbox' => array(

'email' => $confArr['paypalEmail'] // optional

)

),

),

)

);

ebay.environment
ebay.environment

Property

ebay.environment

Data type

array

Description

All environment properties get their values from the extenson manager.

You have to change nothing but the name of the item table (tx_quickshop_products).

Please copy an paste this code into your extension.

Code:

$TCA['tx_quickshop_products']['ctrl']['tx_deal'] = array(

'marketplaces' => array(

'ebay' => array(

'environment' => array(

'key' => $confArr['ebayEnvironment'], // sandbox, production

'production' => array(

'token' => $confArr['ebayProductionToken'] // obligate for// production environment

),

'sandbox' => array(

'token' => $confArr['ebaySandboxToken'] // obligate for// sandbox environment

)

),

...

),

)

);

ebay.fields
ebay.fields

Property

ebay.fields

Data type

array

Description

This is the field wrapper.

Please look for the comments in the code below.

ean: European Article Number

If you like to use Deal! for another shop, please replace tx_quickshop_products with the name of the item table of the other shop.

Code:

$TCA['tx_quickshop_products']['ctrl']['tx_deal'] = array(

'marketplaces' => array(

'ebay' => array(

...

'fields' => array(

'description' => array(

'datasheet' => 'datasheet', // optional (must be a TYPO3 table)

'description' => 'description', // obligate

'short' => 'short', // optional

),

'ean' => 'ean', // optional

'filter' => array(

'category' => 'category', // optional

'dimension' => 'dimension', // optional

'material' => 'material', // optional

),

'gross' => 'price', // obligate

'pictures' => 'image', // optional

'sku' => 'sku', // obligate: sku or uid

'title' => 'title', // obligate

),

...

),

)

);

ebay.manufacturer
ebay.manufacturer

Property

ebay.manufacturer

Data type

array

Description

The manufacturer property gets the value from the extenson manager.

You have to change nothing but the name of the item table (tx_quickshop_products).

Please copy an paste this code into your extension.

Code:

$TCA['tx_quickshop_products']['ctrl']['tx_deal'] = array(

'marketplaces' => array(

'ebay' => array(

...

'manufacturer' => array(

'company' => $confArr['manufacturerCompany']

),

...

),

)

);

ebay.marketplace
ebay.marketplace

Property

ebay.marketplace

Data type

array

Description

The marketplace property gets the value from the extenson manager.

You have to change nothing but the name of the item table (tx_quickshop_products).

Please copy an paste this code into your extension.

Code:

$TCA['tx_quickshop_products']['ctrl']['tx_deal'] = array(

'marketplaces' => array(

'ebay' => array(

...

'marketplace' => $confArr['ebayMarketplace'],

...

),

)

);

ebay.paypal
ebay.paypal

Property

ebay.paypal

Data type

array

Description

The paypal properties get their values from the extenson manager.

You have to change nothing but the name of the item table (tx_quickshop_products).

Please copy an paste this code into your extension.

Code:

$TCA['tx_quickshop_products']['ctrl']['tx_deal'] = array(

'marketplaces' => array(

'ebay' => array(

...

'paypal' => array(

'production' => array(

'email' => $confArr['paypalEmail'] // optional

),

'sandbox' => array(

'email' => $confArr['paypalEmail'] // optional

)

),

),

)

);

TCAdefaults

If you like to define default values for ebay properties of an item, please configure the PageTS – the page TypoScript – of the folder with the items.

See the snippet below.

Effect with enabled ebay mode only!

The ebay mode must be enabled und must not be off. If it is off, all default values won't have any effect.

Sample

TCAdefaults {

// Default values for an item

tx_quickshop_products {

// ebay category: mattress

tx_deal_ebaycategoryid = 131588

// Shipping from location

tx_deal_ebaylocation = 'Ibbenbüren'

// ebay mode. If mode is 'off', default values won't have any effect

tx_deal_ebaymode = test

// Payment method

tx_deal_ebaypaymentmethods = PayPal

// Shipping service: DHL package

tx_deal_ebayshippingservicecode = 17

// Shipping costs for the first item: 18,00 EUR

tx_deal_ebayshippingservicecosts = 18

}

}

Deal! for immobilienscout24 (is24)

Installation

Install this extension.

Extension Manager

You don't need to configure anything.

Page

Add a page "Deal! immo24"

Set page properties:

  • [Access] > In Menus [X] Hide
  • [Behaviour] > Use as Container: Contains Plugin [Deal! immobilienscout24]

TypoScript

Add a template "+page_deal_immo24_ XXX " to the page "Deal! immo24", where XXX is the id of your template.

Set template properties:

[General] > Setup :sup:`0 <#sdfootnote5sym>`_

config {

# Code for German

#language = de

#locale_all = de_DE

#htmlTag_langKey = de

# Code for English

language = en

locale_all = en_GB

htmlTag_langKey = en

}

[Includes] > Include static (from extensions): [Deal [1] (deal)]

Plugin

Add a plugin "Deal! plugin immo24" to the page "Deal! immo24"

Set plugin properties:

  • [Plugin] > Selected Plugin [Deal! immobilienscout24 certification]
  • [Plugin] > [Live / Sandbox]
    • Mode [Sandbox]Public Key: Your Auth-Sandbox-KeyPrivate Key: Your Auth- Sandbox-Secret
    • Mode [Live]Public Key:Private Key:
  • [Plugin] > [Proxy]
    • URL:The URL of your proxy. Can be a name or an ip-address.
    • PortThe port of your proxy. Must be an integer.
Type: [TEST] Region

Set plugin properties:

[Plugin] > [Application] > Type: [TEST] Region

Run the current page in the frontend.

If you get an empty page, please check, if the TypoScript template from above is included.

Frame5

Type: [TEST] Own logo / certificate – without a certificate

Set plugin properties:

[Plugin] > [Application] > Type: [TEST] Own logo / certificate

Run the current page in the frontend.

You will get a warning prompt, because certificate is missing.

If you get an empty page, please check, if the TypoScript template from above is included.

Frame5

Type: [TEST] PHP requirements

Set plugin properties:

[Plugin] > [Application] > Type: [TEST] PHP requirements

Run the current page in the frontend.

You should get the content of https://example.com

If something wnet wrong, you should get helpful prompts.

This plugin type is testing if

  • the PHP extension cURL is running proper
  • the PHP method file_get_content() is running proper
  • if a given proxy runs proper

Test and result depends on your configuration.

Type: Certification
  • Set plugin properties:

    [Plugin] > [Application] > Type: Certification

  • Run the current page in the frontend.

  • If you get an empty page, please check, if the TypoScript template from above is included.

1. Submit immo24 user name

Frame5

2. Submit immo24 access data

Frame5

3. Get a certification key: Confirm the request

Frame5

4. Success prompt

Frame5

5. Test certificate

Set plugin properties:

[Plugin] > [Application] > Type: [TEST] Own logo / certificate

Run the current page in the frontend.

If you get an empty page, please check, if the TypoScript template from above is included.

After checking the logo test, please reset the application type to:

[Plugin] > [Application] > Type: Certification

Frame5

Certification

Please see Plugin > Type: Certification on page 22 above.

Please run the certification steps for the modes:

  • Live
  • Sandbox

Tasks / Cron Jobs

Deal! provides two tasks / cron jobs.

  • One for testing
  • One for export items to immobilienscout24

You enable a task by

  • Modul: System > Scheduler
  • Edit area: [Information]Klick the adding icon (1) of the task, you want to enable.

You manage the tasks with the TYPO3 scheduler.

Frame5

Requirements

If you like to use the task immo24 export, you have to configure the table with your apartments-for-rent and the table with your contacts first. See "Interface for Your Extension" on page 29 below.

Immo24 has demands on your data. See "Meet Data Demands" on page 33 below.

Deal! test (deal)
Requirements

There isn't any requirement.

Workflow

Add the task / cron job (see section above)

Configure the task like in the illustration below:

Disable it (it should run manually only)

Enter a frequency

Enter your e-mail-address

Frame5

Execute the task like in the illustration below:

Select the task.

Klick the button [Execute selected task]

You should get some success prompts.

Frame5

You should receive an e-mail from Deal! Please take a look in your e -mail-account.

Deal! immo24 export (deal)
Requirements

If you like to use the task immo24 export, you have to configure the table with your apartments-for-rent and the table with your contacts first. See "Interface for Your Extension" on page 29 below.

Workflow

Add the task / cron job (see section above)

Configure the task like in the illustration below:

Enter a frequency in seconds. For example: 300 seconds are 5 minutes.

Enter your e-mail-address

Set the report mode for e-mails

Set the mode: Live or Sandbox

Enter your keys

Enter the table, which contains the apartments for rent :sup:`0 <#sdfootnote6sym>`_

Enter the table, which contains the fe_users :sup:`0 <#sdfootnote7sym>`_

Frame5

Execute the task like in the illustration below:

Click the "Play"-Icon of the task. Or enable it by the checkbox and click the execute-button below.

You should get prompts with environment information.

In case of errors your get error prompts. In the illustration below some records had unproper links to images.

You should get some notice prompts.

In case of a sent e-mail, you get a prompt with the e-mail-address of the receiver.

Succes prompt.

Frame5

You should receive an e-mail from Deal! Please take a look in your e -mail-account.

E-Mail Sample

DEAL! IS24-TASK

o REPORT

o STATISTIC

o TYPO3

o IMMOBILIENSCOUT 24

o TECHNICAL DETAILS

- - - - - - - - - - - - - - - - - - - - - - -

REPORT

+++ INFO

Deal! Environment: sandbox.

Deal! User: ******

+++ ERROR

Deal!: immo24 message code: <br />

immo24 message prompt: Response isn't defined: "'Die Datei "/var/www/w ww.typo3-extensions.de/typo3/uploads/tx_legimmo/mietangebot/a2278e_H aus_Leo_07-09.jpg" wurde nicht gefunden. Evtl. ist der Pfad oder Dateiname nicht korrekt.'"<br />

Method: NetzmacherDealSchedulerImmo24Task::_immo24ExportAttachment sAddFiles (#1049)<br />

Table: tx_legimmo_mietangebot.10049.title: "Leo-Tolstoi-Straße 9"

...

+++ NOTICE

Deal! Immobilienscout24 database will cleaned up. All data will removed, which isn't known by Deal!

- - - - - - - - - - - - - - - - - - - - - - -

STATISTIC


TYPO3


All appartments for rent ..................18

no need for an update ....0

All contacts ...............................4

no need for an update ....4


IMMOBILIENSCOUT 24


All appartments for rent ..................18

error ....0

no need for an update ....0

success ...18

New . . . . . . . . . . . . . . . . . ...18

disabled (10000) ....0

enabled (10000) ...18

disabled (10001) ....0

enabled (10001) ...18

error ....0

Removed . . . . . . . . . . . . . . . ....0

error ....0

success ....0

Updated . . . . . . . . . . . . . . . ....0

error ....0

All contacts ...............................4

error ....0

new ....0

no need for an update ....4

removed ....0

updated ....0

- - - - - - - - - - - - - - - - - - - - - - -

+++ TECHNICAL DETAILS

UID: 44

Sitename: For TYPO3 Integrators

Site: https://typo3-quick-shop.de/

Called by: TYPO3 backend

tstamp: 2015-08-25 20:46:34 [1440528394]

maxLifetime: 1440

start: 1970-01-01 01:00:00 []

end: -

interval:

multiple: no

cronCmd: not used

Interface for Your Extension

Deal! for immobilienscout24 supports

  • apartments for rent and
  • contacts

Apartments for rent and contacts must be linked.

Configuration in principle

Deal! provides configuration samples at

Resources/Private/Marketplaces/Immo24/samples/

Tree view

samples

├── fe_users

│ ├── ext_tables.php

│ ├── ext_tables.sql

│ └── locallang_db.xml

└── my_apartmentsforrent

├── ext_tables.php

├── ext_tables.sql

├── locallang_db.xml

└── tca.php

Contacts

If you are using another table than fe_users for manage your contacts, please refer to the section fe_users below.

fe_users
Screenshot

Frame5

You have to extend your contact table with the fields

  • immo24id
  • immo24idSandbox
  • immo24log
  • immo24tstamp
  • immo24tstampSandbox

This fields are needed to manage the export of your contacts.

Data will displayed in the backend form of a fe_user. See illustration above.

Overview

fe_users/

├── ext_tables.php

├── ext_tables.sql

└── locallang_db.xml

ext_tables.php

Configures the interface of Deal! for immobilienscout24.

Contains the field mapper for the fields of immobilienscout24 and your contact fields.

Evaluation is defined with patterns for regular expressions.

ext_tables.sql

Add some fields to the databse, which are needed by Deal! for immobilienscout24.

locallang_db.xml

Contains labels for the TCA, the backend form.

my_apartmentsforrent

my_apartmentsforrent is a placeholder for the label of your extension table.

Please replace my_apartmentsforrent with the label of your table in the samples and files from below.

Screenshot

Frame5

You have to extend your apartments-for-rent-table with the fields

  • immo24id
  • immo24idSandbox
  • immo24log
  • immo24tstamp
  • immo24tstampSandbox
  • immo24url
  • immo24urlSandbox

This fields are needed to manage the export of your contacts.

Data will displayed in the backend form of your apartments-for-rent- table. See illustration above.

Overview

my_apartmentsforrent/

├── ext_tables.php

├── ext_tables.sql

├── locallang_db.xml

└── tca.php

Configures the interface of Deal! for immobilienscout24.

Contains the field mapper for the fields of immobilienscout24 and your contact fields.

Evaluation is defined with patterns for regular expressions.

ext_tables.sql

Add some fields to the databse, which are needed by Deal! for immobilienscout24.

locallang_db.xml

Contains labels for the TCA, the backend form.

tca.php

Contains the configuration for the backend form – the TCA (Table Configuration Array).

Meet Data Demands

Immo24 has demands on your data.

Workflow

Immo24 defines pattern for some values like phone numbers.

Deal! check, if the data match the pattern. If not, the cron job (task) will prompt a warning or an error. And the data won't delivered to Immo24, but the record.

Phone numbers

Phone numbers should devided in the three parts

  • country code
  • area code
  • subscriber

Therefore it is recommended, to save each part in a different field. See details in the files ext_tables.php for "fe_users" on page 30 above.

Extension Manager

Configuration of the extension manager hasan effect for ebay only. It hasn't any effect for immobilienscout24.

Tabs

be language
Backend Language

Property

Backend Language

Description

Language for special backend labels like TypoScript static templates. Property has an effect in the backend only.

Values:

  • English
  • German
drs
Logging

Property

Logging

Description

DRS – Development Reporting System. Enable the prompting to the Modul > Admin Tools > Log.

SECURITY RISK! Private data like token will prompt to the log table.

manufacturer
Company

Property

Company

Description

Name of your company

ebay
Environment

Property

Environment

Description

If no environment isn't selected, ebay is disabled. Each environment needs the keys below. BE AWARE:Production environment can effect costs on your ebay account!

Values:

  • [empty]
  • Production
  • Sandbox
Your marketplace

Property

Your marketplace

Description

Country - Global ID/Currency (Site ID). See: https://developer.ebay.c om/DevZone/merchandising/docs/Concepts/SiteIDToGlobalID.html

BE AWARE: Categories and shipping service costs are provided by other Deal! extensions. See Manual below. Look for the section "ebay > Import values for marketplaces".

Error language

Property

Error language

Description

Australia (en_AU), Austria (de_AT), Belgium (Dutch) (nl_BE), Belgium (French) (fr_BE), Canada (en_CA), Canada (French) (fr_CA), China (zh_CN), France (fr_FR), Germany (de_DE), Hong Kong (zh_HK), India (en_IN), Ireland (en_IE), Italy (it_IT), Netherlands (nl_NL), Singapore (en_SG), Spain (es_ES), Switzerland (de_CH), United Kingdom (en_GB), United States (en_US)

Production Token*

Property

Production Token*

Description

OBLIGATED! Your token for the production environment. See your ebay account on https://developer.ebay.com/DevZone/account/default.aspx . See "Generate Token" on https://developer.ebay.com/DevZone/account/tokens/default.aspx . If you don't have a developer account, please register on https://developer.ebay.com/base/membership/signin/

Sandbox Token

Property

Sandbox Token

Description

Your token for the sandbox environment. It is obligated, if you like to use the sandbox. See your ebay account on https://developer.ebay.com/DevZone/account/default.aspx . See "Generate Token" on https://developer.ebay.com/DevZone/account/tokens/default.aspx . If you don't have a developer account, please register on https://developer.ebay.com/base/membership/signin/

Category Directory

Property

Category Directory

Description

Store ebay categories in the root directory (pid is 0). The root directory is recommended, if you are using one shop for the whole website only. Use [Item directories], if you are using more than one shop. You can use different categories per each shop. But you have to store the ebay categories for each shop manually. See manual below.

paypal
Production e-mail-adress

Property

Production e-mail-adress

Description

The e-mail-adress of your paypal account. It is needed, if you like to enable and update items on ebay. See https://www.paypal.com/

Sandbox e-mail-adress

Property

Sandbox e-mail-adress

Description

The e-mail-adress of your sandbox paypal account. It is needed, if you like to test the enable and the update of your items on ebay without any fees. See https://www.sandbox.paypal.com/

Marketplaces

ebay

Costs :sup:`0 <#sdfootnote8sym>`_

BE AWARE: all declarations are without any warranty!

If you are enabling or updating an item on ebay, you can have costs.

You will have further costs for e-payment.

You can eval the costs by Deal!, before you publish an item. Evaluation is without warranty.

Requirements
Accounts

You need the ebay accounts:

  • ebay developer program :sup:`0 <#sdfootnote9sym>`_
  • ebay shop :sup:`0 <#sdfootnote10sym>`_
  • ebay sandbox :sup:`0 <#sdfootnote11sym>`_ – for testing Deal! on ebay without any fees
Import the values for your marketplace
Supported marketplaces

Deal! provides categories and shipping service costs for each marketplace with an extra extension.

Non supported marketplaces

If you like to integrate a non supported marketplace into Deal!, please

  • make a copy of the extension deal_ebay_000_us to deal_ebay_xxx_yy
  • import the categories and shipping service codes to this extension
  • maintain the Deal! files:
    • ext_tables.php
    • ext_tables.sql
    • locallang_db.xml
    • tca.php

You get a list of the needed categories by the Deal! plugin. See: "Deal! [DEV] ebay categories" on page 11 above.

You get a list of the shipping service codes at ebay.See: http://deve loper.ebay.com/DevZone/XML/docs/Reference/ebay/types/ShippingServiceCo deType.html

If I should integrate the values for the marketplace, please send me an e-mail at http://wildt.at.die-netzmacher.de/ .This support isn't without fees.

Development

You can test requests supported by the API Test Tool:

https://developer.ebay.com/DevZone/build-test/test-tool/default.aspx

immobilienscout24 (is24)

Costs :sup:`0 <#sdfootnote12sym>`_

Costs are depending on your contract with immobilienscout24.

Requirements
Accounts

You need access to your personal API account. A valid immobilienscout24 account is needed.

https://rest.immobilienscout24.de/restapi/security/registration

Keys

You will get the keys:

  • API Key / Consumer Key
  • API Secret / Consumer Secret
For Developers
Wiki

Wiki of the is24 REST-API PHP SDK (German) https://github.com/ImmobilienScout24/restapi-php-sdk/wiki

Known Bugs

Error prompts after saving a new item

If you are saving a new item, you will get error prompts.

Reason

TYPO3 is generatig the id for the new item while saving the new record and after the data are send to the ebay interface.

Solution

Save a new item twice.

Immo 24 oauth_token is missing

Deal! has to generate an URL like

https://sso.sandbox-immobilienscout24.de/sso/login?...oauth_token%3 `[the <https://sso.sandbox- immobilienscout24.de/sso/login?...oauth_token%253[the>`_ token]

while certifying the Immo 24 interface.

But it generates an URL without this token like

https://sso.sandbox-immobilienscout24.de/sso/login?...oauth_token%3

Reason

Probably your PHP cURL extension isn't running proper.

Solution

Please set in the TypoSript Constant Editor:

DEAL - IMMO24 API – PROPERTIES > reading type: [none]

Further Information

Credits

Landesentwicklungsgesellschaft Thüringen

The German Landesentwicklungsgesellschaft Thüringen has contracted

a part of Deal! for immoblienscout24

Website

http://www.leg-thueringen.de/

Made in Nature

The German TYPO3 agency Made in Nature has contracted

a part of Deal! for ebay

Website

http://made-in-nature.de/

Other extensions published by Die Netzmacher

Helpful suggestions

If you have helpful suggestions please send an e-mail to http://wildt.at.die-netzmacher.de

Todo

Change Log

7.2.0 New Feature* #t0459: Verifying file_get_contents* #t0458: Allow to use a proxy. RESTAPI 1.1.80 is needed.* RESTAPI is moved from 1.1.78 to 1.1.80* Verifying cURL* #t0457: Display the result of PHP curl for a given domain

7.1.0 New Feature * #t0456: Check for a running PHP curl

7.0.2 Improvement * #t0455: Debugging: empty oauth_token* #t0454: Default value for search word region

7.0.1 New Feature * #t0429: New option: Don't remove contacts on immo24* #t0428: Remove only appartments for rent on immo24* #i0037: Additional information* #t0435, #t0430: Dependency are removed:* cps_devlib* cps_tcatree* deal_ebay_000_usSuggestions are added:* cps_devlib* cps_tcatree* deal_ebay_000_us Bugfix * #t0436: URL is missing

7.0.0 New Feature * #67771: Interface for Immobilienscout24* New table: tx_deal_immo24certificate* #i0036: Configuration samples* fe_users* my_apartmentforrent Improvement * #i0035: Extension manager: update shop icon.* #i0034: Extension manager: tab for amazon is removed.* #i0033: New table tx_deal_immo24certificateSandbox* #i0032: File structure TYPO3 6.x

6.0.14 Improvement * #i0031: CI: res/images/favicon.ico* #i0030: state is set from alpha to beta

6.0.13 Bugfix * #i0029: tx_deal_ebayApi::initVarsEbayMode (#1234): Undefined value for ebay mode: ""tx_deal_ebayApi::initVarsEbayAction (#1178): Undefined value for ebay action: ""

6.0.12 Improvement * #i0028: CI* #i0027: Update for Quick Shop 6.0.12

1.0.4 Bugfix * #i0026: ext_tables.php: vat percent is moved from 0.19 to 19 and 0.07 to 7 (see #i0025)

1.0.3 Improvement * #i0025: Adding field vatRate / vatPercent (see #i0026)

1.0.2 Improvement * #i0024: Optimising labels

1.0.1 Feature * #i0023: Manage error code 73* #i0022: Manage error code 37* #i0021: TCA tx_deal_ebayitemid isn't read only any longer

1.0.0 Major Feature * #62175: Upgrade TYPO3 6.2 Bugfix #i0015: If backend is running in https, image URL get the https- protocol.

0.1.3 Improvements * #i0020: Title is moved from 'Deal! Quick Shop interface for ebay' to 'Deal! TYPO3 for ebay'

0.1.2 Improvements * #i0019: default values* #i0018: ebay error 290: you are not the owner* #i0017: subtype_value_field, subtypes_excludelist* #i0016: #i0015 is canceledReason: Without filled fields the user gets a lot of error and warning messages.* #i0015: required is removed from quick shop fields* #i0013: Extension Manager Labeling Bugfix * #i0014: tx_deal_ebayApiBase::setEbayItemStatus (#1994): ebay status is undefined: ""* reason: if an item isn't available any longer, ebay doesn't return any status* add news status: isWoStatus

0.1.1 Improvements * #i0012: TCA > tx_deal_ebayaction > donothing: comment out

0.1.0 Manual * #i0011: Initial manual Development * #i0010: Extension Manager* Category Directory* #i0009: ext_tables_static+adt.sql* tx_deal_ebaycategories_000 (US)* tx_deal_ebaycategories_077 (Germany) Improvements * #i0008: Plugin Deal! [DEV] ebay 3 items Cleanup * #i0007: Move* plugins/marketplaces/ebay/samples/php/ -> plugins/marketplaces/ebay/dev/* static/marketplaces/ebay/samples/php/ -> static/marketplaces/ebay/dev/* #i0006: Remove* lib/marketplaces/ebay/samples/* plugins/marketplaces/ebay/samples/php/GettingStarted_PHP_NV_XML/

0.0.3 Development * #i0005: ebay addItem – remove* #i0004: ebay addFixedPriceItem ready to use* #i0003: ebay addItem - step 1/2: framework

0.0.2 Development * #i0002: TCA for tx_quickshop_products - step 1/2: framework

0.0.1 Initial release

Illustration Index

Illustration 1: Deal! extends the Quick Shop with the tab [Deal! ebay] 3

Illustration 2: The executed Deal! task immo24 Export 4

Illustration 3: The item on Quick Shop (sample) 5

Illustration 4: The item on ebay (sample) 5

Illustration 5: Apartments for rent in the immo24 dashboard 5

Illustration 6: Deal! extension manager 9

Illustration 7: Plugin Deal! ebay 3 items 10

Illustration 8: Plugin Deal! ebay categories 11

Illustration 9: The tab [Deal! ebay] in the flexform of a Quick Shop item 12

Illustration 10: Deal! plugin immo24 with the frontend result of the type [Test] region 21

Illustration 11: Deal! plugin immo24 with the frontend result of the type [Test] logo 21

Illustration 12: Deal! immo 24 certification 1st step: Enter your immo24 user name. 22

Illustration 13: Deal! immo 24 certification 2nd step: login at immo24. 22

Illustration 14: Deal! immo 24 certification 3rd step. Confirm the application request. 22

Illustration 15: Deal! immo 24 certification 4th step: success prompt. 23

Illustration 16: Deal! plugin immo24 with the frontend result of the type [Test] logo 23

Illustration 17: Deal! tasks / cron jobs 24

Illustration 18: Configure the Deal! task Test 25

Illustration 19: Executed Deal! task Test 25

Illustration 20: Configure the Deal! task immo24 Export 26

Illustration 21: Execute the Deal! task immo24 Export 27

Illustration 22: Deal! extends the fe_user backend form with a div immoblienscout24 30

Illustration 23: Deal! extends the apartment-table backend form with a div immoblienscout24 31

Alphabetical Index

Apartments for rent

Interface 31

Contacts

Interface 29

Data

Demands 33

pattern 33

Phone numbers 33

Requirements 24

Deal!

Fields

Wrapper 17

Interface

Other shops 16

Quick Shop 16

TCA ctrl 16

Debugging

DRS 34

Default values 19

Demands

Data 33

Development

DRS 34

DRS

Extension Manager 34

ebay

Action

Cleanup 13

Disable 13

Enable/Update 13

API

API Test Tool 36

Category 13, 35

default 19

Category Directory

Extension Manager 34

Development

API Test Tool 36

Environment 34

TCA ctrl 17

Error language

Extension Manager 34

Form for an Item – [Deal! ebay] 12

Keys 35, 37

Developer Program 35, 37

Location

default 19

Log 14

Marketplace

EBAY-DE 35

EBAY-US 35

Extension Manager 34

Germany 35

TCA ctrl 18

US 35

Mode

default 19

live 13

off 13

test 13

Payment methods 13

default 19

Paypal 13

Paypal

TCA ctrl 18

Plugins

Deal! [DEV] ebay 3 items 10

Deal! [DEV] ebay categories 11

Production

Extension Manager 34

Quantity 13

Return policy 14

Sandbox

Extension Manager 34

Shipping 13

Costs 13, 35

default 19

SiteID

0 35

77 35

Status message 13

Time

Dispatch time 13

Duration of the ebay offer 13

Token

Developer Program 35

Production 34

Sandbox 34

TCA ctrl 17

13

Errors

oauth_token 38

Save a new item 38

Extension Manager 34

fe_users

Interface 30

Phone numbers 33

Immobilienscout24

apartments for rent 29

Certification 22, 24

Cron Jobs 24

Data Demands 33

e-mail 28

fe_users 30

Installation 20

oauth_token 38

Plugin 20

Proxy 20

Requirements 24

samples 29

Scheduler 24

Tables

apartments for rent 29

contacts 29

fe_users 30

Tasks 24

immo24 export 26

test 25

TypoScript 20

Interface

Contacts 29

fe_users 30

Other Shops 15

Quick Shop 15

Language

Backend Language 34

Log

DRS 34

ebay 14

Paypal

ebay

Payment methods 13

Production

Extension Manager 34

Sandbox

Extension Manager 34

TCA ctrl 18

Phone numbers

area code 33

country code 33

subscriber 33

PHP

Curl 8

Plugins

ebay

Deal! [DEV] ebay 3 items 10

Deal! [DEV] ebay categories 11

Quick Shop

Interface 15

MM tables 15

TCA 15

Requirements 8

Data 33

immoblienscout24 24

PHP 8

Scheduler

immobilienscout24 24

Shops

Interface 15

Synchronisation 7

Tasks

immobilienscout24 24

Test

Immobilienscout24

cURL 21

file_get_content 21

Own logo 21

PHP requirements 21

proxy 21

Region 21

TypoScript

Immobilienscout24 20

0 This feature is limited for apartments for rent. It can extended for other real estate objects but PHP coding is needed.

0 Near by 20.000 records per marketplace

0 See: http://quick-shop.de/ . You can use Deal! for other shops too.

0 http://typo3.org/extensions/repository/view/deal/

0 Not needed, if you like the default language properties of your TYPO3 installation

0 Table must be configured for Deal! for immoblienscout24. See "Interface for Your Extension" on page29below.

0 Dito

0 Without any warranty!

0 https://developer.ebay.com/base/membership/signin/

0 https://signin.ebay.com/

0 https://sandbox.ebay.com/ Register: https://developer.ebay.com/DevZone/sandboxuser/

0 Without any warranty!

46