ChatwootApiRepository
extends AbstractChatwootApi
in package
Uses
NotificationParamParseTrait
Holds methods that used to comunicate with the Chatwoot API.
Tags
Table of Contents
Methods
- closeConversation() : mixed
- createContact() : array<string|int, mixed>
- createConversation() : void
- formatInvoiceValue() : string
- getClientEmailByClientId() : string
- getClientFirstNameByClientId() : string
- getClientFirstTwoNamesByClientId() : string
- getClientFullNameByClientId() : string
- getClientIdByInvoiceId() : int
- getClientIdByOrderId() : int
- getClientIdByTicketId() : int|null
- getClientWhatsAppNumber() : string|null
- getContactConversations() : array<string|int, mixed>
- getContactLastConversation() : array<string|int, mixed>
- getCurrencySeparatorsFromFormatId() : array<string|int, mixed>
- WHMCS format id are related to the formats as follow:
- getHostDomainByHostId() : string
- getInvoiceBalance() : float|null
- Uses localAPI GetInvoice to get the invoice balance.
- getInvoiceCurrency() : stdClass
- Gets the info from the tblcurrencies database table.
- getInvoiceDueDateByInvoiceId() : string
- getInvoiceItems() : array<string|int, mixed>
- getInvoiceItemsByInvoiceId() : string
- getInvoiceItemsDescriptionsByInvoiceId() : array<string|int, mixed>
- getInvoicePdfUrlByInvocieId() : string|null
- getInvoiceSubtotal() : null|string|float
- getInvoiceTotal() : null|string|float
- getItemsRelatedToInvoice() : string
- Tries to get the items of the invoice first using getOrderItemsDescripByOrderId.
- getOrderIdByInvoiceId() : int|null
- getOrderItemsDescripByOrderId() : string
- Line items "type" and "domain".
- getServiceProductNameByProductId() : string
- getSourceIdsByInboxIds() : array<string|int, mixed>
- getTicket() : string
- getTicketEmail() : string
- getTicketMask() : string
- getTicketNameColumn() : string
- getTicketSubject() : string
- getTicketWhatsAppCfValue() : int|null
- request() : array<string|int, mixed>
- Performs a request to Chatwoot's API.
- searchContact() : array<string|int, mixed>
- searchContactAndGetItsIdAndItsInboxesSourceId() : array<string|int, mixed>
- searchForContactOpenConversationByInboxId() : array<string|int, mixed>
- Search for an open conversation for the inbox ID of WhatsApp.
- sendMessageToClient() : array<string|int, mixed>
- Searchs by the client in Chatwoot and sends it the message.
- sendMessageToConversation() : array<string|int, mixed>
- httpRequest() : false|null|array<string|int, mixed>
- response() : array<string|int, mixed>
- Provides a standardized way to return API responses to notifications.
Methods
closeConversation()
public
final closeConversation() : mixed
createContact()
public
final createContact(int $inboxId[, string $name = '' ][, string $email = '' ][, string $phone = '' ]) : array<string|int, mixed>
Parameters
- $inboxId : int
- $name : string = ''
- $email : string = ''
- $phone : string = ''
Tags
Return values
array<string|int, mixed>createConversation()
public
final createConversation(int $contactId, int|null $contactSourceId, int $inboxId[, string $status = 'open' ]) : void
Parameters
- $contactId : int
- $contactSourceId : int|null
- $inboxId : int
- $status : string = 'open'
Tags
formatInvoiceValue()
public
static formatInvoiceValue(int $invoiceId, float $value) : string
Parameters
- $invoiceId : int
- $value : float
Return values
stringgetClientEmailByClientId()
public
static getClientEmailByClientId(int $clientId) : string
Parameters
- $clientId : int
Return values
stringgetClientFirstNameByClientId()
public
static getClientFirstNameByClientId(int $id) : string
Parameters
- $id : int
Return values
stringgetClientFirstTwoNamesByClientId()
public
static getClientFirstTwoNamesByClientId(int $id) : string
Parameters
- $id : int
Return values
stringgetClientFullNameByClientId()
public
static getClientFullNameByClientId(int $id) : string
Parameters
- $id : int
Return values
stringgetClientIdByInvoiceId()
public
getClientIdByInvoiceId(int $invoiceId) : int
Parameters
- $invoiceId : int
Return values
intgetClientIdByOrderId()
public
getClientIdByOrderId(int $orderId) : int
Parameters
- $orderId : int
Return values
intgetClientIdByTicketId()
public
getClientIdByTicketId(int $ticketId) : int|null
Parameters
- $ticketId : int
Return values
int|nullgetClientWhatsAppNumber()
public
static getClientWhatsAppNumber(int $clientId) : string|null
Parameters
- $clientId : int
Return values
string|nullgetContactConversations()
public
final getContactConversations(int $contactId) : array<string|int, mixed>
Parameters
- $contactId : int
Tags
Return values
array<string|int, mixed>getContactLastConversation()
public
final getContactLastConversation(int $contactId, int $inboxId) : array<string|int, mixed>
Parameters
- $contactId : int
- $inboxId : int
Tags
Return values
array<string|int, mixed>getCurrencySeparatorsFromFormatId()
WHMCS format id are related to the formats as follow:
public
static getCurrencySeparatorsFromFormatId(int $formatId) : array<string|int, mixed>
1 - 1234.56 2 - 1,234.56 3 - 1.234,56 4 - 1,234
Parameters
- $formatId : int
Return values
array<string|int, mixed> —an array as: [decimal => '', thousands => ''].
getHostDomainByHostId()
public
getHostDomainByHostId(int $hostId) : string
Parameters
- $hostId : int
Return values
stringgetInvoiceBalance()
Uses localAPI GetInvoice to get the invoice balance.
public
static getInvoiceBalance(int $invoiceId[, bool $formatFriendly = true ]) : float|null
Parameters
- $invoiceId : int
- $formatFriendly : bool = true
Tags
Return values
float|nullgetInvoiceCurrency()
Gets the info from the tblcurrencies database table.
public
static getInvoiceCurrency(int $invoiceId) : stdClass
Parameters
- $invoiceId : int
Return values
stdClassgetInvoiceDueDateByInvoiceId()
public
static getInvoiceDueDateByInvoiceId(int $invoiceId) : string
Parameters
- $invoiceId : int
Return values
stringgetInvoiceItems()
public
getInvoiceItems(int $invoiceId) : array<string|int, mixed>
Parameters
- $invoiceId : int
Tags
Return values
array<string|int, mixed> —An array of items like: ( [id] => [type] => [relid] => [description] => [amount] => [taxed] => [product_id] => ) Some items may not have a product_id since it must be a manually-added product or a taxe.
getInvoiceItemsByInvoiceId()
public
static getInvoiceItemsByInvoiceId(int $invoiceId) : string
Parameters
- $invoiceId : int
Return values
stringgetInvoiceItemsDescriptionsByInvoiceId()
public
static getInvoiceItemsDescriptionsByInvoiceId(int $invoiceId) : array<string|int, mixed>
Parameters
- $invoiceId : int
Tags
Return values
array<string|int, mixed> —[0 => Description 1, 1 => Description 2]
getInvoicePdfUrlByInvocieId()
public
static getInvoicePdfUrlByInvocieId(int $id[, bool $returnNullOtherwise = false ]) : string|null
Parameters
- $id : int
- $returnNullOtherwise : bool = false
Return values
string|nullgetInvoiceSubtotal()
public
static getInvoiceSubtotal(int $invoiceId[, bool $formatFriendly = true ]) : null|string|float
Parameters
- $invoiceId : int
- $formatFriendly : bool = true
Return values
null|string|floatgetInvoiceTotal()
public
static getInvoiceTotal(int $invoiceId[, bool $formatFriendly = true ]) : null|string|float
Parameters
- $invoiceId : int
- $formatFriendly : bool = true
Return values
null|string|floatgetItemsRelatedToInvoice()
Tries to get the items of the invoice first using getOrderItemsDescripByOrderId.
public
static getItemsRelatedToInvoice(int $invoiceId) : string
If an empty string is returned, the uses getInvoiceItemsByInvoiceId.
Parameters
- $invoiceId : int
Tags
Return values
stringgetOrderIdByInvoiceId()
public
static getOrderIdByInvoiceId(int $invoiceId) : int|null
Parameters
- $invoiceId : int
Return values
int|nullgetOrderItemsDescripByOrderId()
Line items "type" and "domain".
public
static getOrderItemsDescripByOrderId(int $orderId) : string
Parameters
- $orderId : int
Tags
Return values
stringgetServiceProductNameByProductId()
public
static getServiceProductNameByProductId(int $productId) : string
Parameters
- $productId : int
Return values
stringgetSourceIdsByInboxIds()
public
getSourceIdsByInboxIds(array<string|int, mixed> $contactInboxes) : array<string|int, mixed>
Parameters
- $contactInboxes : array<string|int, mixed>
-
must be equal to the contact_inboxes returned by the API.
Tags
Return values
array<string|int, mixed> —[{inbox_id} => {source_id}, ...]
getTicket()
public
getTicket(int $ticketId, string $column) : string
Parameters
- $ticketId : int
- $column : string
Return values
stringgetTicketEmail()
public
getTicketEmail(int $ticketId) : string
Parameters
- $ticketId : int
Return values
stringgetTicketMask()
public
getTicketMask(int $ticketId) : string
Parameters
- $ticketId : int
Return values
stringgetTicketNameColumn()
public
getTicketNameColumn(int $ticketId) : string
Parameters
- $ticketId : int
Return values
stringgetTicketSubject()
public
getTicketSubject(int $ticketId) : string
Parameters
- $ticketId : int
Return values
stringgetTicketWhatsAppCfValue()
public
getTicketWhatsAppCfValue(int $ticketId) : int|null
Parameters
- $ticketId : int
Return values
int|nullrequest()
Performs a request to Chatwoot's API.
public
final request(string $method, string $endpoint[, array<string|int, mixed> $body = [] ][, array<string|int, mixed> $headers = [] ]) : array<string|int, mixed>
Parameters
- $method : string
- $endpoint : string
- $body : array<string|int, mixed> = []
- $headers : array<string|int, mixed> = []
Tags
Return values
array<string|int, mixed> —raw API response converted to array or an empty array on failure.
searchContact()
public
final searchContact(string $searchQuery) : array<string|int, mixed>
Parameters
- $searchQuery : string
Tags
Return values
array<string|int, mixed>searchContactAndGetItsIdAndItsInboxesSourceId()
public
searchContactAndGetItsIdAndItsInboxesSourceId(string $searchQuery) : array<string|int, mixed>
Parameters
- $searchQuery : string
Tags
Return values
array<string|int, mixed>searchForContactOpenConversationByInboxId()
Search for an open conversation for the inbox ID of WhatsApp.
public
final searchForContactOpenConversationByInboxId(int $contactId, int $inboxId) : array<string|int, mixed>
Parameters
- $contactId : int
- $inboxId : int
Tags
Return values
array<string|int, mixed>sendMessageToClient()
Searchs by the client in Chatwoot and sends it the message.
public
final sendMessageToClient(int $clientId, int $inboxId, int $searchBy, string $message[, bool $private = false ][, string $settingPrivateNoteMode = 'open_new_conversation' ]) : array<string|int, mixed>
If necessary, the method creates a new contact and a new open conversation.
Parameters
- $clientId : int
- $inboxId : int
- $searchBy : int
- $message : string
- $private : bool = false
- $settingPrivateNoteMode : string = 'open_new_conversation'
Tags
Return values
array<string|int, mixed>sendMessageToConversation()
public
final sendMessageToConversation(int $conversationId, string $content[, string $contentType = 'text' ][, string $msgType = 'outgoing' ][, bool $private = false ][, array<string|int, mixed> $contentAttrs = [] ]) : array<string|int, mixed>
Parameters
- $conversationId : int
- $content : string
- $contentType : string = 'text'
- $msgType : string = 'outgoing'
-
outgoing or incoming
- $private : bool = false
- $contentAttrs : array<string|int, mixed> = []
Tags
Return values
array<string|int, mixed> —returns the message ID.
httpRequest()
protected
httpRequest(string $method, string $baseUrl, string $endpoint[, array<string|int, mixed> $body = [] ][, array<string|int, mixed> $headers = [] ]) : false|null|array<string|int, mixed>
Parameters
- $method : string
- $baseUrl : string
- $endpoint : string
- $body : array<string|int, mixed> = []
- $headers : array<string|int, mixed> = []
Tags
Return values
false|null|array<string|int, mixed> —false may be returned also due to license problems.
response()
Provides a standardized way to return API responses to notifications.
protected
response(bool $success[, array<string|int, mixed> $data = [] ]) : array<string|int, mixed>
Parameters
- $success : bool
- $data : array<string|int, mixed> = []