dolibarr  13.0.2
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
Thirdparties Class Reference
+ Inheritance diagram for Thirdparties:
+ Collaboration diagram for Thirdparties:

Public Member Functions

 __construct ()
 Constructor.
 
 get ($id)
 Get properties of a thirdparty object. More...
 
 getByEmail ($email)
 Get properties of a thirdparty object by email. More...
 
 getByBarcode ($barcode)
 Get properties of a thirdparty object by barcode. More...
 
 index ($sortfield="t.rowid", $sortorder= 'ASC', $limit=100, $page=0, $mode=0, $category=0, $sqlfilters= '')
 List thirdparties. More...
 
 post ($request_data=null)
 Create thirdparty object. More...
 
 put ($id, $request_data=null)
 Update thirdparty. More...
 
 merge ($id, $idtodelete)
 Merge a thirdparty into another one. More...
 
 delete ($id)
 Delete thirdparty. More...
 
 setThirdpartyPriceLevel ($id, $priceLevel)
 Set new price level for the given thirdparty. More...
 
 getCategories ($id, $sortfield="s.rowid", $sortorder= 'ASC', $limit=0, $page=0)
 Get customer categories for a thirdparty. More...
 
 addCategory ($id, $category_id)
 Add a customer category to a thirdparty. More...
 
 deleteCategory ($id, $category_id)
 Remove the link between a customer category and the thirdparty. More...
 
 getSupplierCategories ($id, $sortfield="s.rowid", $sortorder= 'ASC', $limit=0, $page=0)
 Get supplier categories for a thirdparty. More...
 
 addSupplierCategory ($id, $category_id)
 Add a supplier category to a thirdparty. More...
 
 deleteSupplierCategory ($id, $category_id)
 Remove the link between a category and the thirdparty. More...
 
 getOutStandingProposals ($id, $mode= 'customer')
 Get outstanding proposals of thirdparty. More...
 
 getOutStandingOrder ($id, $mode= 'customer')
 Get outstanding orders of thirdparty. More...
 
 getOutStandingInvoices ($id, $mode= 'customer')
 Get outstanding invoices of thirdparty. More...
 
 getSalesRepresentatives ($id, $mode=0)
 Get representatives of thirdparty. More...
 
 getFixedAmountDiscounts ($id, $filter="none", $sortfield="f.type", $sortorder= 'ASC')
 Get fixed amount discount of a thirdparty (all sources: deposit, credit note, commercial offers...) More...
 
 getInvoicesQualifiedForReplacement ($id)
 Return list of invoices qualified to be replaced by another invoice. More...
 
 getInvoicesQualifiedForCreditNote ($id)
 Return list of invoices qualified to be corrected by a credit note. More...
 
 getCompanyBankAccount ($id)
 Get CompanyBankAccount objects for thirdparty. More...
 
 createCompanyBankAccount ($id, $request_data=null)
 Create CompanyBankAccount object for thirdparty. More...
 
 updateCompanyBankAccount ($id, $bankaccount_id, $request_data=null)
 Update CompanyBankAccount object for thirdparty. More...
 
 deleteCompanyBankAccount ($id, $bankaccount_id)
 Delete a bank account attached to a thirdparty. More...
 
 generateBankAccountDocument ($id, $companybankid=null, $model= 'sepamandate')
 Generate a Document from a bank account record (like SEPA mandate) More...
 
 getSocieteAccounts ($id, $site=null)
 Get a specific gateway attached to a thirdparty (by specifying the site key) More...
 
 createSocieteAccount ($id, $request_data=null)
 Create and attach a new gateway to an existing thirdparty. More...
 
 putSocieteAccount ($id, $site, $request_data=null)
 Create and attach a new (or replace an existing) specific site gateway to a thirdparty. More...
 
 patchSocieteAccount ($id, $site, $request_data=null)
 Update specified values of a specific site gateway attached to a thirdparty. More...
 
 deleteSocieteAccount ($id, $site)
 Delete a specific site gateway attached to a thirdparty (by gateway id) More...
 
 deleteSocieteAccounts ($id)
 Delete all gateways attached to a thirdparty. More...
 
- Public Member Functions inherited from DolibarrApi
 __construct ($db, $cachedir= '', $refreshCache=false)
 Constructor. More...
 

Protected Member Functions

 _cleanObjectDatas ($object)
 Clean sensible object datas. More...
 
- Protected Member Functions inherited from DolibarrApi
 _cleanObjectDatas ($object)
 Executed method when API is called without parameter. More...
 
 _checkFilters ($sqlfilters)
 Return if a $sqlfilters parameter is valid. More...
 

