Communications token pre-fetch
Techniques for using sending communication data using a first communication system and a second communication system are described. When a request is received to send communication data, it is determined that sending the communication data includes the second communication system. A request for updated identification information, such as a security token, is therefore sent to the second communication system prior to, for example, determining further account information related to the initiator of the communication and/or an identity of a recipient of the communication. While the request is pending, additional requests for the identification information are delayed. When the new identification information is received, the communication data is sent.
1. A computer-implemented method comprising:
receiving, at a first communication system and from a second communication system, a first token associated with a first user profile associated with the second communication system and a second device, the first token being valid for a first period of time during which a plurality of two-way voice communications can be performed using the first communication system and the second communication system;
receiving, at the first communication system and from a first device, a first request to establish a first two-way voice communication with the second device;
determining that the second device is associated with the second communication system;
determining that the first token has expired;
sending, to the second communication system, a second request for an updated token;
after sending the second request, receiving a second token from the second communication system;
sending, to the second communication system, the first request and the second token;
establishing the first two-way voice communication between the first device and the second device;
receiving, at the first communication system from the first device, a third request to establish a second two-way voice communication with the second device;
determining the second token is unexpired; and
sending, to the second communication system, the third request and the second token.
2. The computer-implemented method of claim 1 , further comprising:
determining that a response to the second request has not been received by the first communication system; and
based at least in part on determining that the response has not been received, delaying sending, to the second communication system, a fourth request for the updated token.
3. The computer-implemented method of claim 2 , further comprising:
prior to receiving the second token, storing an indication of a time of sending the second request;
based at least in part on the time of sending and a present time, sending the fourth request; and
receiving, from the second communication system, a third token.
4. A computer-implemented method comprising:
receiving, at a first communication system and from a second communication system, a first token associated with a first user profile associated with the second communication system and a second device, the first token being valid for a period of time during which a plurality of communication data can be sent from the first communication system to the second communication system;
receiving, at the first communication system from a first device, a first request to send first communication data to the second device;
determining that the first request corresponds to the second communication system;
based at least in part on determining that the first request corresponds to the second communication system, sending, to the second communication system, a second request for an updated token associated with the first user profile;
after sending the second request, receiving a second token from the second communication system;
sending, to the second communication system and using the second token, a third request for the first communication data to be sent to the second device;
receiving, at the first communication system from the first device, a fourth request to send second communication data to the second device;
determining the second token is unexpired; and
sending, to the second communication system, the second communication data and the second token.
5. The computer-implemented method of claim 4 , further comprising, prior to receiving the second token:
receiving a fifth request for the first token;
determining that a response to the second request has not been received by the first communication system; and
based at least in part on determining that the response has not been received, delaying sending, to the second communication system, a sixth request for the updated token.
6. The computer-implemented method of claim 5 , further comprising:
determining that the second request has expired; and
based at least in part on determining that the second request has expired, sending the sixth request to the second communication system.
7. The computer-implemented method of claim 6 , further comprising:
storing an indication of a time of sending the second request,
wherein determining that the second request has expired is based at least in part on the time of sending and a current time.
8. The computer-implemented method of claim 4 , further comprising:
determining a time of receipt of the first token,
wherein sending the second request is based at least in part on the time of receipt and a current time.
9. The computer-implemented method of claim 4 , further comprising:
determining that the first request includes of a name of the second communication system.
10. The computer-implemented method of claim 4 , further comprising:
determining a second user profile associated with the first device;
determining contact data associated with the second user profile; and
determining that an intended recipient of the first communication data is absent from the contact data.
11. The computer-implemented method of claim 4 , further comprising:
determining a second user profile associated with the first device;
determining, in the second user profile, first data associated with an intended recipient of the first communication data; and
determining that the first data indicates that the intended recipient prefers the second communication system.
12. A first system comprising:
at least one processor; and
at least one memory comprising instructions that, when executed by the at least one processor, cause the first system to:
receive, at a first communication system and from a second communication system, a first token associated with a first user profile associated with the second communication system and a second device, the first token being valid for a period of time during which a plurality of communication data can be sent from the first communication system to the second communication system;
receive, at the first communication system from a first device, a first request to send first communication data to the second device;
determine that the first request corresponds to the second communication system;
based at least in part on determining that the first request corresponds to the second communication system, send, to the second communication system, a second request for an updated token associated with the first user profile;
after sending the second request, receive a second token from the second communication system;
send, to the second communication system and using the second token, a third request for the first communication data to be sent to the second device;
receive, at the first communication system from the first device, a fourth request to send second communication data to the second device;
determine the second token is unexpired; and
send, to the second communication system, the second communication data and the second token.
13. The first system of claim 12 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the first system to:
receive a fifth request for the first token;
determine that a response to the second request has not been received by the first communication system; and
based at least in part on determining the response has not been received, delay sending, to the second communication system, a sixth request for the updated token.
14. The first system of claim 13 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the first system to:
determine that the second request has expired; and
based at least in part on determining that the second request has expired, send the sixth request to the second communication system.
15. The first system of claim 14 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the first system to:
store an indication of a time of sending the second request; and
determine the second request has expired based at least in part on the time of sending and a current time.
16. The first system of claim 12 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the first system to:
determine a time of receipt of the first token; and
send the second request based at least in part on the time of receipt and a current time.
17. The first system of claim 12 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the first system to:
determine that the first request includes a name of the second communication system.
18. The first system of claim 12 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the first system to:
determine a second user profile associated with the first device;
determine contact data associated with the second user profile; and
determine that an intended recipient of the first communication data is absent from the contact data.