1. Go to this page and download the library: Download mjaschen/collmex library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use MarcusJaschen\Collmex\Client\Curl as CurlClient;
use MarcusJaschen\Collmex\Request;
use MarcusJaschen\Collmex\Type\CustomerGet;
// initialize HTTP client
$collmexClient = new CurlClient('USER', 'PASSWORD', 'CUSTOMER_ID');
// create request object
$collmexRequest = new Request($collmexClient);
// create a record type; we're querying the API for customer with ID=12345
$getCustomerType = new CustomerGet(array('customer_id' => '12345'));
// send HTTP request and get response object
$collmexResponse = $collmexRequest->send($getCustomerType->getCsv());
if ($collmexResponse->isError()) {
echo 'Collmex error: ' . $collmexResponse->getErrorMessage() . '; Code=' . $collmexResponse->getErrorCode() . PHP_EOL;
return;
}
$records = $collmexResponse->getRecords();
foreach ($records as $record) {
// contains one Customer object and the Message object(s)
var_dump($record->getData());
}
// show unparsed response contents:
var_dump($collmexResponse->getResponseRaw());
use MarcusJaschen\Collmex\Client\Curl as CurlClient;
use MarcusJaschen\Collmex\Request;
use MarcusJaschen\Collmex\Type\InvoiceGet;
$collmexRequest = new Request(new CurlClient('USER', 'PASSWORD', 'CUSTOMER_ID'));
$getInvoice = new InvoiceGet(['invoice_id' => '1', 'format' => InvoiceGet::FORMAT_ZIP]);
try {
$collmexResponse = $collmexRequest->send($getInvoice->getCsv());
} catch (\Exception) {
// Error Handling ...
}
/** @var \Symfony\Component\Finder\Finder $files */
$files = $collmexResponse->getFilesByType(type: 'pdf');
/** @var SplFileInfo $file */
foreach ($files as $file) {
$pdfContent = file_get_contents($file->getPathname());
// save, mail, display, etc.
break;
}
use MarcusJaschen\Collmex\Client\Curl as CurlClient;
use MarcusJaschen\Collmex\Request;
use MarcusJaschen\Collmex\Type\Customer;
// initialize HTTP client
$collmexClient = new CurlClient('USER', 'PASSWORD', 'CUSTOMER_ID');
// create request object
$collmexRequest = new Request($collmexClient);
// create a record type; we create a customer with some basic fields
$customer = new Customer(
[
'client_id' => '1',
'salutation' => 'Herr',
'firstname' => 'Charly',
'lastname' => 'Cash',
'street' => 'Hauptstraße 12',
'zipcode' => '12222',
'city' => 'Berlin',
'inactive' => Customer::STATUS_ACTIVE,
'country' => 'DE',
'phone' => '+49300000000',
'email' => '[email protected]',
'output_medium' => Customer::OUTPUT_MEDIUM_EMAIL,
]
);
// send HTTP request and get response object
$collmexResponse = $collmexRequest->send($customer->getCsv());
if ($collmexResponse->isError()) {
echo 'Collmex error: ' . $collmexResponse->getErrorMessage() . '; Code=' . $collmexResponse->getErrorCode() . PHP_EOL;
return;
}
$newObject = $collmexResponse->getFirstRecord();
echo 'New Collmex customer ID=' . $newObject->new_id . PHP_EOL;
$records = $collmexResponse->getRecords();
foreach ($records as $record) {
// contains one NewObject object and the Message object(s)
var_dump($record->getData());
}
use MarcusJaschen\Collmex\Client\Curl as CurlClient;
use MarcusJaschen\Collmex\MultiRequest;
use MarcusJaschen\Collmex\Type\CustomerOrder;
// initialize HTTP client
$collmexClient = new CurlClient('USER', 'PASSWORD', 'CUSTOMER_ID');
// create request object
$collmexMultiRequest = new MultiRequest($collmexClient);
// create a record type; we create a CustomerOrder with some basic fields
$customerOrderData = [
'client_id' => '1',
'customer_salutation' => 'Herr',
'customer_firstname' => 'Charly',
'customer_lastname' => 'Cash',
'customer_street' => 'Hauptstraße 12',
'customer_zipcode' => '12222',
'customer_city' => 'Berlin',
'customer_country' => 'DE',
'customer_phone' => '+49300000000',
'customer_email' => '[email protected]',
'order_date' => '01.01.1970',
'status' => CustomerOrder::STATUS_CONFIRMED,
];
// set several item positions
$customerOrderItem = new CustomerOrder(
array_merge(
$customerOrderData,
[
'product_description' => 'erster Artikel',
'quantity' => '1',
'price' => '10,50',
'tax_rate' => CustomerOrder::TAX_RATE_FULL,
]
)
);
$collmexMultiRequest->add($customerOrderItem);
$customerOrderItem = new CustomerOrder(
array_merge(
$customerOrderData,
[
'product_description' => 'zweiter Artikel',
'quantity' => '10',
'price' => '37,99',
'tax_rate' => CustomerOrder::TAX_RATE_REDUCED,
]
)
);
$collmexMultiRequest->add($customerOrderItem);
$customerOrderItem = new CustomerOrder(
array_merge(
$customerOrderData,
[
'product_description' => 'Artikel Nummer drei',
'quantity' => '3',
'price' => '1250,00',
'tax_rate' => CustomerOrder::TAX_RATE_FULL,
]
)
);
$collmexMultiRequest->add($customerOrderItem);
// send HTTP request and get response object
$collmexResponse = $collmexMultiRequest->send();
if ($collmexResponse->isError()) {
echo 'Collmex error: ' . $collmexResponse->getErrorMessage() . '; Code=' . $collmexResponse->getErrorCode() . PHP_EOL;
return;
}
$newObject = $collmexResponse->getFirstRecord();
echo 'New Collmex order ID=' . $newObject->new_id . PHP_EOL;
$records = $collmexResponse->getRecords();
foreach ($records as $record) {
// contains one NewObject object and the Message object(s)
var_dump($record->getData());
}
use MarcusJaschen\Collmex\CollmexField\Date;
echo Date::toDateTime('20220921')->format('Y-m-d')
echo Date::toDateTime('12.08.2022')->format('Y-m-d')
use MarcusJaschen\Collmex\CollmexField\Date;
echo Date::fromDateTime(new \DateTime('2022-09-21T00:00:00', new \DateTimeZone('Europe/Berlin')))
shell
composer fix:php-cs
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.