Private Member Functions

 _validate ($data)
 Validate fields before create or update object. More...
 
 _fetch ($rowid, $ref= '', $ref_ext= '', $barcode= '', $idprof1= '', $idprof2= '', $idprof3= '', $idprof4= '', $idprof5= '', $idprof6= '', $email= '', $ref_alias= '')
 Fetch properties of a thirdparty object. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from DolibarrApi
static _checkAccessToResource ($resource, $resource_id=0, $dbtablename= '', $feature2= '', $dbt_keyfield= 'fk_soc', $dbt_select= 'rowid')
 Check user access to a resource. More...
 
static _forge_criteria_callback ($matches)
 Function to forge a SQL criteria. More...
 

Detailed Description

Definition at line 30 of file api_thirdparties.class.php.

Member Function Documentation

Thirdparties::_cleanObjectDatas (   $object)
protected

Clean sensible object datas.

Parameters
Object$objectObject to clean
Returns
array|mixed Object with cleaned properties

Definition at line 1737 of file api_thirdparties.class.php.

Referenced by _fetch(), addCategory(), addSupplierCategory(), createCompanyBankAccount(), createSocieteAccount(), deleteCategory(), deleteSupplierCategory(), index(), patchSocieteAccount(), putSocieteAccount(), setThirdpartyPriceLevel(), and updateCompanyBankAccount().

Thirdparties::_fetch (   $rowid,
  $ref = '',
  $ref_ext = '',
  $barcode = '',
  $idprof1 = '',
  $idprof2 = '',
  $idprof3 = '',
  $idprof4 = '',
  $idprof5 = '',
  $idprof6 = '',
  $email = '',
  $ref_alias = '' 
)
private

Fetch properties of a thirdparty object.

Return an array with thirdparty informations

Parameters
int$rowidId of third party to load (Use 0 to get a specimen record, use null to use other search criterias)
string$refReference of third party, name (Warning, this can return several records)
string$ref_extExternal reference of third party (Warning, this information is a free field not provided by Dolibarr)
string$barcodeBarcode of third party to load
string$idprof1Prof id 1 of third party (Warning, this can return several records)
string$idprof2Prof id 2 of third party (Warning, this can return several records)
string$idprof3Prof id 3 of third party (Warning, this can return several records)
string$idprof4Prof id 4 of third party (Warning, this can return several records)
string$idprof5Prof id 5 of third party (Warning, this can return several records)
string$idprof6Prof id 6 of third party (Warning, this can return several records)
string$emailEmail of third party (Warning, this can return several records)
string$ref_aliasName_alias of third party (Warning, this can return several records)
Returns
array|mixed cleaned Societe object
Exceptions
RestException

Definition at line 1812 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), _cleanObjectDatas(), and price2num().

Referenced by get(), getByBarcode(), and getByEmail().

Thirdparties::_validate (   $data)
private

Validate fields before create or update object.

Parameters
array$dataDatas to validate
Returns
array
Exceptions
RestException

Definition at line 1780 of file api_thirdparties.class.php.

Referenced by post().

Thirdparties::addCategory (   $id,
  $category_id 
)

Add a customer category to a thirdparty.

Parameters
int$idId of thirdparty
int$category_idId of category
Returns
mixed

POST {id}/categories/{category_id}

Definition at line 619 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), _cleanObjectDatas(), and db.

Thirdparties::addSupplierCategory (   $id,
  $category_id 
)

Add a supplier category to a thirdparty.

Parameters
int$idId of thirdparty
int$category_idId of category
Returns
mixed

POST {id}/supplier_categories/{category_id}

Definition at line 737 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), _cleanObjectDatas(), and db.

Thirdparties::createCompanyBankAccount (   $id,
  $request_data = null 
)

Create CompanyBankAccount object for thirdparty.

Parameters
int$idID of thirdparty
array$request_dataRequest data
Returns
array|mixed BankAccount of thirdparty

POST {id}/bankaccounts

Definition at line 1196 of file api_thirdparties.class.php.

References _cleanObjectDatas(), db, and dol_now().

Thirdparties::createSocieteAccount (   $id,
  $request_data = null 
)

Create and attach a new gateway to an existing thirdparty.

Possible fields for request_data (request body) are specified in llx_societe_account table.
See Table llx_societe_account wiki page for more information<br>
<u>Example body payload :</u>

{"key_account": "cus_DAVkLSs1LYyYI", "site": "stripe"}
Parameters
int$idID of thirdparty
array$request_dataRequest data
Returns
array|mixed
Exceptions
RestException401 Unauthorized: User does not have permission to read thirdparties
RestException409 Conflict: A SocieteAccount entity (gateway) already exists for this company and site.
RestException422 Unprocessable Entity: You must pass the site attribute in your request data !
RestException500 Internal Server Error: Error creating SocieteAccount account

