Reputation: 2328
I need to show daily sms sent count using Twilio C# api. I am referring to: https://www.twilio.com/docs/usage/api/usage-record Here is my code:
public int sentToday()
{
int sTotalTodaysRecord = 0;
string AccountId = ConfigurationManager.AppSettings["AccountId"];
string AuthToken = ConfigurationManager.AppSettings["AuthToken"];
TwilioClient.Init(AccountId, AuthToken);
//var records = TodayResource.Read();
var records = LastMonthResource.Read();
foreach (var record in records)
{
sTotalTodaysRecord = record.Count;
break;
}
return sTotalTodaysRecord;
}
whether I use TodayResource or LastMonthResource count is always 0. I can check the sms logs and I know messages have been sent last month or even on particular day. What am I missing here ? Or do I have to count it from sms logs ?
Upvotes: 0
Views: 227
Reputation: 7174
In your foreach
loop you put a break
statement which immediately halts the loop at the end of your first iteration.
Most likely, the first record
in your records
has Count
of 0
and thus the sTotalTodaysRecord
will also be 0
.
This Usage Records API returns usage for many categories, including for products that you aren't using which would be 0
.
Here I have a console app that groups the usage by the AsOf
date and then goes through each record to print their Count
, CountUnit
, and Category
.
After adding all the counts I get 305
.
using Twilio;
using Twilio.Rest.Api.V2010.Account.Usage.Record;
// Find your Account SID and Auth Token at twilio.com/console
// and set the environment variables. See http://twil.io/secure
string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");
TwilioClient.Init(accountSid, authToken);
var records = LastMonthResource.Read();
var groupedByAsOf = records
.GroupBy(r => r.AsOf)
.OrderBy(r => r.Key);
int totalCount = 0;
foreach (var group in groupedByAsOf)
{
Console.WriteLine($"As Of {group.Key}");
foreach(var record in group)
{
Console.WriteLine($"{record.Count} {record.CountUnit} ({record.Category})");
if(record.Count != null)
totalCount += int.Parse(record.Count);
}
Console.WriteLine();
}
Console.WriteLine($"Total count: {totalCount}");
The output looks like this:
As Of 2022-09-21T12:23:41-04:00
0 units (wireless-usage)
0 (pv-basic-rooms)
0 media (ip-messaging-data-storage)
0 units (marketplace-bot-msg.ai-deliveryaware)
0 commands (wireless-usage-commands)
0 participant-events (conversations-participant-events)
0 GB (group-rooms-media-recorded)
0 units (marketplace-algorithmia-named-entity-recognition)
0 units (wireless-usage-data-northamerica)
0 units (marketplace-cadence-transcription)
0 SMS Commands (wireless-super-sim-smscommands-europe)
0 peak connections (conversations-endpoint-connectivity)
0 (experiment-india-sms)
0 minutes (voice-insights-sip-trunking-insights-on-demand-minute)
32 calls (calls-inbound)
9 messages (sms-inbound-longcode)
0 SMS Commands (wireless-super-sim-smscommands-africa)
1 numbers (phonenumbers-tollfree)
0 queries (autopilot-other)
10 messages (sms-outbound-longcode)
0 units (marketplace-wolfarm-spoken-results)
0 minutes (media-composer-minutes)
0 participants (pv-room-participants-us2)
0 participants (pv-room-participants-us1)
0 units (marketplace-google-speech-to-text)
2 minutes (rooms-group-minutes)
0 registrations.hr (pv-sip-endpoint-registrations)
0 minutes (peer-to-peer-rooms-participant-minutes)
11 recordings (calls-recordings)
0 (sync)
0 api-requests (conversations-api-requests)
19 100 characters (amazon-polly)
0 messages (wireless-usage-sms)
0 calls (trunking-origination-tollfree)
0 messages (channels-whatsapp-inbound)
0 calls (programmablevoiceconn-sip-outbound)
0 commands (wireless-usage-commands-africa)
0 months (twilio-interconnect)
0 messages (sms-inbound-tollfree)
0 emails (authy-outbound-email)
0 minutes (rooms-peer-to-peer-minutes)
0 messages (channels-messaging)
0 SIMs (wireless-super-sim-hardware-bulk)
0 units (marketplace-infogroup-dataaxle-bizinfo)
0 units (wireless-usage-commands-roaming)
0 participants (pv-room-participants-ie1)
0 calls (programmablevoiceconn-onnet-inbound)
0 (pv-rooms)
0 events (conversations-events)
0 units (wireless-super-sim-subscription-payg)
As Of 2022-09-21T12:23:42-04:00
0 units (wireless-usage-data-centralandsouthamerica)
0 recognitions (answering-machine-detection)
0 calls (calls-transfers)
0 calls (trunking-origination-mobile)
0 (experiment-uk-sms)
0 units (sms-mps)
0 tasks (taskrouter-tasks)
0 units (sms-mps-tollfree-setup)
0 SIMs (wireless-usage-mrc-custom)
0 participants (conversations-participants)
0 units (wireless-usage-data-asia)
0 units (wireless-data-quota10-africa)
3 (group-rooms)
4 calls (speech-recognition)
0 minutes (wireless-usage-voice)
0 units (wireless-usage-data-pooled-downlink)
0 (sms-messages-features)
0 megabytes (turnmegabytes-useast)
0 messages (mms-outbound-longcode)
0 participants (pv-room-participants-au1)
0 units (wireless-usage-data-pooled)
0 messages (mms-inbound-longcode)
0 participants (pv-room-participants-jp1)
0 calls (calls-inbound-mobile)
0 units (wireless-orders-starter)
0 K reads (pchat-reads)
0 units (wireless-data-payg)
0 minutes (agent-conference)
0 calls (calls-sip-outbound)
0 (video-recordings)
0 minutes (autopilot-voice)
0 units (wireless-usage-data-custom-additionalmb)
0 numbers (phonenumbers-emergency)
0 units (wireless-data-payg-centralandsouthamerica)
0 (premiumsupport-percentage-spend)
0 units (wireless-data-payg-africa)
0 units (sms-messages-features-senderid)
0 units (wireless-usage-data-africa)
0 units (marketplace-whitepages-pro-caller-identification)
0 units (marketplace-ibm-watson-tone-analyzer)
0 units (marketplace-convriza-ababa)
0 hundred-events-stored-days (monitor-storage)
0 minutes (pv-composition-media-encrypted)
0 calls (programmablevoiceconn-clientsdk)
2 minutes (group-rooms-participant-minutes)
0 number-setups (phonenumbers-setups)
0 SMS Commands (wireless-super-sim-smscommands-cent-and-south-america)
0 calls (programmablevoiceconn-clientsdk-inbound)
0 writes (monitor-writes)
0 calls (programmablevoiceconn-sip-inbound)
0 K Actions & Delivery Attempts (notify-actions-attempts)
0 megabytes (turnmegabytes-australia)
0 units (wireless-usage-data-domestic-roaming)
0 peak connections (ip-messaging-endpoint-connectivity)
0 units (wireless-sms-oceania)
0 megabytes (turnmegabytes-brasil)
0 media-streams (calls-media-stream-minutes)
0 units (wireless-data-quota50-northamerica)
0 count (conversations)
0 units (marketplace-whitepages-pro-phone-intelligence)
0 events (call-progess-events)
0 units (wireless-usage-data-europe)
0 units (wireless-data-quota1)
10 messages (bundle-sms-bucket)
0 calls (calls-client)
0 units (marketplace-marchex-sentiment-analysis-for-sms)
0 secured-calls (sip-secure-media)
0 units (wireless-orders)
0 messages (sms-outbound-shortcode)
0 minutes (pv-composition-minutes)
0 messages (sms-outbound-tollfree)
0 units (marketplace-msg.ai-deliveryaware)
0 shortcodes (shortcodes-customerowned)
0 K Delivery Attempts (notify-channels)
0 units (marketplace-facebook-offline-conversions)
0 licenses (proxy-licenses)
0 SMS Commands (wireless-super-sim-smscommands-asia)
10 numbers (phonenumbers-local)
0 lookups (category)
0 units (marketplace-voicebase-transcription-custom-vocabulary)
0 messages (channels-whatsapp)
0 commands (wireless-usage-commands-centralandsouthamerica)
19 messages (sms)
0 SIMs (wireless-orders-esim)
0 NA (autopilot)
0 SIMs (wireless-mrc-quotacustom)
0 utterances (autopilot-home-assistants)
0 units (wireless-sms-northamerica)
0 messages (mms)
11 recordings (recordings)
0 units (proxy)
0 verifications (verify-push)
0 commands (wireless-usage-commands-oceania)
0 minutes (audience-minutes-audio)
0 commands (ip-messaging-commands)
0 lookups (calleridlookups)
0 units (pfax)
0 SIMs (wireless-mrc-payg)
0 minutes (basic-peer-to-peer-rooms-participant-minutes)
0 units (wireless-sms-europe)
0 calls (trunking-origination-local)
0 SMS Commands (wireless-super-sim-smscommands-oceania)
0 K actions (pchat-actions)
38 (channels)
0 messages (mms-outbound-shortcode)
0 conversation-events (conversations-conversation-events)
0 (notify)
0 calls (programmablevoiceconn-onnet)
0 units (marketplace-wolfram-short-answer)
0 messages (autopilot-messaging)
0 units (marketplace-digital-segment-business-info)
0 messages (pchat-messages)
0 megabytes (video-rooms-turn-megabytes)
0 minutes (voice-insights-client-insights-on-demand-minute)
1 recordings (recordingstorage)
0 units (wireless-data-quota1-asia)
30 calls (calls-inbound-local)
0 units (wireless-super-sim-subscription)
0 emails (authy-verify-outbound-email)
0 lookups (carrier-lookups)
0 units (marketplace-tcpa-defense-solutions-blacklist-feed)
0 SMS Commands (wireless-super-sim-smscommands-north-america)
0 k actions (sync-actions)
0 units (flex-usage)
0 minutes (voice-insights)
0 megabytes (turnmegabytes-germany)
0 units (marketplace-deepgram-phrase-detector)
0 MBs (wireless-super-sim-data)
0 count (ip-messaging)
7 transcriptions (transcriptions)
0 lookups (fraud-lookups)
0 units (marketplace-twilio-caller-name-lookup-us)
0 sessions (proxy-active-sessions)
0 calls (programmablevoiceconn-sip)
0 units (marketplace-nexiwave-voicemail-to-text)
0 SIMs (wireless-usage-mrc)
0 cps (phonenumbers-cps)
0 commands (wireless-usage-commands-northamerica)
0 GB (group-rooms-media-downloaded)
0 units (wireless-data-quota10-asia)
0 recordings (trunking-recordings)
0 units (wireless-usage-data)
0 units (wireless-sms-africa)
0 units (wireless-sms-asia)
0 (experiment-france-sms)
0 months (premiumsupport)
0 units (wireless-data-quota50-africa)
0 files (mediastorage)
0 messages (verify-whatsapp-conversations-business-initiated)
0 cps (trunking-cps)
0 units (wireless-data-quota10-centralandsouthamerica)
0 messages (channels-whatsapp-outbound)
10 messages (sms-outbound)
0 lookups (sim-swap-lookups)
0 units (wireless-data-quotacustom-centralandsouthamerica)
0 100 Characters (calls-text-to-speech)
0 units (marketplace-ibm-watson-recording-analysis)
0 units (wireless-data-payg-northamerica)
0 calls (calls-sip-inbound)
0 engagements (studio-engagements)
9 messages (sms-inbound)
0 units (marketplace-voicebase-pci)
0 units (marketplace-cadence-translation)
0 GB (group-rooms-media-routed)
0 minutes (small-group-rooms-participant-minutes)
0 messages (channels-messaging-outbound)
0 MBs (wireless-super-sim-data-payg-north-america)
0 messages (mms-outbound)
0 Number of users (flex-agents)
0 numbers (phonenumbers-mobile)
0 messages (sms-outbound-content-inspection)
0 messages (mms-inbound)
0 calls (programmablevoiceconn-onnet-outbound)
0 SIMs (wireless-mrc-quota1)
0 units (wireless-data-quotacustom-asia)
0 calls (programmablevoiceconnectivity)
0 units (wireless-orders-artwork)
0 units (wireless-usage-data-individual-firstgb)
0 units (wireless-data-quota1-oceania)
0 calls (calls-inbound-tollfree-mobile)
0 shortcodes (shortcodes-uk)
0 units (marketplace-capio-speech-to-text)
(totalprice)
0 aps (pchat-aps)
0 units (wireless-data-payg-oceania)
2 calls (calls-inbound-tollfree)
0 megabytes (turnmegabytes-japan)
0 GB (pv-composition-media-downloaded)
0 pages (pfax-pages)
0 lookups (call-forwarding-lookups)
0 units (wireless-usage-data-oceania)
0 units (wireless-usage-data-international-roaming-india)
0 messages (mms-inbound-shortcode)
0 MBs (wireless-super-sim-data-payg)
0 minutes (pfax-minutes-outbound)
0 calls (calls-globalconference)
0 commands (wireless-usage-commands-europe)
0 calls (calls-inbound-tollfree-local)
0 calls (trunking-origination)
0 units (wireless-quotas)
0 megabytes (turnmegabytes-singapore)
0 units (wireless-data-quotacustom-northamerica)
0 units (marketplace-twilio-carrier-information-lookup)
0 units (wireless-usage-commands-home)
3 units (pv)
0 messages (authy-sms-outbound)
0 commands (wireless-usage-commands-asia)
0 units (marketplace-marketplace-nextcaller-social-id)
0 units (wireless-data-quota50-oceania)
0 SIMs (wireless-usage-mrc-individual)
0 units (wireless-data-quota50-centralandsouthamerica)
0 units (wireless-usage-data-individual-additionalgb)
0 calls (programmablevoiceconn-clientsdk-outbound)
0 shortcodes (shortcodes-vanity)
0 verifications (authy-verify-email-verifications)
0 units (wireless-data-quotacustom-oceania)
0 units (wireless-data-quota1-africa)
0 units (marketplace-payfone-tcpa-compliance)
0 units (wireless-data-quota1-northamerica)
0 SMS Commands (wireless-super-sim-smscommands)
0 MBs (wireless-super-sim-data-payg-europe)
0 participants (pv-room-participants-sg1)
0 units (wireless-super-sim)
0 units (wireless-usage-data-international-roaming-mexico)
0 SIMs (wireless-mrc-quota10)
0 units (marketplace-voicebase-transcription)
0 units (wireless-data-quotacustom)
0 units (wireless-data-quota10-northamerica)
0 units (wireless-data-quota50)
0 SIMs (wireless-usage-mrc-pooled)
0 events (events)
0 units (marketplace-ytica-contact-center-reporting-analytics)
0 calls (trunking-emergency-calls)
0 (small-group-rooms)
0 transfers (ip-messaging-data-transfer)
0 event (a2p-registration-fees)
0 minutes (pfax-minutes)
0 lookups (live-activity-lookups)
0 shortcodes (shortcodes-random)
0 units (wireless-data-quota50-asia)
0 (pv-recording-compositions)
0 minutes (group-rooms-recorded-minutes)
0 units (marketplace-whitepages-pro-phone-reputation)
0 GB day (pv-composition-media-stored)
0 units (wireless-data-payg-europe)
0 GB days (group-rooms-media-stored)
0 minutes (voice-insights-sip-interface-insights-on-demand-minute)
0 users (frontline-users)
0 messages (channels-messaging-inbound)
0 K notifications (pchat-notifications)
0 units (wireless-usage-data-international-roaming-canada)
0 hours (flex-active-user-hours)
0 MBs (wireless-super-sim-data-north-america-usa)
0 calls (programmablevoice-platform)
0 megabytes (turnmegabytes)
0 calls (trunking-termination)
0 units (marketplace-truecnam-true-spam)
11 numbers (phonenumbers)
0 hours (sync-endpoint-hours-above-daily-cap)
0 verifications (verify-sna)
0 units (marketplace-ibm-watson-message-sentiment)
0 messages (sms-inbound-shortcode)
0 units (wireless-data-quota1-centralandsouthamerica)
0 SIMs (wireless-mrc-quota50)
0 messages (mms-messages-carrierfees)
0 users (flex-users)
0 shortcodes (shortcodes-mms-enablement)
0 shortcodes (shortcodes)
0 SIMs (wireless-orders-bulk)
0 SIMs (wireless-usage-mrc-suspended)
0 mps (shortcodes-mps)
0 verifications (authy-phone-verifications)
0 thousands of messages (small-group-rooms-data-track)
0 units (wireless-data-quota10)
0 minutes (pfax-minutes-inbound)
0 units (marketplace-icehook-systems-scout)
0 hours (sync-endpoint-hours)
0 calls (calls-sip)
0 GB (group-rooms-encrypted-media-recorded)
0 Transactions (calls-pay-verb-transactions)
0 secured-calls (trunking-secure)
0 authentications (authy-email-authentications)
0 units (marketplace-marchex-cleancall)
0 lookups (enhanced-line-type-lookups)
0 units (wireless-super-sim-hardware)
0 chats (pchat)
0 calls (pstnconnectivity)
0 authentications (authy-authentications)
0 units (sms-mps-tollfree)
0 messages (flex-messaging-usage)
0 units (marketplace-ibm-watson-message-insights)
0 use (pchat-users)
0 months (authy-monthly-fees)
0 units (wireless-data-quota10-oceania)
0 megabytes (turnmegabytes-ireland)
0 thousands of messages (group-rooms-data-track)
0 reads (monitor-reads)
0 units (wireless)
0 megabytes (turnmegabytes-uswest)
0 units (wireless-data-quota50-europe)
As Of 2022-09-21T12:23:43-04:00
0 megabytes (turnmegabytes-india)
0 calls (pstnconnectivity-outbound)
0 units (marketplace-mobile-commons-opt-out-classifier)
0 minutes (voice-insights-ptsn-insights-on-demand-minute)
0 lookups (number-format-lookups)
0 calls (calls-outbound)
0 units (marketplace-telo-opencnam)
0 units (marketplace-nextcaller-advanced-caller-identification)
0 units (marketplace-nomorobo-spam-score)
0 units (wireless-data)
0 participants (pv-room-participants-br1)
0 units (wireless-data-quota1-europe)
0 minutes (audience-minutes)
0 units (marketplace)
0 units (marketplace-keen-io-contact-center-analytics)
0 units (wireless-data-quota10-europe)
0 units (wireless-sms-centralandsouthamerica)
0 units (credit-transfer)
0 verifications (verify-totp)
0 units (wireless-data-quotacustom-europe)
0 GB (pchat-conv-med-storage)
0 GB (rooms-group-bandwidth)
0 units (wireless-usage-data-pooled-uplink)
0 requests (authy-phone-intelligence)
0 units (wireless-usage-data-custom-first5mb)
19 messages (sms-messages-carrierfees)
0 lookups (lookups)
0 calls (pstnconnectivity-inbound)
32 calls (calls)
0 units (wireless-data-quotacustom-africa)
0 units (wireless-data-payg-asia)
0 participants (pv-room-participants)
0 calls (authy-calls-outbound)
0 units (marketplace-remeeting-automatic-speech-recognition)
0 cps (cps)
Total count: 305
Since you're interested in SMS you can filter to that category:
// Sms is outbound and inbound, see more categories:
// https://www.twilio.com/docs/usage/api/usage-record#usage-sms-mms
// Alternatively, you can use SmsInbound or SmsOutbound category
var records = LastMonthResource.Read(new ReadLastMonthOptions{
Category = LastMonthResource.CategoryEnum.Sms
});
var count = int.Parse(records.First().Count);
Console.WriteLine($"Total SMS: {count}");
Upvotes: 1