zdk.net
BanafoManager.h
1 //
2 // BanafoManager.h
3 // ZDK
4 //
5 
6 #ifndef ZDK_NET_BanafoManager_h
7 #define ZDK_NET_BanafoManager_h
8 
9 #include "native_shared_ptr.h"
10 #include "PublicInterfaces.h"
11 #include "BanafoContact.h"
12 #include "BanafoContactSearchCriteria.h"
13 #include "ContactType.h"
14 #include "String.h"
15 #include "BanafoPhone.h"
16 #include "OriginType.h"
17 #include "RecordingType.h"
18 #include "RecordingStream.h"
19 #include "BanafoCall.h"
20 #include "BanafoRecording.h"
21 #include "BanafoEventsHandler.h"
22 #include "Result.h"
23 #include "ZHandle.h"
24 
25 using namespace System::Collections::Generic;
26 
27 namespace ZDK_NET
28 {
29  ref class BanafoContact;
30  ref class BanafoContactSearchCriteria;
31  ref class BanafoCall;
32  ref class BanafoRecording;
33  ref class BanafoEventsHandler;
34  ref class Result;
35  ref class RecordingStream;
36 
39  public ref class BanafoManager : ZHandle
40  {
41  private:
42  //LISTENERS:
43  static GeneralStatusEventListener *BanafoEventsHandler_Listener = nullptr;
44 
45  static bool RegisterEventListeners()
46  {
47  std::shared_ptr<GeneralStatusEventListener> BanafoEventsHandler_Listener_tmp = std::make_shared<GeneralStatusEventListener>();
48  BanafoEventsHandler_Listener = BanafoEventsHandler_Listener_tmp.get();
49  listenersMap->try_emplace(reinterpret_cast<intptr_t>(BanafoEventsHandler_Listener), std::move(BanafoEventsHandler_Listener_tmp));
50  return true;
51  }
52 
53  static bool RegisteredEventListeners = RegisterEventListeners();
54  public:
55  ZDK::IBanafoManager* cppRef = nullptr;
56 
57  BanafoManager(ZDK::Shared::BanafoManager src);
58  ~BanafoManager();
59  !BanafoManager();
60 
80  ZDK_NET::Result^ Start(System::String^ schemeAndAuthority, System::String^ basePath, System::String^ clientID);
81 
91 
102 
115 
131  ZDK_NET::Result^ SetTokens(System::String^ accessToken, System::String^ refreshToken);
132 
144  ZDK_NET::Result^ CancelRequest(long long requestId);
145 
159  ZDK_NET::Result^ SetCallContact(System::String^ banafoCallId, ZDK_NET::BanafoContact^ contact);
160 
183 
194  long long ListIntegrations();
195 
216  long long UploadRecording(System::String^ banaforRecordingId, System::String^ filePathUtf8);
217 
238  ZDK_NET::BanafoContactSearchCriteria^ CreateContactSearchCriteria(System::String^ contactId, System::String^ provider, System::String^ search, List<ZDK_NET::ContactType>^ types, System::String^ phone, System::String^ nationalNumber, bool reverseLookup, System::String^ region, int start, int limit, System::String^ pageId);
239 
261  ZDK_NET::BanafoContact^ CreateContact(System::String^ banafoId, System::String^ remoteId, System::String^ remoteProvider, System::String^ displayName, System::String^ firstName, System::String^ middleName, System::String^ lastName, ZDK_NET::ContactType type, System::String^ url, System::String^ company, List<System::String^>^ emails, List<BanafoPhone^>^ phones);
262 
284  ZDK_NET::BanafoCall^ CreateCall(System::String^ banafoId, System::String^ summary, System::String^ title, System::String^ source, ZDK_NET::OriginType origin, System::String^ startedAt, System::String^ acceptedAt, System::String^ finishedAt, System::String^ type, System::String^ localPhone, System::String^ remotePhone, ZDK_NET::BanafoContact^ contact);
285 
299  ZDK_NET::RecordingStream^ CreateRecordingStream(ZDK_NET::RecordingType origin, System::String^ type, System::String^ fileName, System::String^ languageCode);
300 
315  ZDK_NET::BanafoRecording^ CreateRecording(System::String^ banafoId, System::String^ startedAt, System::String^ finishedAt, System::String^ banafoCallId, List<RecordingStream^>^ streams);
316 
337 
357 
368  long long GetProfile();
369 
381 
391 
401 
402  virtual long long Handle() override;
403 
404  virtual void Initialize() override;
405 
406  virtual void ReleaseReference() override;
407 
408  };
409 }
410 
411 #endif
ZDK_NET::Result
API invocation status result.
Definition: Result.h:24
ZDK_NET::BanafoManager::UploadRecording
long long UploadRecording(System::String^ banaforRecordingId, System::String^ filePathUtf8)
Upload audio recording file to the Banafo server.
ZDK_NET::BanafoManager::Stop
ZDK_NET::Result ^ Stop()
Stops the Banafo Service.
ZDK_NET::BanafoEventsHandler
Definition: BanafoEventsHandler.h:122
ZDK_NET::BanafoManager::Start
ZDK_NET::Result ^ Start(System::String^ schemeAndAuthority, System::String^ basePath, System::String^ clientID)
Set up and Start the Banafo Service.
ZDK_NET::BanafoManager::CreateContact
ZDK_NET::BanafoContact ^ CreateContact(System::String^ banafoId, System::String^ remoteId, System::String^ remoteProvider, System::String^ displayName, System::String^ firstName, System::String^ middleName, System::String^ lastName, ZDK_NET::ContactType type, System::String^ url, System::String^ company, List< System::String^>^ emails, List< BanafoPhone^>^ phones)
Creates a BanafoContact object.
ZDK_NET::BanafoManager::SetCallContact
ZDK_NET::Result ^ SetCallContact(System::String^ banafoCallId, ZDK_NET::BanafoContact^ contact)
Updates contact information to a call.
ZDK_NET::BanafoCall
Banafo Call.
Definition: BanafoCall.h:26
ZDK_NET::BanafoManager::CreateRecordingStream
ZDK_NET::RecordingStream ^ CreateRecordingStream(ZDK_NET::RecordingType origin, System::String^ type, System::String^ fileName, System::String^ languageCode)
Creates a RecordingStream object.
ZDK_NET::BanafoManager::SetTokens
ZDK_NET::Result ^ SetTokens(System::String^ accessToken, System::String^ refreshToken)
Set Banafo Service authorization tokens.
ZDK_NET::BanafoManager::ListTranscriptLanguages
long long ListTranscriptLanguages()
List Banafo transcript languages.
GeneralStatusEventListener
Definition: GeneralStatusEventListener.h:90
ZDK_NET::BanafoManager::GetProfile
long long GetProfile()
Get Banafo profile.
ZDK_NET::BanafoManager::ListContacts
long long ListContacts(ZDK_NET::BanafoContactSearchCriteria^ criteria)
List contacts based on serch criterias.
ZDK_NET::RecordingStream
Banafo Call.
Definition: RecordingStream.h:24
ZDK_NET::BanafoManager::StartAuthorization
ZDK_NET::Result ^ StartAuthorization()
Starts Banafo Service authorization process.
ZDK_NET::BanafoManager::ListIntegrations
long long ListIntegrations()
List CRM integrations.
ZDK_NET::BanafoRecording
Banafo Recording.
Definition: BanafoRecording.h:24
ZDK_NET::BanafoManager
Banafo Service Manager.
Definition: BanafoManager.h:40
ZDK_NET::BanafoManager::CreateRecording
ZDK_NET::BanafoRecording ^ CreateRecording(System::String^ banafoId, System::String^ startedAt, System::String^ finishedAt, System::String^ banafoCallId, List< RecordingStream^>^ streams)
Creates a BanafoRecording object.
ZDK_NET::BanafoManager::AddBanafoListener
void AddBanafoListener(ZDK_NET::BanafoEventsHandler^ value)
Adds a new Banafo Service event listener.
ZDK_NET::BanafoManager::DropBanafoListener
void DropBanafoListener(ZDK_NET::BanafoEventsHandler^ value)
Removes a specific already added Banafo Service event listener.
ZDK_NET::BanafoManager::ForceCreateCallAtServer
long long ForceCreateCallAtServer(ZDK_NET::BanafoCall^ call)
Force creates Banafo Call at the Banafo Service.
ZDK_NET::BanafoContactSearchCriteria
Banafo listing contacts search criteria.
Definition: BanafoContactSearchCriteria.h:24
ZDK_NET::BanafoManager::CancelRequest
ZDK_NET::Result ^ CancelRequest(long long requestId)
Cancels a Banafo Service request.
ZDK_NET::BanafoManager::CreateCall
ZDK_NET::BanafoCall ^ CreateCall(System::String^ banafoId, System::String^ summary, System::String^ title, System::String^ source, ZDK_NET::OriginType origin, System::String^ startedAt, System::String^ acceptedAt, System::String^ finishedAt, System::String^ type, System::String^ localPhone, System::String^ remotePhone, ZDK_NET::BanafoContact^ contact)
Creates a BanafoCall object.
ZDK_NET::BanafoContact
Banafo Contact.
Definition: BanafoContact.h:26
ZDK_NET::BanafoManager::CreateContactSearchCriteria
ZDK_NET::BanafoContactSearchCriteria ^ CreateContactSearchCriteria(System::String^ contactId, System::String^ provider, System::String^ search, List< ZDK_NET::ContactType >^ types, System::String^ phone, System::String^ nationalNumber, bool reverseLookup, System::String^ region, int start, int limit, System::String^ pageId)
Creates a BanafoContactSearchCriteria object.
ZDK_NET::BanafoManager::CancelAuthorization
ZDK_NET::Result ^ CancelAuthorization()
Cancels Banafo Service authorization process.
ZDK_NET::BanafoManager::ForceCreateRecordingAtServer
long long ForceCreateRecordingAtServer(ZDK_NET::BanafoRecording^ recording)
Force creates Banafo Recording at the Banafo Service.
ZDK_NET::ZHandle
Definition: ZHandle.h:18