POST {id}/gateways

Definition at line 1472 of file api_thirdparties.class.php.

References _cleanObjectDatas(), and db.

Thirdparties::delete (   $id)

Delete thirdparty.

Parameters
int$idThirparty ID
Returns
integer

Definition at line 491 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource().

Thirdparties::deleteCategory (   $id,
  $category_id 
)

Remove the link between a customer category and the thirdparty.

Parameters
int$idId of thirdparty
int$category_idId of category
Returns
mixed

DELETE {id}/categories/{category_id}

Definition at line 657 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), _cleanObjectDatas(), and db.

Thirdparties::deleteCompanyBankAccount (   $id,
  $bankaccount_id 
)

Delete a bank account attached to a thirdparty.

Parameters
int$idID of thirdparty
int$bankaccount_idID of CompanyBankAccount
Returns
int -1 if error 1 if correct deletion

DELETE {id}/bankaccounts/{bankaccount_id}

Definition at line 1283 of file api_thirdparties.class.php.

References db.

Thirdparties::deleteSocieteAccount (   $id,
  $site 
)

Delete a specific site gateway attached to a thirdparty (by gateway id)

Parameters
int$idID of thirdparty
int$siteSite key
Returns
void
Exceptions
RestException401 Unauthorized: User does not have permission to delete thirdparties gateways
RestException404 Not Found: Specified thirdparty ID does not belongs to an existing thirdparty
RestException500 Internal Server Error: Error deleting SocieteAccount entity

DELETE {id}/gateways/{site}

Definition at line 1661 of file api_thirdparties.class.php.

References db.

Thirdparties::deleteSocieteAccounts (   $id)

Delete all gateways attached to a thirdparty.

Parameters
int$idID of thirdparty
Returns
void
Exceptions
RestException401 Unauthorized: User does not have permission to delete thirdparties gateways
RestException404 Not Found: Specified thirdparty ID does not belongs to an existing thirdparty
RestException500 Internal Server Error: Error deleting SocieteAccount entity

DELETE {id}/gateways

We select all the records that match the socid

Definition at line 1695 of file api_thirdparties.class.php.

References db.

Thirdparties::deleteSupplierCategory (   $id,
  $category_id 
)

Remove the link between a category and the thirdparty.

Parameters
int$idId of thirdparty
int$category_idId of category
Returns
mixed

DELETE {id}/supplier_categories/{category_id}

Definition at line 775 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), _cleanObjectDatas(), and db.

Thirdparties::generateBankAccountDocument (   $id,
  $companybankid = null,
  $model = 'sepamandate' 
)

Generate a Document from a bank account record (like SEPA mandate)

Parameters
int$idThirdparty id
int$companybankidCompanybank id
string$modelModel of document to generate
Returns
void

GET {id}/generateBankAccountDocument/{companybankid}/{model}

Definition at line 1309 of file api_thirdparties.class.php.

References db, and dol_sanitizeFileName().

Thirdparties::get (   $id)

Get properties of a thirdparty object.

Return an array with thirdparty informations

Parameters
int$idId of third party to load
Returns
array|mixed Cleaned Societe object
Exceptions
RestException

Definition at line 75 of file api_thirdparties.class.php.

References _fetch().

Thirdparties::getByBarcode (   $barcode)

Get properties of a thirdparty object by barcode.

Return an array with thirdparty informations

Parameters
string$barcodeBarcode of third party to load
Returns
array|mixed Cleaned Societe object

GET barcode/{barcode}

Exceptions
RestException

Definition at line 109 of file api_thirdparties.class.php.

References _fetch().

Thirdparties::getByEmail (   $email)

Get properties of a thirdparty object by email.

Return an array with thirdparty informations

Parameters
string$emailEmail of third party to load
Returns
array|mixed Cleaned Societe object

GET email/{email}

Exceptions
RestException

Definition at line 92 of file api_thirdparties.class.php.

References _fetch().

Thirdparties::getCategories (   $id,
  $sortfield = "s.rowid",
  $sortorder = 'ASC',
  $limit = 0,
  $page = 0 
)

Get customer categories for a thirdparty.

Parameters
int$idID of thirdparty
string$sortfieldSort field
string$sortorderSort order
int$limitLimit for list
int$pagePage number
Returns
mixed

GET {id}/categories

Definition at line 580 of file api_thirdparties.class.php.

References db.

Thirdparties::getCompanyBankAccount (   $id)

Get CompanyBankAccount objects for thirdparty.

