getricky 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -617,5 +617,510 @@ class RickyApi extends HeyApiClient {
617
617
  ...options
618
618
  });
619
619
  }
620
+ /**
621
+ * Get the live dashboard
622
+ *
623
+ * Open conversations, who holds them and who is waiting for a reply, right now. "Today" is the America/Panama day.
624
+ *
625
+ * Scope: `reports:read`.
626
+ */
627
+ getDashboardReport(options) {
628
+ return (options?.client ?? this.client).get({
629
+ responseStyle: 'data',
630
+ security: [{ scheme: 'bearer', type: 'http' }],
631
+ url: '/reports/dashboard',
632
+ ...options
633
+ });
634
+ }
635
+ /**
636
+ * Get the conversations report
637
+ *
638
+ * Customers who wrote in the period, new or returning, per channel, day and hour. Days and hours are America/Panama time, like the Reports pages; each number is compared with the previous period of the same length.
639
+ *
640
+ * Scope: `reports:read`.
641
+ */
642
+ getConversationsReport(options) {
643
+ return (options?.client ?? this.client).get({
644
+ responseStyle: 'data',
645
+ security: [{ scheme: 'bearer', type: 'http' }],
646
+ url: '/reports/conversations',
647
+ ...options
648
+ });
649
+ }
650
+ /**
651
+ * Get the messages report
652
+ *
653
+ * Messages received and sent in the period, and who sent them. Days and hours are America/Panama time, like the Reports pages; each number is compared with the previous period of the same length.
654
+ *
655
+ * Scope: `reports:read`.
656
+ */
657
+ getMessagesReport(options) {
658
+ return (options?.client ?? this.client).get({
659
+ responseStyle: 'data',
660
+ security: [{ scheme: 'bearer', type: 'http' }],
661
+ url: '/reports/messages',
662
+ ...options
663
+ });
664
+ }
665
+ /**
666
+ * Get the responses report
667
+ *
668
+ * How fast people and AI agents answered customers in the period, per channel and responder. Days and hours are America/Panama time, like the Reports pages; each number is compared with the previous period of the same length.
669
+ *
670
+ * Scope: `reports:read`.
671
+ */
672
+ getResponsesReport(options) {
673
+ return (options?.client ?? this.client).get({
674
+ responseStyle: 'data',
675
+ security: [{ scheme: 'bearer', type: 'http' }],
676
+ url: '/reports/responses',
677
+ ...options
678
+ });
679
+ }
680
+ /**
681
+ * Get the resolutions report
682
+ *
683
+ * Conversations closed in the period and how long they were open. Days and hours are America/Panama time, like the Reports pages; each number is compared with the previous period of the same length.
684
+ *
685
+ * Scope: `reports:read`.
686
+ */
687
+ getResolutionsReport(options) {
688
+ return (options?.client ?? this.client).get({
689
+ responseStyle: 'data',
690
+ security: [{ scheme: 'bearer', type: 'http' }],
691
+ url: '/reports/resolutions',
692
+ ...options
693
+ });
694
+ }
695
+ /**
696
+ * Get the team report
697
+ *
698
+ * Assignments, messages, closes and medians per member and AI agent in the period. Days are America/Panama time, like the Reports pages.
699
+ *
700
+ * Scope: `reports:read`.
701
+ */
702
+ getTeamReport(options) {
703
+ return (options?.client ?? this.client).get({
704
+ responseStyle: 'data',
705
+ security: [{ scheme: 'bearer', type: 'http' }],
706
+ url: '/reports/team',
707
+ ...options
708
+ });
709
+ }
710
+ /**
711
+ * Get the broadcasts report
712
+ *
713
+ * WhatsApp broadcasts created in the period and their recipients' outcomes. Days and hours are America/Panama time, like the Reports pages; each number is compared with the previous period of the same length.
714
+ *
715
+ * Scope: `reports:read`.
716
+ */
717
+ getBroadcastsReport(options) {
718
+ return (options?.client ?? this.client).get({
719
+ responseStyle: 'data',
720
+ security: [{ scheme: 'bearer', type: 'http' }],
721
+ url: '/reports/broadcasts',
722
+ ...options
723
+ });
724
+ }
725
+ /**
726
+ * Get the ads report
727
+ *
728
+ * Meta ad spend and the conversations each ad brought in the period. Days and hours are America/Panama time, like the Reports pages; each number is compared with the previous period of the same length.
729
+ *
730
+ * Scope: `reports:read`.
731
+ */
732
+ getAdsReport(options) {
733
+ return (options?.client ?? this.client).get({
734
+ responseStyle: 'data',
735
+ security: [{ scheme: 'bearer', type: 'http' }],
736
+ url: '/reports/ads',
737
+ ...options
738
+ });
739
+ }
740
+ /**
741
+ * List agents
742
+ *
743
+ * Active agents, newest first. Archived agents are not listed.
744
+ *
745
+ * Scope: `agents:read`.
746
+ */
747
+ listAgents(options) {
748
+ return (options?.client ?? this.client).get({
749
+ responseStyle: 'data',
750
+ security: [{ scheme: 'bearer', type: 'http' }],
751
+ url: '/agents',
752
+ ...options
753
+ });
754
+ }
755
+ /**
756
+ * Create an agent
757
+ *
758
+ * Creates an AI agent with its instructions, model, voice and capabilities. It answers no conversation until you assign it to one or make it a channel default in Ricky.
759
+ *
760
+ * Scope: `agents:write`.
761
+ */
762
+ createAgent(options) {
763
+ return (options.client ?? this.client).post({
764
+ responseStyle: 'data',
765
+ security: [{ scheme: 'bearer', type: 'http' }],
766
+ url: '/agents',
767
+ ...options,
768
+ headers: {
769
+ 'Content-Type': 'application/json',
770
+ ...options.headers
771
+ }
772
+ });
773
+ }
774
+ /**
775
+ * Archive an agent
776
+ *
777
+ * Archives the agent and answers it as it was, with `archived_at`. Its conversations stop being answered by it and workflows that assign it are paused. Archiving twice answers `404`.
778
+ *
779
+ * Scope: `agents:write`.
780
+ */
781
+ archiveAgent(options) {
782
+ return (options.client ?? this.client).delete({
783
+ responseStyle: 'data',
784
+ security: [{ scheme: 'bearer', type: 'http' }],
785
+ url: '/agents/{agent_id}',
786
+ ...options
787
+ });
788
+ }
789
+ /**
790
+ * Get an agent
791
+ *
792
+ * One active agent with its full settings.
793
+ *
794
+ * Scope: `agents:read`.
795
+ */
796
+ getAgent(options) {
797
+ return (options.client ?? this.client).get({
798
+ responseStyle: 'data',
799
+ security: [{ scheme: 'bearer', type: 'http' }],
800
+ url: '/agents/{agent_id}',
801
+ ...options
802
+ });
803
+ }
804
+ /**
805
+ * Update an agent
806
+ *
807
+ * Changes only the fields in the body. `capabilities` and `handoff_user_ids` replace their whole sets.
808
+ *
809
+ * Scope: `agents:write`.
810
+ */
811
+ updateAgent(options) {
812
+ return (options.client ?? this.client).patch({
813
+ responseStyle: 'data',
814
+ security: [{ scheme: 'bearer', type: 'http' }],
815
+ url: '/agents/{agent_id}',
816
+ ...options,
817
+ headers: {
818
+ 'Content-Type': 'application/json',
819
+ ...options.headers
820
+ }
821
+ });
822
+ }
823
+ /**
824
+ * Get agent options
825
+ *
826
+ * The models, voices and capabilities an agent can be configured with.
827
+ *
828
+ * Scope: `agents:read`.
829
+ */
830
+ getAgentOptions(options) {
831
+ return (options?.client ?? this.client).get({
832
+ responseStyle: 'data',
833
+ security: [{ scheme: 'bearer', type: 'http' }],
834
+ url: '/agent-options',
835
+ ...options
836
+ });
837
+ }
838
+ /**
839
+ * Set the AI agent of a conversation
840
+ *
841
+ * Makes an agent answer the conversation, or turns the AI off with `null`. Either way the conversation is no longer assigned to a member; the contact owner stays.
842
+ *
843
+ * Scope: `conversations:write`.
844
+ */
845
+ assignConversationAgent(options) {
846
+ return (options.client ?? this.client).patch({
847
+ responseStyle: 'data',
848
+ security: [{ scheme: 'bearer', type: 'http' }],
849
+ url: '/conversations/{conversation_id}/agent',
850
+ ...options,
851
+ headers: {
852
+ 'Content-Type': 'application/json',
853
+ ...options.headers
854
+ }
855
+ });
856
+ }
857
+ /**
858
+ * List locations
859
+ *
860
+ * Branches and places, newest first.
861
+ *
862
+ * Scope: `knowledge:read`.
863
+ */
864
+ listKnowledgeLocations(options) {
865
+ return (options?.client ?? this.client).get({
866
+ responseStyle: 'data',
867
+ security: [{ scheme: 'bearer', type: 'http' }],
868
+ url: '/knowledge/locations',
869
+ ...options
870
+ });
871
+ }
872
+ /**
873
+ * Create a location
874
+ *
875
+ * Adds a branch or place the agents can share.
876
+ *
877
+ * Scope: `knowledge:write`.
878
+ */
879
+ createKnowledgeLocation(options) {
880
+ return (options.client ?? this.client).post({
881
+ responseStyle: 'data',
882
+ security: [{ scheme: 'bearer', type: 'http' }],
883
+ url: '/knowledge/locations',
884
+ ...options,
885
+ headers: {
886
+ 'Content-Type': 'application/json',
887
+ ...options.headers
888
+ }
889
+ });
890
+ }
891
+ /**
892
+ * Delete a location
893
+ *
894
+ * Deletes it for good and answers it as it was.
895
+ *
896
+ * Scope: `knowledge:write`.
897
+ */
898
+ deleteKnowledgeLocation(options) {
899
+ return (options.client ?? this.client).delete({
900
+ responseStyle: 'data',
901
+ security: [{ scheme: 'bearer', type: 'http' }],
902
+ url: '/knowledge/locations/{location_id}',
903
+ ...options
904
+ });
905
+ }
906
+ /**
907
+ * Get a location
908
+ *
909
+ * One location.
910
+ *
911
+ * Scope: `knowledge:read`.
912
+ */
913
+ getKnowledgeLocation(options) {
914
+ return (options.client ?? this.client).get({
915
+ responseStyle: 'data',
916
+ security: [{ scheme: 'bearer', type: 'http' }],
917
+ url: '/knowledge/locations/{location_id}',
918
+ ...options
919
+ });
920
+ }
921
+ /**
922
+ * Update a location
923
+ *
924
+ * Changes only the fields in the body.
925
+ *
926
+ * Scope: `knowledge:write`.
927
+ */
928
+ updateKnowledgeLocation(options) {
929
+ return (options.client ?? this.client).patch({
930
+ responseStyle: 'data',
931
+ security: [{ scheme: 'bearer', type: 'http' }],
932
+ url: '/knowledge/locations/{location_id}',
933
+ ...options,
934
+ headers: {
935
+ 'Content-Type': 'application/json',
936
+ ...options.headers
937
+ }
938
+ });
939
+ }
940
+ /**
941
+ * List directory contacts
942
+ *
943
+ * Contact cards of the knowledge directory, by display name. These are not CRM contacts.
944
+ *
945
+ * Scope: `knowledge:read`.
946
+ */
947
+ listKnowledgeContacts(options) {
948
+ return (options?.client ?? this.client).get({
949
+ responseStyle: 'data',
950
+ security: [{ scheme: 'bearer', type: 'http' }],
951
+ url: '/knowledge/contacts',
952
+ ...options
953
+ });
954
+ }
955
+ /**
956
+ * Create a directory contact
957
+ *
958
+ * Adds a contact card the agents can send to customers.
959
+ *
960
+ * Scope: `knowledge:write`.
961
+ */
962
+ createKnowledgeContact(options) {
963
+ return (options.client ?? this.client).post({
964
+ responseStyle: 'data',
965
+ security: [{ scheme: 'bearer', type: 'http' }],
966
+ url: '/knowledge/contacts',
967
+ ...options,
968
+ headers: {
969
+ 'Content-Type': 'application/json',
970
+ ...options.headers
971
+ }
972
+ });
973
+ }
974
+ /**
975
+ * Delete a directory contact
976
+ *
977
+ * Deletes it for good and answers it as it was.
978
+ *
979
+ * Scope: `knowledge:write`.
980
+ */
981
+ deleteKnowledgeContact(options) {
982
+ return (options.client ?? this.client).delete({
983
+ responseStyle: 'data',
984
+ security: [{ scheme: 'bearer', type: 'http' }],
985
+ url: '/knowledge/contacts/{knowledge_contact_id}',
986
+ ...options
987
+ });
988
+ }
989
+ /**
990
+ * Get a directory contact
991
+ *
992
+ * One contact card.
993
+ *
994
+ * Scope: `knowledge:read`.
995
+ */
996
+ getKnowledgeContact(options) {
997
+ return (options.client ?? this.client).get({
998
+ responseStyle: 'data',
999
+ security: [{ scheme: 'bearer', type: 'http' }],
1000
+ url: '/knowledge/contacts/{knowledge_contact_id}',
1001
+ ...options
1002
+ });
1003
+ }
1004
+ /**
1005
+ * Update a directory contact
1006
+ *
1007
+ * Changes only the fields in the body.
1008
+ *
1009
+ * Scope: `knowledge:write`.
1010
+ */
1011
+ updateKnowledgeContact(options) {
1012
+ return (options.client ?? this.client).patch({
1013
+ responseStyle: 'data',
1014
+ security: [{ scheme: 'bearer', type: 'http' }],
1015
+ url: '/knowledge/contacts/{knowledge_contact_id}',
1016
+ ...options,
1017
+ headers: {
1018
+ 'Content-Type': 'application/json',
1019
+ ...options.headers
1020
+ }
1021
+ });
1022
+ }
1023
+ /**
1024
+ * List files
1025
+ *
1026
+ * Documents and images the agents can consult or send, newest first.
1027
+ *
1028
+ * Scope: `knowledge:read`.
1029
+ */
1030
+ listKnowledgeFiles(options) {
1031
+ return (options?.client ?? this.client).get({
1032
+ responseStyle: 'data',
1033
+ security: [{ scheme: 'bearer', type: 'http' }],
1034
+ url: '/knowledge/files',
1035
+ ...options
1036
+ });
1037
+ }
1038
+ /**
1039
+ * Upload a file
1040
+ *
1041
+ * Begins an upload in three steps: this call answers the file, `uploading`, and an `upload_url`; `PUT` the bytes there; then call `POST /knowledge/files/{file_id}/complete`.
1042
+ *
1043
+ * Scope: `knowledge:write`.
1044
+ */
1045
+ createKnowledgeFile(options) {
1046
+ return (options.client ?? this.client).post({
1047
+ responseStyle: 'data',
1048
+ security: [{ scheme: 'bearer', type: 'http' }],
1049
+ url: '/knowledge/files',
1050
+ ...options,
1051
+ headers: {
1052
+ 'Content-Type': 'application/json',
1053
+ ...options.headers
1054
+ }
1055
+ });
1056
+ }
1057
+ /**
1058
+ * Complete an upload
1059
+ *
1060
+ * Checks the uploaded bytes against the declared type and size, reads the content for the agents and answers the file, `ready`. Reading a long PDF can take minutes. Completing a `ready` file changes nothing.
1061
+ *
1062
+ * Scope: `knowledge:write`.
1063
+ */
1064
+ completeKnowledgeFile(options) {
1065
+ return (options.client ?? this.client).post({
1066
+ responseStyle: 'data',
1067
+ security: [{ scheme: 'bearer', type: 'http' }],
1068
+ url: '/knowledge/files/{file_id}/complete',
1069
+ ...options,
1070
+ headers: {
1071
+ 'Content-Type': 'application/json',
1072
+ ...options.headers
1073
+ }
1074
+ });
1075
+ }
1076
+ /**
1077
+ * Delete a file
1078
+ *
1079
+ * Deletes it for good and answers it as it was. Copies already sent in conversations stay there.
1080
+ *
1081
+ * Scope: `knowledge:write`.
1082
+ */
1083
+ deleteKnowledgeFile(options) {
1084
+ return (options.client ?? this.client).delete({
1085
+ responseStyle: 'data',
1086
+ security: [{ scheme: 'bearer', type: 'http' }],
1087
+ url: '/knowledge/files/{file_id}',
1088
+ ...options
1089
+ });
1090
+ }
1091
+ /**
1092
+ * Get a file
1093
+ *
1094
+ * One file; a `ready` one carries a `download_url`.
1095
+ *
1096
+ * Scope: `knowledge:read`.
1097
+ */
1098
+ getKnowledgeFile(options) {
1099
+ return (options.client ?? this.client).get({
1100
+ responseStyle: 'data',
1101
+ security: [{ scheme: 'bearer', type: 'http' }],
1102
+ url: '/knowledge/files/{file_id}',
1103
+ ...options
1104
+ });
1105
+ }
1106
+ /**
1107
+ * Update a file
1108
+ *
1109
+ * Changes its title, description or what the agents may do with it. Only a `ready` file changes; otherwise `409 conflict`.
1110
+ *
1111
+ * Scope: `knowledge:write`.
1112
+ */
1113
+ updateKnowledgeFile(options) {
1114
+ return (options.client ?? this.client).patch({
1115
+ responseStyle: 'data',
1116
+ security: [{ scheme: 'bearer', type: 'http' }],
1117
+ url: '/knowledge/files/{file_id}',
1118
+ ...options,
1119
+ headers: {
1120
+ 'Content-Type': 'application/json',
1121
+ ...options.headers
1122
+ }
1123
+ });
1124
+ }
620
1125
  }
621
1126
  exports.RickyApi = RickyApi;