HostFact API versie 3.1
Bestelling
Bestellingen zijn te beheren via de controller 'order'.
add
Middels deze functie kunt u een bestelling aanmaken in HostFact.
Voorbeeldbestand: /voorbeelden/order/order.add.php
Invoerparameters:
| Veldnaam | Waarde | Omschrijving |
|---|---|---|
| OrderCode | string | Het bestelnummer Geef deze parameter niet mee wanneer het bestelnummer automatisch bepaald mag worden. |
| Debtor | int | De unieke ID van een debiteur |
| DebtorCode | string | Het debiteurnummer |
| Date | datetime | De datum van de bestelling |
| Term | int | Betaaltermijn in dagen |
| Discount | float | Korting (totale factuur): percentage 0 - 100 |
| IgnoreDiscount | '0' of '1' | Kortingsmodule negeren (0 = nee en 1 = ja) Standaard: 0 |
| Coupon | string | Kortings actiecode/coupon |
| VatCalcMethod | 'excl' of 'incl' | BTW rekenen op basis van exclusief of inclusief BTW? Standaard: gebruikt administratie instelling |
| CompanyName | string | Debiteur: bedrijfsnaam |
| Sex | 'm', 'f', 'd' of 'u' | Debiteur: geslacht. Standaard: 'm' |
| Initials | string | Debiteur: voornaam |
| SurName | string | Debiteur: achternaam |
| Address | string | Debiteur: adres |
| ZipCode | string | Debiteur: postcode |
| City | string | Debiteur: plaats |
| Country | string | Debiteur: land, zie variabelen-lijst |
| EmailAddress | string | Debiteur: e-mailadres |
| InvoiceMethod | int | Factuur verzendmethode, zie variabelen-lijst. Standaard: voorkeur debiteur |
| Template | int | Factuur template ID. Standaard: debiteur instelling |
| Authorisation | 'yes' of 'no' | Automatische incasso, standaard: voorkeur debiteur |
| Paid | '0' of '1' | Is de bestelling betaald (0 = nee en 1 = ja) Standaard: 0 |
| PaymentMethod | string | Betaalmethode hoe de bestelling is betaald, zie variabelen-lijst |
| TransactionID | string | Transactie ID van (online) betaling |
| IPAddress | string | IP-adres van debiteur |
| Comment | text | Opmerking |
| Status | int | Bestelstatus, zie variabelen-lijst. Standaard: 0 (Ontvangen) |
| OrderLines | array | Bestelregel: |
| - Date | date | Datum. Standaard: vandaag |
| - Number | float | Aantal. Standaard: 1 |
| - ProductCode | string | Productnummer |
| - Description | text | Omschrijving |
| - PriceExcl | float | Prijs per stuk (excl. BTW) |
| - DiscountPercentage | float | Korting bestelregel, percentage: 0 - 100 |
| - DiscountPercentageType | 'line' of 'subscription' | Type korting (enkel bestelregel of later ook voor abonnement) |
| - TaxPercentage | float | BTW percentage: 0 - 100 |
| - PeriodicType | 'once' of 'period' | Periodiek factureren? Standaard: 'once' (eenmalig) |
| - Periods | int | Factureer iedere: aantal periodes |
| - Periodic | string | Factureer iedere: eenheid, zie variabelen-lijst |
| - ProductType | string | Gekoppelde dienst: domain, hosting of ssl. Standaard: leeg |
| - Reference | int | Het kenmerk van de gekoppelde dienst |
* Debiteurgegevens worden automatisch ingevuld door de variabele 'Debtor' of 'DebtorCode'.
** Factuurregel: Indien 'ProductCode' wordt meegegeven worden automatisch de 'Description', 'PriceExcl', 'TaxPercentage', 'PeriodicType', 'Periods', 'Periodic' en 'StartPeriod' ingevuld.
Voorbeeld invoer:
<?php
require_once("../hostfact_api.php");
$api = new HostFactAPI();
$orderParams = array(
'DebtorCode' => 'DB0001',
// Order line
'OrderLines' => array(
array(
'Description' => 'Setupfee',
'PriceExcl' => 150
),
array(
'ProductCode' => 'P003',
'Description' => 'Domain example.com'
)
)
);
$response = $api->sendRequest('order', 'add', $orderParams);
print_r_pre($response);
?>Voorbeeld uitvoer:
Array
(
[controller] => order
[action] => add
[status] => success
[date] => 2022-11-24T12:00:00+02:00
[order] => Array
(
[Identifier] => 2
[OrderCode] => B0002
[Debtor] => 1
[Date] => 2022-11-24 11:48:50
[Term] => 14
[AmountExcl] => 165.00
[AmountTax] => 34.65
[AmountIncl] => 199.65
[Discount] => 0
[VatCalcMethod] => excl
[IgnoreDiscount] => no
[Coupon] =>
[CompanyName] => Company X
[Sex] => m
[Initials] => John
[SurName] => Jackson
[Address] => Keizersgracht 100
[ZipCode] => 1015 AA
[City] => Amsterdam
[Country] => NL
[EmailAddress] => info@company.com
[InvoiceMethod] => 0
[Template] => 0
[Authorisation] => no
[PaymentMethod] =>
[Paid] => 0
[TransactionID] =>
[IPAddress] =>
[Comment] =>
[Status] => 0
[OrderLines] => Array
(
[0] => Array
(
[Identifier] => 3
[Date] => 2022-11-24
[Number] => 1
[ProductCode] =>
[Description] => Setupfee
[PriceExcl] => 150
[TaxPercentage] => 21
[DiscountPercentage] => 0
[DiscountPercentageType] => line
[Periods] => 1
[Periodic] =>
[ProductType] =>
[Reference] => 0
[NoDiscountAmountIncl] => 181.5
[NoDiscountAmountExcl] => 150
[DiscountAmountIncl] => 0
[DiscountAmountExcl] => 0
)
[1] => Array
(
[Identifier] => 4
[Date] => 2022-11-24
[Number] => 1
[ProductCode] => P003
[Description] => Domain example.com
[PriceExcl] => 15
[TaxPercentage] => 21
[DiscountPercentage] => 0
[DiscountPercentageType] => line
[Periods] => 1
[Periodic] => j
[ProductType] =>
[Reference] => 0
[NoDiscountAmountIncl] => 18.15
[NoDiscountAmountExcl] => 15
[DiscountAmountIncl] => 0
[DiscountAmountExcl] => 0
)
)
[Created] => 2022-11-24 11:00:00
[Modified] => 2022-11-24 11:00:00
[Translations] => Array
(
[Country] => Nederland
[InvoiceMethod] => Per e-mail
[Template] =>
[PaymentMethod] =>
[Status] => Ontvangen
)
[AmountDiscount] => 0
[AmountDiscountIncl] => 0
[UsedTaxrates] => Array
(
[0.21] => Array
(
[AmountExcl] => 165
[AmountTax] => 34.65
[AmountIncl] => 199.65
)
)
)
)