mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-04 04:57:51 +00:00 
			
		
		
		
	Fixes https://github.com/chatwoot/chatwoot/issues/9600 **Summary** - Added manual WhatsApp templates sync functionality accessible via UI - Added refresh button in both inbox settings and template picker modal - Enhanced template picker to always show for WhatsApp Cloud channels (even when empty) **Preview** <img width="1456" height="798" alt="CleanShot 2025-07-22 at 14 15 28@2x" src="https://github.com/user-attachments/assets/8a04ff26-61fa-42ee-a1b8-5e06433ae6e0" /> <img width="2376" height="1574" alt="CleanShot 2025-07-22 at 14 19 24@2x" src="https://github.com/user-attachments/assets/1c772034-04ff-484d-88dd-ca8123e93065" /> --------- Co-authored-by: iamsivin <iamsivin@gmail.com>
		
			
				
	
	
		
			38 lines
		
	
	
		
			832 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			832 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* global axios */
 | 
						|
import CacheEnabledApiClient from './CacheEnabledApiClient';
 | 
						|
 | 
						|
class Inboxes extends CacheEnabledApiClient {
 | 
						|
  constructor() {
 | 
						|
    super('inboxes', { accountScoped: true });
 | 
						|
  }
 | 
						|
 | 
						|
  // eslint-disable-next-line class-methods-use-this
 | 
						|
  get cacheModelName() {
 | 
						|
    return 'inbox';
 | 
						|
  }
 | 
						|
 | 
						|
  getCampaigns(inboxId) {
 | 
						|
    return axios.get(`${this.url}/${inboxId}/campaigns`);
 | 
						|
  }
 | 
						|
 | 
						|
  deleteInboxAvatar(inboxId) {
 | 
						|
    return axios.delete(`${this.url}/${inboxId}/avatar`);
 | 
						|
  }
 | 
						|
 | 
						|
  getAgentBot(inboxId) {
 | 
						|
    return axios.get(`${this.url}/${inboxId}/agent_bot`);
 | 
						|
  }
 | 
						|
 | 
						|
  setAgentBot(inboxId, botId) {
 | 
						|
    return axios.post(`${this.url}/${inboxId}/set_agent_bot`, {
 | 
						|
      agent_bot: botId,
 | 
						|
    });
 | 
						|
  }
 | 
						|
 | 
						|
  syncTemplates(inboxId) {
 | 
						|
    return axios.post(`${this.url}/${inboxId}/sync_templates`);
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
export default new Inboxes();
 |