Parameters
int$idID of thirdparty
Returns
array

GET {id}/bankaccounts

We select all the records that match the socid

Definition at line 1120 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), and db.

Thirdparties::getFixedAmountDiscounts (   $id,
  $filter = "none",
  $sortfield = "f.type",
  $sortorder = 'ASC' 
)

Get fixed amount discount of a thirdparty (all sources: deposit, credit note, commercial offers...)

Parameters
int$idID of the thirdparty
string$filterFilter exceptional discount. "none" will return every discount, "available" returns unapplied discounts, "used" returns applied discounts { none,available,used}
string$sortfieldSort field
string$sortorderSort order

GET {id}/fixedamountdiscounts

Returns
array List of fixed discount of thirdparty
Exceptions
RestException400
RestException401
RestException404
RestException503

Definition at line 983 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), and db.

Thirdparties::getInvoicesQualifiedForCreditNote (   $id)

Return list of invoices qualified to be corrected by a credit note.

Invoices matching the following rules are returned (validated + payment on process) or classified (paid completely or paid partialy) + not already replaced + not already a credit note

Parameters
int$idId of thirdparty

GET {id}/getinvoicesqualifiedforcreditnote

Returns
array
Exceptions
RestException400
RestException401
RestException404
RestException405

Definition at line 1084 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), and db.

Thirdparties::getInvoicesQualifiedForReplacement (   $id)

Return list of invoices qualified to be replaced by another invoice.

Parameters
int$idId of thirdparty

GET {id}/getinvoicesqualifiedforreplacement

Returns
array
Exceptions
RestException400
RestException401
RestException404
RestException405

Definition at line 1041 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), and db.

Thirdparties::getOutStandingInvoices (   $id,
  $mode = 'customer' 
)

Get outstanding invoices of thirdparty.

Parameters
int$idID of the thirdparty
string$mode'customer' or 'supplier'

GET {id}/outstandinginvoices

Returns
array List of outstandings invoices of thirdparty
Exceptions
RestException400
RestException401
RestException404

Definition at line 901 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource().

Thirdparties::getOutStandingOrder (   $id,
  $mode = 'customer' 
)

Get outstanding orders of thirdparty.

Parameters
int$idID of the thirdparty
string$mode'customer' or 'supplier'

GET {id}/outstandingorders

Returns
array List of outstandings orders of thirdparty
Exceptions
RestException400
RestException401
RestException404

Definition at line 860 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource().

Thirdparties::getOutStandingProposals (   $id,
  $mode = 'customer' 
)

Get outstanding proposals of thirdparty.

Parameters
int$idID of the thirdparty
string$mode'customer' or 'supplier'

GET {id}/outstandingproposals

Returns
array List of outstandings proposals of thirdparty
Exceptions
RestException400
RestException401
RestException404

Definition at line 818 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource().

Thirdparties::getSalesRepresentatives (   $id,
  $mode = 0 
)

Get representatives of thirdparty.

Parameters
int$idID of the thirdparty
string$mode0=Array with properties, 1=Array of id.

GET {id}/representatives

Returns
array List of representatives of thirdparty
Exceptions
RestException400
RestException401
RestException404

Definition at line 942 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource().

Thirdparties::getSocieteAccounts (   $id,
  $site = null 
)

Get a specific gateway attached to a thirdparty (by specifying the site key)

Parameters
int$idID of thirdparty
string$siteSite key
Returns
array|mixed
Exceptions
RestException401 Unauthorized: User does not have permission to read thirdparties
RestException404 Not Found: Specified thirdparty ID does not belongs to an existing thirdparty

GET {id}/gateways/

We select all the records that match the socid

Definition at line 1397 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), and db.

Thirdparties::getSupplierCategories (   $id,
  $sortfield = "s.rowid",
  $sortorder = 'ASC',
  $limit = 0,
  $page = 0 
)

Get supplier categories for a thirdparty.

Parameters
int$idID of thirdparty
string$sortfieldSort field
string$sortorderSort order
int$limitLimit for list
int$pagePage number
Returns
mixed

GET {id}/supplier_categories

Definition at line 698 of file api_thirdparties.class.php.

References db.

Thirdparties::index (   $sortfield = "t.rowid",
  $sortorder = 'ASC',
  $limit = 100,
  $page = 0,
  $mode = 0,
  $category = 0,
  $sqlfilters = '' 
)

List thirdparties.

Get a list of thirdparties

