WhatsApp and Chatwoot

ChatwootApiRepository extends AbstractChatwootApi
in package
Uses NotificationParamParseTrait

FinalYes

Holds methods that used to comunicate with the Chatwoot API.

Tags
since
3.0.0

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

formatInvoiceValue()

public static formatInvoiceValue(int $invoiceId, float $value) : string
Parameters
$invoiceId : int
$value : float
Return values
string

getClientEmailByClientId()

public static getClientEmailByClientId(int $clientId) : string
Parameters
$clientId : int
Return values
string

getClientFirstNameByClientId()

public static getClientFirstNameByClientId(int $id) : string
Parameters
$id : int
Return values
string

getClientFirstTwoNamesByClientId()

public static getClientFirstTwoNamesByClientId(int $id) : string
Parameters
$id : int
Return values
string

getClientFullNameByClientId()

public static getClientFullNameByClientId(int $id) : string
Parameters
$id : int
Return values
string

getClientIdByInvoiceId()

public getClientIdByInvoiceId(int $invoiceId) : int
Parameters
$invoiceId : int
Return values
int

getClientIdByOrderId()

public getClientIdByOrderId(int $orderId) : int
Parameters
$orderId : int
Return values
int

getClientIdByTicketId()

public getClientIdByTicketId(int $ticketId) : int|null
Parameters
$ticketId : int
Return values
int|null

getClientWhatsAppNumber()

public static getClientWhatsAppNumber(int $clientId) : string|null
Parameters
$clientId : int
Return values
string|null

getContactLastConversation()

public final getContactLastConversation(int $contactId, int $inboxId) : array<string|int, mixed>
Parameters
$contactId : int
$inboxId : int
Tags
since
3.4.0
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
string

getInvoiceCurrency()

Gets the info from the tblcurrencies database table.

public static getInvoiceCurrency(int $invoiceId) : stdClass
Parameters
$invoiceId : int
Return values
stdClass

getInvoiceDueDateByInvoiceId()

public static getInvoiceDueDateByInvoiceId(int $invoiceId) : string
Parameters
$invoiceId : int
Return values
string

getInvoiceItems()

public getInvoiceItems(int $invoiceId) : array<string|int, mixed>
Parameters
$invoiceId : int
Tags
since
2.0.0
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
string

getInvoiceItemsDescriptionsByInvoiceId()

public static getInvoiceItemsDescriptionsByInvoiceId(int $invoiceId) : array<string|int, mixed>
Parameters
$invoiceId : int
Tags
since
3.0.1
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|null

getInvoiceSubtotal()

public static getInvoiceSubtotal(int $invoiceId[, bool $formatFriendly = true ]) : null|string|float
Parameters
$invoiceId : int
$formatFriendly : bool = true
Return values
null|string|float

getInvoiceTotal()

public static getInvoiceTotal(int $invoiceId[, bool $formatFriendly = true ]) : null|string|float
Parameters
$invoiceId : int
$formatFriendly : bool = true
Return values
null|string|float

getItemsRelatedToInvoice()

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
since
3.4.0
Return values
string

getOrderIdByInvoiceId()

public static getOrderIdByInvoiceId(int $invoiceId) : int|null
Parameters
$invoiceId : int
Return values
int|null

getOrderItemsDescripByOrderId()

Line items "type" and "domain".

public static getOrderItemsDescripByOrderId(int $orderId) : string
Parameters
$orderId : int
Tags
since
2.0.0
Return values
string

getServiceProductNameByProductId()

public static getServiceProductNameByProductId(int $productId) : string
Parameters
$productId : int
Return values
string

getSourceIdsByInboxIds()

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
since
3.0.0
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
string

getTicketNameColumn()

public getTicketNameColumn(int $ticketId) : string
Parameters
$ticketId : int
Return values
string

getTicketSubject()

public getTicketSubject(int $ticketId) : string
Parameters
$ticketId : int
Return values
string

getTicketWhatsAppCfValue()

public getTicketWhatsAppCfValue(int $ticketId) : int|null
Parameters
$ticketId : int
Return values
int|null

request()

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
since
3.0.0
Return values
array<string|int, mixed>

raw API response converted to array or an empty array on failure.

searchContactAndGetItsIdAndItsInboxesSourceId()

public searchContactAndGetItsIdAndItsInboxesSourceId(string $searchQuery) : array<string|int, mixed>
Parameters
$searchQuery : string
Tags
since
3.0.0
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
since
3.0.0
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
since
3.0.0
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
since
3.0.0
link
https://www.chatwoot.com/developers/api/#tag/Messages/operation/create-a-new-message-in-a-conversation
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
since
3.0.0
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> = []
Tags
since
3.0.0
Return values
array<string|int, mixed>

        
On this page

Search results