dolibarr  17.0.4
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
Thirdparties Class Reference
Inheritance diagram for Thirdparties:
Inheritance graph
[legend]
Collaboration diagram for Thirdparties:
Collaboration graph
[legend]

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 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
 _checkValForAPI ($field, $value, $object)
 Check and convert a string depending on its type/name. More...
 
 _checkFilters ($sqlfilters, &$error='')
 Return if a $sqlfilters parameter is valid Function no more used. 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 access by user to a given resource. More...
 
static _forge_criteria_callback ($matches)
 Function to forge a SQL criteria from a Generic filter string. More...
 

Detailed Description

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

Member Function Documentation

◆ _cleanObjectDatas()

Thirdparties::_cleanObjectDatas (   $object)
protected

Clean sensible object datas.

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

Reimplemented from DolibarrApi.

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

◆ _fetch()

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 1880 of file api_thirdparties.class.php.

◆ _validate()

Thirdparties::_validate (   $data)
private

Validate fields before create or update object.

Parameters
array$dataDatas to validate
Returns
array
Exceptions
RestException

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

◆ addCategory()

Thirdparties::addCategory (   $id,
  $category_id 
)

Add a customer category to a thirdparty.

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

@url POST {id}/categories/{category_id}

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

◆ addSupplierCategory()

Thirdparties::addSupplierCategory (   $id,
  $category_id 
)

Add a supplier category to a thirdparty.

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

@url POST {id}/supplier_categories/{category_id}

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

◆ createCompanyBankAccount()

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

@url POST {id}/bankaccounts

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

◆ createSocieteAccount()

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>
Example body payload :

{"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

@url POST {id}/gateways

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

◆ delete()

Thirdparties::delete (   $id)

Delete thirdparty.

Parameters
int$idThirdparty ID
Returns
integer

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

◆ deleteCategory()

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

@url DELETE {id}/categories/{category_id}

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

◆ deleteCompanyBankAccount()

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

@url DELETE {id}/bankaccounts/{bankaccount_id}

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

◆ deleteSocieteAccount()

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

@url DELETE {id}/gateways/{site}

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

◆ deleteSocieteAccounts()

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

@url DELETE {id}/gateways

We select all the records that match the socid

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

◆ deleteSupplierCategory()

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

@url DELETE {id}/supplier_categories/{category_id}

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

◆ generateBankAccountDocument()

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

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

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

◆ get()

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.

◆ getByBarcode()

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

@url GET barcode/{barcode}

Exceptions
RestException

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

◆ getByEmail()

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

@url GET email/{email}

Exceptions
RestException

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

◆ getCategories()

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

@url GET {id}/categories

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

◆ getCompanyBankAccount()

Thirdparties::getCompanyBankAccount (   $id)

Get CompanyBankAccount objects for thirdparty.

Parameters
int$idID of thirdparty
Returns
array

@url GET {id}/bankaccounts

We select all the records that match the socid

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

◆ getFixedAmountDiscounts()

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 {@choice none,available,used}
string$sortfieldSort field
string$sortorderSort order

@url GET {id}/fixedamountdiscounts

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

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

◆ getInvoicesQualifiedForCreditNote()

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

@url GET {id}/getinvoicesqualifiedforcreditnote

Returns
array
Exceptions
RestException400
RestException401
RestException404
RestException405

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

◆ getInvoicesQualifiedForReplacement()

Thirdparties::getInvoicesQualifiedForReplacement (   $id)

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

Parameters
int$idId of thirdparty

@url GET {id}/getinvoicesqualifiedforreplacement

Returns
array
Exceptions
RestException400
RestException401
RestException404
RestException405

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

◆ getOutStandingInvoices()

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

Get outstanding invoices of thirdparty.

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

@url GET {id}/outstandinginvoices

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

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

◆ getOutStandingOrder()

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

Get outstanding orders of thirdparty.

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

@url GET {id}/outstandingorders

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

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

◆ getOutStandingProposals()

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

Get outstanding proposals of thirdparty.

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

@url GET {id}/outstandingproposals

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

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

◆ getSalesRepresentatives()

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

Get representatives of thirdparty.

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

@url GET {id}/representatives

Returns
array List of representatives of thirdparty
Exceptions
RestException400
RestException401
RestException404

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

◆ getSocieteAccounts()

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

@url GET {id}/gateways/

We select all the records that match the socid

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

◆ getSupplierCategories()

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

@url GET {id}/supplier_categories

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

◆ index()

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%') or (t.name_alias:like:'TheCompany%')) and (t.datec:<:'20160101')"
Returns
array Array of thirdparty objects

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

◆ merge()

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

@url PUT {id}/merge/{idtodelete}

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

◆ patchSocieteAccount()

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

Update specified values of a specific 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

@url PATCH {id}/gateways/{site}

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

◆ post()

Thirdparties::post (   $request_data = null)

Create thirdparty object.

Parameters
array$request_dataRequest datas
Returns
int ID of thirdparty

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

◆ put()

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 282 of file api_thirdparties.class.php.

◆ putSocieteAccount()

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

@url PUT {id}/gateways/{site}

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

◆ setThirdpartyPriceLevel()

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

@url 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 571 of file api_thirdparties.class.php.

◆ updateCompanyBankAccount()

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

@url PUT {id}/bankaccounts/{bankaccount_id}

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


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