Parameters
string$sortfieldSort field
string$sortorderSort order
int$limitLimit for list
int$pagePage number
int$modeSet to 1 to show only customers Set to 2 to show only prospects Set to 3 to show only those are not customer neither prospect Set to 4 to show only suppliers
int$categoryUse this param to filter list by category
string$sqlfiltersOther criteria to filter answers separated by a comma. Syntax example "(t.nom:like:'TheCompany%') and (t.date_creation:<:'20160101')"
Returns
array Array of thirdparty objects

Definition at line 131 of file api_thirdparties.class.php.

References DolibarrApi\_checkFilters(), _cleanObjectDatas(), and db.

Thirdparties::merge (   $id,
  $idtodelete 
)

Merge a thirdparty into another one.

Merge content (properties, notes) and objects (like invoices, events, orders, proposals, ...) of a thirdparty into a target thirdparty, then delete the merged thirdparty. If a property has a defined value both in thirdparty to delete and thirdparty to keep, the value into the thirdparty to delete will be ignored, the value of target thirdparty will remain, except for notes (content is concatenated).

Parameters
int$idID of thirdparty to keep (the target thirdparty)
int$idtodeleteID of thirdparty to remove (the thirdparty to delete), once data has been merged into the target thirdparty.
Returns
int

PUT {id}/merge/{idtodelete}

Definition at line 292 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), db, dol_concatdesc(), and dol_syslog().

Thirdparties::patchSocieteAccount (   $id,
  $site,
  $request_data = null 
)

Update specified values of a specific site gateway attached to a thirdparty.

Parameters
int$idId of thirdparty
string$siteSite key
array$request_dataRequest data
Returns
array|mixed
Exceptions
RestException401 Unauthorized: User does not have permission to read thirdparties
RestException404 Not Found: Specified thirdparty ID does not belongs to an existing thirdparty
RestException409 Conflict: Another SocieteAccount entity already exists for this thirdparty with this site key.
RestException500 Internal Server Error: Error updating SocieteAccount entity

PATCH {id}/gateways/{site}

Definition at line 1610 of file api_thirdparties.class.php.

References _cleanObjectDatas(), and db.

Thirdparties::post (   $request_data = null)

Create thirdparty object.

Parameters
array$request_dataRequest datas
Returns
int ID of thirdparty

Definition at line 227 of file api_thirdparties.class.php.

References _validate().

Thirdparties::put (   $id,
  $request_data = null 
)

Update thirdparty.

Parameters
int$idId of thirdparty to update
array$request_dataDatas
Returns
array|mixed|boolean

Definition at line 251 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource().

Thirdparties::putSocieteAccount (   $id,
  $site,
  $request_data = null 
)

Create and attach a new (or replace an existing) specific site gateway to a thirdparty.

You MUST pass all values to keep (otherwise, they will be deleted) !
If you just need to update specific fields prefer PATCH /thirdparties/{id}/gateways/{site} endpoint.

When a SocieteAccount entity does not exist for the id and site supplied, a new one will be created. In that case fk_soc and site members form request body payload will be ignored and id and site query strings parameters will be used instead.

Parameters
int$idID of thirdparty
string$siteSite key
array$request_dataRequest data
Returns
array|mixed
Exceptions
RestException401 Unauthorized: User does not have permission to read thirdparties
RestException422 Unprocessable Entity: You must pass the site attribute in your request data !
RestException500 Internal Server Error: Error updating SocieteAccount entity

PUT {id}/gateways/{site}

Definition at line 1529 of file api_thirdparties.class.php.

References _cleanObjectDatas(), and db.

Thirdparties::setThirdpartyPriceLevel (   $id,
  $priceLevel 
)

Set new price level for the given thirdparty.

Parameters
int$idID of thirdparty
int$priceLevelPrice level to apply to thirdparty
Returns
object Thirdparty data without useless information

PUT {id}/setpricelevel

Exceptions
RestException400 Price level out of bounds
RestException401 Access not allowed for your login
RestException404 Thirdparty not found
RestException500 Error fetching/setting price level
RestException501 Request needs modules "Thirdparties" and "Products" and setting Multiprices activated

Definition at line 522 of file api_thirdparties.class.php.

References DolibarrApi\_checkAccessToResource(), and _cleanObjectDatas().

Thirdparties::updateCompanyBankAccount (   $id,
  $bankaccount_id,
  $request_data = null 
)

Update CompanyBankAccount object for thirdparty.

Parameters
int$idID of thirdparty
int$bankaccount_idID of CompanyBankAccount
array$request_dataRequest data
Returns
array|mixed BankAccount of thirdparty

PUT {id}/bankaccounts/{bankaccount_id}

Definition at line 1239 of file api_thirdparties.class.php.

References _cleanObjectDatas(), db, and dol_now().


The documentation for this class was generated from the following file: